From 47ccd833d9c1108a3722dc7b80804893c1e7250d Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Mon, 18 Dec 2023 14:17:14 +0100 Subject: [PATCH 001/327] ci: enable alpha mode for dev --- .changeset/pre.json | 11 +++++++++++ .github/workflows/continuous-deployment.yml | 1 + 2 files changed, 12 insertions(+) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..35b8a0ceb --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,11 @@ +{ + "mode": "pre", + "tag": "alpha", + "initialVersions": { + "@frontify/app-bridge": "3.0.0", + "@frontify/frontify-cli": "5.5.3", + "@frontify/guideline-blocks-settings": "0.29.16", + "@frontify/sidebar-settings": "0.8.1" + }, + "changesets": [] +} diff --git a/.github/workflows/continuous-deployment.yml b/.github/workflows/continuous-deployment.yml index f93e6443f..9d6fdf263 100644 --- a/.github/workflows/continuous-deployment.yml +++ b/.github/workflows/continuous-deployment.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - dev concurrency: ${{ github.workflow }}-${{ github.ref }} From 2a3dd829d3801745b752ba3bb54d69c9061b71e9 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 10 Jan 2024 11:13:36 +0100 Subject: [PATCH 002/327] chore: syncs main to dev (#675) * feat: add manifest verification for Platform Apps (#645) * chore: add method stub * chore: add manifest stub * feat: add platform-app manifest validator step * Create curvy-terms-watch.md * fix: formatting * fix: remove yup and add zod schema * Update .changeset/curvy-terms-watch.md Co-authored-by: Samuel Alev * chore: remove verify-manifest cli command * fix: manifest keys * fix: add check to restrict version to be a number * fix: restructure manifest readout and throw Error if not correct * fix: adjust casing and wording of manifest * Update packages/cli/src/utils/verifyManifest.ts Co-authored-by: Samuel Alev * Update packages/cli/src/utils/verifyManifest.ts Co-authored-by: Samuel Alev * Update packages/cli/src/utils/verifyManifest.ts Co-authored-by: Samuel Alev * chore: object destructure the manifest * chore: fix typo * chore: add z.enums instead string where applicable * chore: formatting * chore: remove useless refine and add cleaner objects --------- Co-authored-by: Samuel Alev * chore: release packages (#658) Co-authored-by: github-actions[bot] * feat: themes and template settings (#654) * themeAsset updates * types * typing * update tests * code smell fix * more code small * more code smell * fix test * typing fixes * updates * fix typing error * refactor: improve typing * style: linting --------- Co-authored-by: Mike Trummer * chore: add changeset for previous commit * chore: release packages (#660) Co-authored-by: github-actions[bot] * fix: fix links in readme (#661) * fix: platform app compiler (#664) * chore: adjust compiler * Create unlucky-mice-give.md * chore: release packages (#665) Co-authored-by: julianiff * revert: wrong release * chore: release packages (#667) Co-authored-by: github-actions[bot] * chore: fix css and js filename exchanged (#668) * chore: fix css and js filename exchanged * Create spicy-apricots-guess.md * chore: release packages (#669) Co-authored-by: github-actions[bot] * chore: add optional to assetAction (#670) * chore: add optional to assetAction * Create olive-goats-nail.md * chore: change naming to workspace (#673) * chore: change naming to workspace * Create small-kiwis-tap.md * chore: update platform app manifest (#674) * chore: update manfiest * Create gorgeous-baboons-run.md * Update .changeset/gorgeous-baboons-run.md Co-authored-by: Samuel Alev * lint: fixing --------- Co-authored-by: Samuel Alev * chore: release packages (#671) Co-authored-by: julianiff --------- Co-authored-by: Julian Iff Co-authored-by: Samuel Alev Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: Anxo Botana Co-authored-by: Mike Trummer Co-authored-by: Luca Hochreutener <34413733+hochreutenerl@users.noreply.github.com> --- README.md | 4 +- packages/app-bridge/CHANGELOG.md | 6 + packages/app-bridge/package.json | 2 +- packages/app-bridge/src/AppBridgeTheme.ts | 11 +- .../src/react/usePageTemplateSettings.spec.ts | 53 +++--- .../src/react/usePageTemplateSettings.ts | 12 +- .../src/react/useTemplateAssets.spec.ts | 3 +- .../app-bridge/src/react/useTemplateAssets.ts | 10 +- .../src/react/useThemeAssets.spec.ts | 40 +++-- .../app-bridge/src/react/useThemeAssets.ts | 39 +++-- .../src/react/useThemeSettings.spec.ts | 26 ++- .../app-bridge/src/react/useThemeSettings.ts | 11 +- .../src/tests/AppBridgeThemeStub.ts | 6 +- packages/app-bridge/src/types/Emitter.ts | 6 +- .../app-bridge/src/types/ThemeTemplate.ts | 3 + packages/app-bridge/src/types/index.ts | 1 + packages/cli/CHANGELOG.md | 28 +++ packages/cli/package.json | 5 +- packages/cli/src/commands/deploy.ts | 10 +- packages/cli/src/utils/compiler.ts | 8 +- packages/cli/src/utils/verifyManifest.ts | 83 +++++++++ .../platform-app-css-modules/manifest.json | 10 +- .../templates/platform-app-css/manifest.json | 10 +- .../platform-app-tailwind/manifest.json | 10 +- .../cli/tests/utils/verifyManifest.spec.ts | 139 +++++++++++++++ .../guideline-blocks-settings/CHANGELOG.md | 8 + .../guideline-blocks-settings/package.json | 2 +- packages/sidebar-settings/CHANGELOG.md | 7 + packages/sidebar-settings/package.json | 2 +- pnpm-lock.yaml | 162 ++++++++++++------ 30 files changed, 578 insertions(+), 139 deletions(-) create mode 100644 packages/app-bridge/src/types/ThemeTemplate.ts create mode 100644 packages/cli/src/utils/verifyManifest.ts create mode 100644 packages/cli/tests/utils/verifyManifest.spec.ts diff --git a/README.md b/README.md index 8836c324a..cdbc63ce7 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,13 @@ Brand SDK is a collection of tools and packages for building apps that integrate Frontify CLI allows developers to serve apps like Content Blocks in a local development environment. With the CLI, you can easily run and test your app without having to deploy it to Frontify's platform. The CLI also includes commands for building and deploying your app to Frontify's platform. -[More information](https://developer.frontify.com/d/XFPCrGNrXQQM/content-blocks#/details-concepts/frontify-cli) +[More information](https://developer.frontify.com/d/XFPCrGNrXQQM/content-blocks#/details-concepts-1/frontify-cli) ## App Bridge App Bridge is a SDK that allows developers to interact with Frontify and integrate their app with Frontify's platform. The SDK includes methods for making requests to the Frontify API, handling authentication, and managing app data. With App Bridge, developers can access Frontify's platform features and functionality within their own app, providing a seamless user experience for Frontify users. -[More information](https://developer.frontify.com/d/XFPCrGNrXQQM/content-blocks#/details-concepts/content-blocks/introducing-the-app-bridge) +[More information](https://developer.frontify.com/d/XFPCrGNrXQQM/content-blocks#/details-concepts-1/content-blocks/introducing-the-app-bridge) ## TypeScript diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 55dd2374a..1efaae4ff 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 3.0.1 + +### Patch Changes + +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings + ## 3.0.0 ### Major Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index c679a32c3..61420993a 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "3.0.0", + "version": "3.0.1", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts index 043485e00..f1cf6065e 100644 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ b/packages/app-bridge/src/AppBridgeTheme.ts @@ -52,6 +52,7 @@ import type { GuidelineSearchResult, Language, TargetsUpdate, + ThemeTemplate, } from './types'; export type ThemeApiMethod = ApiMethodNameValidator>; @@ -146,11 +147,15 @@ export interface AppBridgeTheme< deleteAssetIdsFromCoverPageTemplateAssetKey(key: string, assetIds: number[]): Promise; - addAssetIdsToThemeAssetKey(key: string, assetIds: number[]): Promise>; + addAssetIdsToThemeAssetKey( + key: string, + assetIds: number[], + template: ThemeTemplate, + ): Promise>; - getThemeAssets(): Promise>; + getThemeAssets(template: ThemeTemplate): Promise>; - deleteAssetIdsFromThemeAssetKey(key: string, assetIds: number[]): Promise; + deleteAssetIdsFromThemeAssetKey(key: string, assetIds: number[], template: ThemeTemplate): Promise; addAssetIdsToLibraryPageTemplateAssetKey( documentId: number, diff --git a/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts b/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts index 43ed70150..da46084f3 100644 --- a/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts +++ b/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @@ -4,11 +4,16 @@ import { cleanup, renderHook, waitFor } from '@testing-library/react'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { getAppBridgeThemeStub } from '../tests'; import { usePageTemplateSettings } from './usePageTemplateSettings'; +import type { ThemeTemplate } from '../types'; const DOCUMENT_ID = 3462; const THEME_SETTINGS = { - customThemeSetting: 123, - themeExclusiveSetting: 234, + documentPage: { + customThemeSetting: 123, + themeExclusiveSetting: 234, + }, + cover: {}, + library: {}, }; const PAGE_SETTINGS = { myCustomSetting: 123, @@ -38,7 +43,7 @@ describe('usePageTemplateSettings', () => { pageTemplateSettings: Record, template: Parameters[1], documentId?: Parameters[2], - themeSettings = {}, + themeSettings?: Record>, ) => { const appBridgeStub = getAppBridgeThemeStub({ pageTemplateSettings, @@ -171,7 +176,7 @@ describe('usePageTemplateSettings', () => { }); // Reset the object to avoid mutation in other tests - await result.current.updatePageTemplateSettings({ myCustomSetting: 123 }); + await result.current.updatePageTemplateSettings({ library: { myCustomSetting: 123 } }); }); it('logs an error when trying to update document or library page without a documentId', async () => { @@ -183,7 +188,7 @@ describe('usePageTemplateSettings', () => { expect(result.current.pageTemplateSettings).toEqual(null); }); - await result.current.updatePageTemplateSettings({ muCystomSetting: 456 }); + await result.current.updatePageTemplateSettings({ library: { muCystomSetting: 456 } }); expect(result.current.isLoading).toEqual(false); await waitFor(() => { @@ -198,17 +203,15 @@ describe('usePageTemplateSettings', () => { it('returns the page template settings merged with theme settings and the list of custom overrides', async () => { const { result } = await loadUsePageTemplateSettings( PAGE_SETTINGS_WITH_OVERRIDES, - 'cover', - undefined, + 'documentPage', + DOCUMENT_ID, THEME_SETTINGS, ); - expect(result.current.isLoading).toEqual(true); - await waitFor(() => { expect(result.current.isLoading).toEqual(false); expect(result.current.pageTemplateSettings).toEqual({ - ...THEME_SETTINGS, + ...THEME_SETTINGS.documentPage, ...PAGE_SETTINGS_WITH_OVERRIDES, }); expect(result.current.customizedPageTemplateSettingsKeys).toEqual(['customThemeSetting']); @@ -224,14 +227,18 @@ describe('usePageTemplateSettings', () => { expect(result.current.isLoading).toEqual(false); expect(result.current.pageTemplateSettings).toEqual({ ...PAGE_SETTINGS, - ...THEME_SETTINGS, + ...THEME_SETTINGS.cover, }); expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); }); }); it('returns an empty object if no theme settins and no page template settings', async () => { - const { result } = await loadUsePageTemplateSettings({}, 'cover', undefined, {}); + const { result } = await loadUsePageTemplateSettings({}, 'cover', undefined, { + documentPage: {}, + cover: {}, + library: {}, + }); expect(result.current.isLoading).toEqual(true); @@ -249,13 +256,17 @@ describe('usePageTemplateSettings', () => { await waitFor(() => { expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(THEME_SETTINGS); + expect(result.current.pageTemplateSettings).toEqual(THEME_SETTINGS.cover); expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); }); }); it('returns only the page template settings if no theme settings', async () => { - const { result } = await loadUsePageTemplateSettings(PAGE_SETTINGS, 'cover', undefined, {}); + const { result } = await loadUsePageTemplateSettings(PAGE_SETTINGS, 'cover', undefined, { + documentPage: {}, + cover: {}, + library: {}, + }); expect(result.current.isLoading).toEqual(true); @@ -269,8 +280,8 @@ describe('usePageTemplateSettings', () => { it('returns theme setting value if page template override is null', async () => { const { result } = await loadUsePageTemplateSettings( PAGE_SETTINGS_WITH_NULL_OVERRIDES, - 'cover', - undefined, + 'documentPage', + DOCUMENT_ID, THEME_SETTINGS, ); @@ -280,7 +291,7 @@ describe('usePageTemplateSettings', () => { expect(result.current.isLoading).toEqual(false); expect(result.current.pageTemplateSettings).toEqual({ ...PAGE_SETTINGS, - ...THEME_SETTINGS, + ...THEME_SETTINGS.documentPage, }); expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); }); @@ -289,8 +300,8 @@ describe('usePageTemplateSettings', () => { it('returns the theme setting if the override is deleted (reset) from page template settings', async () => { const { result } = await loadUsePageTemplateSettings( PAGE_SETTINGS_WITH_OVERRIDES, - 'cover', - undefined, + 'documentPage', + DOCUMENT_ID, THEME_SETTINGS, ); @@ -299,7 +310,7 @@ describe('usePageTemplateSettings', () => { await waitFor(() => { expect(result.current.isLoading).toEqual(false); expect(result.current.pageTemplateSettings).toEqual({ - ...THEME_SETTINGS, + ...THEME_SETTINGS.documentPage, ...PAGE_SETTINGS_WITH_OVERRIDES, }); }); @@ -311,7 +322,7 @@ describe('usePageTemplateSettings', () => { expect(result.current.isLoading).toEqual(false); expect(result.current.pageTemplateSettings).toEqual({ ...PAGE_SETTINGS, - ...THEME_SETTINGS, + ...THEME_SETTINGS.documentPage, }); expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); }); diff --git a/packages/app-bridge/src/react/usePageTemplateSettings.ts b/packages/app-bridge/src/react/usePageTemplateSettings.ts index b944f965d..8406b811a 100644 --- a/packages/app-bridge/src/react/usePageTemplateSettings.ts +++ b/packages/app-bridge/src/react/usePageTemplateSettings.ts @@ -3,15 +3,16 @@ import { useEffect, useState } from 'react'; import type { AppBridgeTheme } from '../AppBridgeTheme'; -import type { EmitterEvents } from '../types'; +import type { EmitterEvents, ThemeTemplate } from '../types'; import { useThemeSettings } from './'; export const usePageTemplateSettings = >( appBridge: AppBridgeTheme, - template: 'cover' | 'documentPage' | 'library', + template: ThemeTemplate, documentOrDocumentPageId?: number, ) => { const { themeSettings } = useThemeSettings(appBridge); + const templateThemeSettings = themeSettings?.[template] ?? {}; const [pageTemplateSettings, setPageTemplateSettings] = useState>(null); const [isLoading, setIsLoading] = useState(false); const [customizedPageTemplateSettingsKeys, setCustomizedPageTemplateSettingsKeys] = useState([]); @@ -56,21 +57,22 @@ export const usePageTemplateSettings = { - if (!themeSettings || !pageTemplateSettings) { + if (!templateThemeSettings || !pageTemplateSettings) { return; } const overrides = []; const mergedSettings: Record & TPageTemplateSettings = { ...pageTemplateSettings }; - for (const field of Object.keys(themeSettings)) { + for (const field of Object.keys(templateThemeSettings)) { if ( (pageTemplateSettings as Record)[field] !== null && (pageTemplateSettings as Record)[field] !== undefined ) { overrides.push(field); } else { - (mergedSettings as Record)[field] = themeSettings[field]; + (mergedSettings as Record)[field] = + templateThemeSettings[field as keyof typeof templateThemeSettings]; } } diff --git a/packages/app-bridge/src/react/useTemplateAssets.spec.ts b/packages/app-bridge/src/react/useTemplateAssets.spec.ts index eda53477c..6834232cd 100644 --- a/packages/app-bridge/src/react/useTemplateAssets.spec.ts +++ b/packages/app-bridge/src/react/useTemplateAssets.spec.ts @@ -6,6 +6,7 @@ import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { AssetDummy, getAppBridgeThemeStub } from '../tests'; import { useTemplateAssets } from './useTemplateAssets'; +import { ThemeTemplate } from '..'; const DOCUMENT_ID = 16; const DOCUMENT_PAGE_ID = 568; @@ -34,7 +35,7 @@ describe('useTemplateAssets hook', () => { }); const loadUseTemplateAssets = async ( - template: 'documentPage' | 'library' | 'cover', + template: ThemeTemplate, existingTemplateAssets = [AssetDummy.with(1)], existingThemeAssets = {}, returnEmptyTemplateAssets = false, diff --git a/packages/app-bridge/src/react/useTemplateAssets.ts b/packages/app-bridge/src/react/useTemplateAssets.ts index dc3eb734d..54cab728b 100644 --- a/packages/app-bridge/src/react/useTemplateAssets.ts +++ b/packages/app-bridge/src/react/useTemplateAssets.ts @@ -3,13 +3,13 @@ import { useEffect, useState } from 'react'; import type { AppBridgeTheme } from '../AppBridgeTheme'; -import type { Asset } from '../types'; +import type { Asset, ThemeTemplate } from '../types'; import { compareObjects } from '../utilities'; import { useThemeAssets } from './'; type HookArgs = { appBridge: AppBridgeTheme; - template?: 'documentPage' | 'library' | 'cover'; + template?: ThemeTemplate; documentId?: number; documentPageId?: number; }; @@ -61,12 +61,12 @@ const deleteAssetIdsFromTemplateAssetKey = async ( export const useTemplateAssets = ( appBridge: AppBridgeTheme, - template?: 'documentPage' | 'library' | 'cover', + template: ThemeTemplate, documentId?: number, documentPageId?: number, ) => { const [templateAssets, setTemplateAssets] = useState>({}); - const { themeAssets } = useThemeAssets(appBridge); + const { themeAssets } = useThemeAssets(appBridge, template); const [customizedTemplateAssetsKeys, setCustomizedTemplateAssetsKeys] = useState([]); const [mergedThemeAndTemplateAssets, setMergedThemeAndTemplateAssets] = useState>({}); @@ -76,7 +76,7 @@ export const useTemplateAssets = ( let componentMounted = true; const updateTemplateAssetsFromEvent = (event: { - template?: 'documentPage' | 'library' | 'cover'; + template: ThemeTemplate; documentId?: number; documentPageId?: number; templateAssets: Record; diff --git a/packages/app-bridge/src/react/useThemeAssets.spec.ts b/packages/app-bridge/src/react/useThemeAssets.spec.ts index 8aa01d257..96f6203bb 100644 --- a/packages/app-bridge/src/react/useThemeAssets.spec.ts +++ b/packages/app-bridge/src/react/useThemeAssets.spec.ts @@ -6,6 +6,9 @@ import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { AssetDummy, getAppBridgeThemeStub } from '../tests'; import { useThemeAssets } from './useThemeAssets'; +import { Asset, ThemeTemplate } from '..'; + +const DOCUMENT_PAGE_TEMPLATE = 'documentPage'; describe('useThemeAssets hook', () => { beforeEach(() => { @@ -18,13 +21,13 @@ describe('useThemeAssets hook', () => { cleanup(); }); - const loadUseThemeAssets = async (existingAssets = [AssetDummy.with(1)], keyName = 'key') => { + const loadUseThemeAssets = async (existingAssets: Asset[] | any, template: ThemeTemplate, keyName: string) => { const asset = AssetDummy.with(1); const appBridgeStub = getAppBridgeThemeStub({ themeAssets: { [keyName]: existingAssets }, }); - const { result, rerender } = renderHook(() => useThemeAssets(appBridgeStub)); + const { result, rerender } = renderHook(() => useThemeAssets(appBridgeStub, template)); await act(async () => { rerender(); @@ -34,21 +37,27 @@ describe('useThemeAssets hook', () => { }; it('should delete an asset', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets([]); + const { result, appBridgeStub } = await loadUseThemeAssets([], DOCUMENT_PAGE_TEMPLATE, 'key'); await act(async () => { await result.current.deleteAssetIdsFromKey('key', [1]); }); const call = appBridgeStub.deleteAssetIdsFromThemeAssetKey.getCall(0); + await waitFor(() => { expect(call.firstArg).toEqual('key'); - expect(call.lastArg).toEqual([1]); + expect(call.args[1]).toEqual([1]); + expect(call.lastArg).toEqual(DOCUMENT_PAGE_TEMPLATE); expect(result.current.themeAssets).toStrictEqual({ key: [] }); }); }); it('should sort assets', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets([AssetDummy.with(1), AssetDummy.with(2)]); + const { result, appBridgeStub } = await loadUseThemeAssets( + [AssetDummy.with(1), AssetDummy.with(2)], + DOCUMENT_PAGE_TEMPLATE, + 'key', + ); await act(async () => { await result.current.updateAssetIdsFromKey('key', [2, 1]); @@ -59,9 +68,9 @@ describe('useThemeAssets hook', () => { await waitFor(async () => { expect(deleteCall.firstArg).toEqual('key'); - expect(deleteCall.lastArg).toEqual([1, 2]); + expect(deleteCall.args[1]).toEqual([1, 2]); expect(addCall.firstArg).toEqual('key'); - expect(addCall.lastArg).toEqual([2, 1]); + expect(addCall.args[1]).toEqual([2, 1]); expect(result.current.themeAssets['key'].map((asset) => asset.id)).toEqual([2, 1]); }); }); @@ -69,6 +78,7 @@ describe('useThemeAssets hook', () => { it('should delete nothing if key does not exist', async () => { const { result, appBridgeStub } = await loadUseThemeAssets( [AssetDummy.with(1), AssetDummy.with(2)], + DOCUMENT_PAGE_TEMPLATE, 'non-existing-key', ); @@ -80,12 +90,16 @@ describe('useThemeAssets hook', () => { await waitFor(async () => { expect(deleteCall.firstArg).toEqual('key'); - expect(deleteCall.lastArg).toEqual([]); + expect(deleteCall.args[1]).toEqual([]); }); }); it('should not sort assets if api call throws error', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets([AssetDummy.with(1), AssetDummy.with(2)]); + const { result, appBridgeStub } = await loadUseThemeAssets( + [AssetDummy.with(1), AssetDummy.with(2)], + DOCUMENT_PAGE_TEMPLATE, + 'key', + ); (appBridgeStub.deleteAssetIdsFromThemeAssetKey as unknown as Mock) = vi .fn() .mockRejectedValue('Unsuccessful API call'); @@ -102,7 +116,7 @@ describe('useThemeAssets hook', () => { }); it('should notify about updated assets on delete', async () => { - const { result, asset } = await loadUseThemeAssets(); + const { result, asset } = await loadUseThemeAssets([AssetDummy.with(1)], DOCUMENT_PAGE_TEMPLATE, 'key'); await act(async () => { await result.current.deleteAssetIdsFromKey('key', [1]); @@ -118,7 +132,7 @@ describe('useThemeAssets hook', () => { }); it('should add asset ids', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets(); + const { result, appBridgeStub } = await loadUseThemeAssets([AssetDummy.with(1)], DOCUMENT_PAGE_TEMPLATE, 'key'); await act(async () => { await result.current.addAssetIdsToKey('key', [2]); }); @@ -126,13 +140,13 @@ describe('useThemeAssets hook', () => { const call = appBridgeStub.addAssetIdsToThemeAssetKey.getCall(0); await waitFor(() => { expect(call.firstArg).toEqual('key'); - expect(call.lastArg).toEqual([2]); + expect(call.args[1]).toEqual([2]); expect(result.current.themeAssets['key'].map(({ id }) => id)).toEqual([1, 2]); }); }); it('should notify about updated assets on add asset ids to key', async () => { - const { result, asset } = await loadUseThemeAssets(); + const { result, asset } = await loadUseThemeAssets([AssetDummy.with(1)], DOCUMENT_PAGE_TEMPLATE, 'key'); const assetToAdd = AssetDummy.with(2); await act(async () => { await result.current.addAssetIdsToKey('key', [assetToAdd.id]); diff --git a/packages/app-bridge/src/react/useThemeAssets.ts b/packages/app-bridge/src/react/useThemeAssets.ts index f880e8ffa..e71786609 100644 --- a/packages/app-bridge/src/react/useThemeAssets.ts +++ b/packages/app-bridge/src/react/useThemeAssets.ts @@ -3,34 +3,44 @@ import { useEffect, useState } from 'react'; import type { AppBridgeTheme } from '../AppBridgeTheme'; -import type { Asset } from '../types'; +import type { Asset, ThemeTemplate } from '../types'; import { compareObjects } from '../utilities'; -export const useThemeAssets = (appBridge: AppBridgeTheme) => { +export const useThemeAssets = (appBridge: AppBridgeTheme, template?: ThemeTemplate) => { const portalId = appBridge.getPortalId(); const [themeAssets, setThemeAssets] = useState>({}); const updateThemeAssetsFromEvent = (event: { + template?: ThemeTemplate; portalId: number; themeAssets: Record; prevThemeAssets: Record; }) => { - if (event.portalId === portalId && !compareObjects(event.themeAssets, event.prevThemeAssets)) { + if ( + template && + event.template === template && + event.portalId === portalId && + !compareObjects(event.themeAssets, event.prevThemeAssets) + ) { setThemeAssets(event.themeAssets); } }; const getThemeAssets = async (): Promise> => { - return await appBridge.getThemeAssets(); + return template ? await appBridge.getThemeAssets(template) : Promise.resolve({}); }; const addAssetIdsToThemeAssetKey = async (key: string, assetIds: number[]): Promise => { - await appBridge.addAssetIdsToThemeAssetKey(key, assetIds); + if (template) { + await appBridge.addAssetIdsToThemeAssetKey(key, assetIds, template); + } }; const deleteAssetIdsFromThemeAssetKey = async (key: string, assetIds: number[]): Promise => { - await appBridge.deleteAssetIdsFromThemeAssetKey(key, assetIds); + if (template) { + await appBridge.deleteAssetIdsFromThemeAssetKey(key, assetIds, template); + } }; // Fetch the theme assets on mount. @@ -40,9 +50,9 @@ export const useThemeAssets = (appBridge: AppBridgeTheme) => { if (portalId) { const mountingFetch = async () => { - const allThemeAssets = await getThemeAssets(); + const allThemeAssets = template ? await getThemeAssets() : {}; - if (componentMounted) { + if (componentMounted && template) { setThemeAssets(allThemeAssets); } }; @@ -58,11 +68,14 @@ export const useThemeAssets = (appBridge: AppBridgeTheme) => { }, [appBridge]); const emitUpdatedThemeAssets = async () => { - window.emitter.emit('AppBridge:ThemeAssetsUpdated', { - portalId, - themeAssets: await getThemeAssets(), - prevThemeAssets: { ...themeAssets }, - }); + if (template) { + window.emitter.emit('AppBridge:ThemeAssetsUpdated', { + portalId, + themeAssets: await getThemeAssets(), + prevThemeAssets: { ...themeAssets }, + template, + }); + } }; const updateAssetIdsFromKey = async (key: string, newAssetIds: number[]) => { diff --git a/packages/app-bridge/src/react/useThemeSettings.spec.ts b/packages/app-bridge/src/react/useThemeSettings.spec.ts index c86c30287..dd8cf7cb6 100644 --- a/packages/app-bridge/src/react/useThemeSettings.spec.ts +++ b/packages/app-bridge/src/react/useThemeSettings.spec.ts @@ -5,9 +5,15 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { getAppBridgeThemeStub } from '../tests'; import { useThemeSettings } from './useThemeSettings'; import { SinonStub } from 'sinon'; +import type { ThemeTemplate } from '../types'; const THEME_SETTINGS = { - myCustomSetting: 123, + cover: { + coverSettingOne: 'value one', + coverSettingTwo: 'value two', + }, + documentPage: {}, + library: {}, }; describe('useThemeSettings', () => { @@ -21,7 +27,7 @@ describe('useThemeSettings', () => { cleanup(); }); - const loadUseThemeSettings = async (themeSettings: Record) => { + const loadUseThemeSettings = async (themeSettings: Record>) => { const appBridgeStub = getAppBridgeThemeStub({ themeSettings, }); @@ -51,16 +57,26 @@ describe('useThemeSettings', () => { expect(result.current.themeSettings).toEqual(THEME_SETTINGS); }); - await result.current.updateThemeSettings({ myCustomSetting: 456 }); + await result.current.updateThemeSettings({ + cover: { coverSettingTwo: 'value two - updated' }, + }); expect(result.current.isLoading).toEqual(false); const emitCall = (window.emitter.emit as SinonStub).getCall(0); await waitFor(() => { expect(result.current.isLoading).toEqual(false); - expect(result.current.themeSettings).toEqual({ ...THEME_SETTINGS, myCustomSetting: 456 }); + expect(result.current.themeSettings).toEqual({ + cover: { coverSettingOne: 'value one', coverSettingTwo: 'value two - updated' }, + documentPage: {}, + library: {}, + }); expect(emitCall.firstArg).toEqual('AppBridge:ThemeSettingsUpdated'); - expect(emitCall.lastArg.themeSettings).toStrictEqual({ ...THEME_SETTINGS, myCustomSetting: 456 }); + expect(emitCall.lastArg.themeSettings).toStrictEqual({ + cover: { coverSettingOne: 'value one', coverSettingTwo: 'value two - updated' }, + documentPage: {}, + library: {}, + }); }); }); }); diff --git a/packages/app-bridge/src/react/useThemeSettings.ts b/packages/app-bridge/src/react/useThemeSettings.ts index c0f78d564..f765dc119 100644 --- a/packages/app-bridge/src/react/useThemeSettings.ts +++ b/packages/app-bridge/src/react/useThemeSettings.ts @@ -3,9 +3,11 @@ import { useEffect, useState } from 'react'; import type { AppBridgeTheme } from '../AppBridgeTheme'; -import type { EmitterEvents } from '../types'; +import type { EmitterEvents, ThemeTemplate } from '../types'; -export const useThemeSettings = >(appBridge: AppBridgeTheme) => { +export const useThemeSettings = >>( + appBridge: AppBridgeTheme, +) => { const [themeSettings, setThemeSettings] = useState>(null); const [isLoading, setIsLoading] = useState(true); @@ -38,8 +40,9 @@ export const useThemeSettings = >(appBridge: AppBrid window.emitter.emit('AppBridge:ThemeSettingsUpdated', { themeSettings: { - ...themeSettings, - ...themeSettingsUpdate, + cover: { ...themeSettings?.cover, ...themeSettingsUpdate.cover }, + library: { ...themeSettings?.library, ...themeSettingsUpdate.library }, + documentPage: { ...themeSettings?.documentPage, ...themeSettingsUpdate.documentPage }, }, }); } catch (error) { diff --git a/packages/app-bridge/src/tests/AppBridgeThemeStub.ts b/packages/app-bridge/src/tests/AppBridgeThemeStub.ts index aa0e3d92a..a05d23270 100644 --- a/packages/app-bridge/src/tests/AppBridgeThemeStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeThemeStub.ts @@ -24,7 +24,7 @@ import { UpdateTargetsDummy, } from '.'; import { GuidelineSearchResultDummy } from './GuidelineSearchResultDummy'; -import { Asset } from '../types'; +import type { Asset, ThemeTemplate } from '../types'; const BRAND_ID = 234551; const PROJECT_ID = 3452; @@ -66,7 +66,7 @@ export type getAppBridgeThemeStubProps = { projectId?: number; pageTemplateSettings?: Record; pageTemplateAssets?: Record; - themeSettings?: Record; + themeSettings?: Record>; themeAssets?: Record; language?: string; openAssetChooser?: (callback: Parameters[0]) => void; @@ -80,7 +80,7 @@ export const getAppBridgeThemeStub = ({ projectId = PROJECT_ID, pageTemplateSettings = {}, pageTemplateAssets = {}, - themeSettings = {}, + themeSettings = { cover: {}, documentPage: {}, library: {} }, themeAssets = {}, language = 'en', openAssetChooser = () => null, diff --git a/packages/app-bridge/src/types/Emitter.ts b/packages/app-bridge/src/types/Emitter.ts index 9ea8102ca..8f9c6f2ed 100644 --- a/packages/app-bridge/src/types/Emitter.ts +++ b/packages/app-bridge/src/types/Emitter.ts @@ -13,12 +13,13 @@ import type { DocumentCategory } from './DocumentCategory'; import type { BrandportalLink } from './BrandportalLink'; import type { PrivacySettings } from './PrivacySettings'; import type { Template } from './Template'; +import type { ThemeTemplate } from './ThemeTemplate'; export type EmitterAction = 'add' | 'update' | 'delete'; export type EmitterEvents = { 'AppBridge:PageTemplateSettingsUpdated': { pageTemplateSettings: Record }; - 'AppBridge:ThemeSettingsUpdated': { themeSettings: Record }; + 'AppBridge:ThemeSettingsUpdated': { themeSettings: Record> }; 'AppBridge:BlockSettingsUpdated': BlockSettingsUpdateEvent; 'AppBridge:BlockAssetsUpdated': { @@ -28,7 +29,7 @@ export type EmitterEvents = { }; 'AppBridge:TemplateAssetsUpdated': { - template?: 'documentPage' | 'library' | 'cover'; + template: ThemeTemplate; documentId?: number; documentPageId?: number; templateAssets: Record; @@ -39,6 +40,7 @@ export type EmitterEvents = { portalId: number; themeAssets: Record; prevThemeAssets: Record; + template: ThemeTemplate; }; 'AppBridge:BlockTemplatesUpdated': { diff --git a/packages/app-bridge/src/types/ThemeTemplate.ts b/packages/app-bridge/src/types/ThemeTemplate.ts new file mode 100644 index 000000000..1b3df14e9 --- /dev/null +++ b/packages/app-bridge/src/types/ThemeTemplate.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type ThemeTemplate = 'documentPage' | 'cover' | 'library'; diff --git a/packages/app-bridge/src/types/index.ts b/packages/app-bridge/src/types/index.ts index dc3ea9c1a..a97fab531 100644 --- a/packages/app-bridge/src/types/index.ts +++ b/packages/app-bridge/src/types/index.ts @@ -33,5 +33,6 @@ export * from './Targets'; export * from './TemplateLegacy'; export * from './Template'; export * from './Terrific'; +export * from './ThemeTemplate'; export * from './Topic'; export * from './User'; diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index b4fd0ff29..d82b1c0c3 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,33 @@ # @frontify/frontify-cli +## 5.5.7 + +### Patch Changes + +- [#674](https://github.com/Frontify/brand-sdk/pull/674) [`d7385ea`](https://github.com/Frontify/brand-sdk/commit/d7385ea6ff2c034e47b5d9727eae73600522bb2f) Thanks [@julianiff](https://github.com/julianiff)! - chore: update manifest + +- [#670](https://github.com/Frontify/brand-sdk/pull/670) [`f28dd67`](https://github.com/Frontify/brand-sdk/commit/f28dd67dd2d5058a10e8420252ba213a1d3d62cd) Thanks [@julianiff](https://github.com/julianiff)! - chore: add optional to assetAction + +- [#673](https://github.com/Frontify/brand-sdk/pull/673) [`1bd6524`](https://github.com/Frontify/brand-sdk/commit/1bd6524a9b7b9021d1173c16f984c7944a628867) Thanks [@julianiff](https://github.com/julianiff)! - chore: change naming to workspace + +## 5.5.6 + +### Patch Changes + +- [#668](https://github.com/Frontify/brand-sdk/pull/668) [`e8bf308`](https://github.com/Frontify/brand-sdk/commit/e8bf308262124356a0d13b8bf251fb208de7f19f) Thanks [@julianiff](https://github.com/julianiff)! - chore: fix css and js filename exchanged + +## 5.5.5 + +### Patch Changes + +- [#664](https://github.com/Frontify/brand-sdk/pull/664) [`5cf77ee`](https://github.com/Frontify/brand-sdk/commit/5cf77eefad4fceea1baed23cd5750c4d95fd91cc) Thanks [@julianiff](https://github.com/julianiff)! - fix: platform app compiler + +## 5.5.4 + +### Patch Changes + +- [#645](https://github.com/Frontify/brand-sdk/pull/645) [`0e34987`](https://github.com/Frontify/brand-sdk/commit/0e349871c67c8c5260c6456af1af2aec58ab6e2e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add manifest verification step + ## 5.5.3 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 5d162cc4e..28ce4e187 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "author": "Frontify Developers ", - "version": "5.5.3", + "version": "5.5.7", "bin": { "frontify-cli": "dist/index.mjs" }, @@ -44,7 +44,8 @@ "picocolors": "^1.0.0", "prompts": "^2.4.2", "vite": "^4.5.0", - "vite-plugin-externals": "^0.6.2" + "vite-plugin-externals": "^0.6.2", + "zod": "^3.22.4" }, "devDependencies": { "@frontify/eslint-config-typescript": "^0.16.2", diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 93b506140..c7c47df2c 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -17,6 +17,7 @@ import { readFileLinesAsArray, } from '../utils/index.js'; import { HttpClientError } from '../errors/HttpClientError.js'; +import { platformAppManifestSchemaV1, verifyManifest } from '../utils/verifyManifest.js'; type Options = { dryRun?: boolean; @@ -27,6 +28,9 @@ type Options = { export type AppManifest = { appId: string; appType?: string; + metadata?: { + version?: number; + }; }; const makeFilesDict = async (glob: string, ignoreGlobs?: string[]) => { @@ -66,7 +70,11 @@ export const createDeployment = async ( dryRun && Logger.info(pc.blue('Dry run: enabled')); const projectPath = process.cwd(); - const { appId } = reactiveJson(join(projectPath, 'manifest.json')); + const manifestContent = reactiveJson(join(projectPath, 'manifest.json')); + const { appId } = + manifestContent.appType === 'platform-app' + ? await verifyManifest(manifestContent, platformAppManifestSchemaV1) + : manifestContent; if (!noVerify) { Logger.info('Performing type checks...'); diff --git a/packages/cli/src/utils/compiler.ts b/packages/cli/src/utils/compiler.ts index 3b63489a6..2de64a8f6 100644 --- a/packages/cli/src/utils/compiler.ts +++ b/packages/cli/src/utils/compiler.ts @@ -57,18 +57,18 @@ export const compilePlatformApp = async ({ outputName, projectPath = '' }: Compi name: 'html-hash', enforce: 'post', transformIndexHtml(html, { bundle }) { - const indexJsSource = bundle?.['index.js'].type === 'asset' ? bundle?.['index.js'].source : null; + const indexJsSource = bundle?.['index.js'].type === 'chunk' ? bundle?.['index.js'].code : null; const indexCssSource = bundle?.['index.css'].type === 'asset' ? bundle?.['index.css'].source : null; - const cssFileName = `${outputName}.${getHash(indexJsSource)}.css`; - const jsFileName = `${outputName}.${getHash(indexCssSource)}.js`; + const cssFileName = `${outputName}.${getHash(indexCssSource)}.css`; + const jsFileName = `${outputName}.${getHash(indexJsSource)}.js`; html = html.replace('index.css', cssFileName).replace('index.js', jsFileName); return html; }, generateBundle(_options, bundle) { const indexHtmlSource = bundle?.['index.html'].type === 'asset' ? bundle?.['index.html'].source : null; - const indexJsSource = bundle?.['index.js'].type === 'asset' ? bundle?.['index.js'].source : null; + const indexJsSource = bundle?.['index.js'].type === 'chunk' ? bundle?.['index.js'].code : null; const indexCssSource = bundle?.['index.css'].type === 'asset' ? bundle?.['index.css'].source : null; bundle['index.html'].fileName = `${outputName}.${getHash(indexHtmlSource)}.html`; diff --git a/packages/cli/src/utils/verifyManifest.ts b/packages/cli/src/utils/verifyManifest.ts new file mode 100644 index 000000000..78f75b332 --- /dev/null +++ b/packages/cli/src/utils/verifyManifest.ts @@ -0,0 +1,83 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { array, number, object, string, z } from 'zod'; + +const forbiddenExtensions = ['exe', 'dmg', 'cmd', 'sh', 'bat']; +const getForbiddenExtensionsErrorMessage = (surfaceName: string) => + `Invalid file extension, \`${surfaceName}.filenameExtension\` can not include "${forbiddenExtensions}".`; + +const assetCreationShape = object({}).optional(); + +const completeAssetType = z.enum(['audio', 'document', 'image', 'video', 'file', 'embeddedContent']); +const imageAssetType = completeAssetType.exclude(['audio', 'document', 'video', 'file', 'embeddedContent']); + +const iconLibraryFilenameExtension = z.enum(['svg']); +const logoLibraryFilenameExtension = z.enum(['svg', 'jpg', 'jpeg', 'ai', 'eps', 'png', 'tif', 'tiff']); + +const appType = z.enum(['content-block', 'platform-app', 'theme']); +export const platformAppManifestSchemaV1 = object({ + appId: string().length(25), + appType, + surfaces: object({ + mediaLibrary: object({ + assetAction: object({ + type: array(completeAssetType), + filenameExtension: array( + string().refine((value) => !forbiddenExtensions.includes(value), { + message: getForbiddenExtensionsErrorMessage('mediaLibrary'), + }), + ), + }).optional(), + assetCreation: assetCreationShape, + }).optional(), + iconLibrary: object({ + assetAction: object({ + type: array(imageAssetType), + filenameExtension: array(iconLibraryFilenameExtension), + }).optional(), + assetCreation: assetCreationShape, + }).optional(), + logoLibrary: object({ + assetAction: object({ + type: array(imageAssetType), + filenameExtension: array(logoLibraryFilenameExtension), + }).optional(), + assetCreation: assetCreationShape, + }).optional(), + documentLibrary: object({ + assetAction: object({ + type: array(completeAssetType), + filenameExtension: array( + string().refine((value) => !forbiddenExtensions.includes(value), { + message: getForbiddenExtensionsErrorMessage('documentLibrary'), + }), + ), + }).optional(), + assetCreation: assetCreationShape, + }).optional(), + workspace: object({ + assetAction: object({ + type: array(completeAssetType), + filenameExtension: array( + string().refine((value) => !forbiddenExtensions.includes(value), { + message: getForbiddenExtensionsErrorMessage('workspaceProject'), + }), + ), + }).optional(), + assetCreation: assetCreationShape, + }).optional(), + }).optional(), + metadata: object({ + version: number().int(), + }), +}); + +export const verifyManifest = async (manifest: unknown, schema: typeof platformAppManifestSchemaV1) => { + const validatedManifest = schema.safeParse(manifest); + + if (!validatedManifest.success) { + throw new Error(validatedManifest.error.message); + } + + return validatedManifest.data; +}; diff --git a/packages/cli/templates/platform-app-css-modules/manifest.json b/packages/cli/templates/platform-app-css-modules/manifest.json index 984e21d08..c9ade0ff7 100644 --- a/packages/cli/templates/platform-app-css-modules/manifest.json +++ b/packages/cli/templates/platform-app-css-modules/manifest.json @@ -2,5 +2,13 @@ "appId": "", "appType": "platform-app", "name": "template-platform-app-css-module", - "entryPoint": [{ "type": "ASSET_CREATION" }, { "type": "ASSET_ACTION" }] + "surfaces": { + "mediaLibrary": { + "assetAction": { + "type": ["image"], + "filenameExtension": ["png", "jpeg"] + }, + "assetCreation": {} + } + } } diff --git a/packages/cli/templates/platform-app-css/manifest.json b/packages/cli/templates/platform-app-css/manifest.json index 8d7700247..b1444e156 100644 --- a/packages/cli/templates/platform-app-css/manifest.json +++ b/packages/cli/templates/platform-app-css/manifest.json @@ -2,5 +2,13 @@ "appId": "", "appType": "platform-app", "name": "template-platform-app-css", - "entryPoint": [{ "type": "ASSET_CREATION" }, { "type": "ASSET_ACTION" }] + "surfaces": { + "mediaLibrary": { + "assetAction": { + "type": ["image"], + "filenameExtension": ["png", "jpeg"] + }, + "assetCreation": {} + } + } } diff --git a/packages/cli/templates/platform-app-tailwind/manifest.json b/packages/cli/templates/platform-app-tailwind/manifest.json index 4a4c27337..63c748a2f 100644 --- a/packages/cli/templates/platform-app-tailwind/manifest.json +++ b/packages/cli/templates/platform-app-tailwind/manifest.json @@ -2,5 +2,13 @@ "appId": "", "appType": "platform-app", "name": "sample-name", - "entryPoint": [{ "type": "ASSET_CREATION" }, { "type": "ASSET_ACTION" }] + "surfaces": { + "mediaLibrary": { + "assetAction": { + "type": ["image"], + "filenameExtension": ["png", "jpeg"] + }, + "assetCreation": {} + } + } } diff --git a/packages/cli/tests/utils/verifyManifest.spec.ts b/packages/cli/tests/utils/verifyManifest.spec.ts new file mode 100644 index 000000000..fb25092af --- /dev/null +++ b/packages/cli/tests/utils/verifyManifest.spec.ts @@ -0,0 +1,139 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; +import { platformAppManifestSchemaV1, verifyManifest } from '../../src/utils/verifyManifest.js'; + +const VALID_MANIFEST = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + surfaces: { + mediaLibrary: { + assetAction: { + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: {}, + }, + }, + metadata: { + version: 1, + }, +}; + +const MANIFEST_WITH_SHORT_ID = { + appType: 'platform-app', + appId: 'tooShortId', + surfaces: { + mediaLibrary: { + assetAction: { + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: {}, + }, + }, + metadata: { + version: 1, + }, +}; + +const ICON_LIBRARY_MANIFEST = { + appType: 'platform-app', + appId: 'abcd', + surfaces: { + iconLibrary: { + assetAction: { + type: ['image'], + filenameExtension: ['png'], + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const LOGO_LIBRARY_MANIFEST = { + appType: 'platform-app', + appId: 'abcd', + surfaces: { + logoLibrary: { + assetAction: { + type: ['video'], + filenameExtension: ['exe'], + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const MEDIA_LIBRARY_FORBIDDEN_EXTENSIONS = { + appType: 'platform-app', + appId: 'abcd', + surfaces: { + mediaLibrary: { + assetAction: { + type: ['image'], + filenameExtension: ['exe'], + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const VERSION_NUMBER_IS_INTEGER_WITH_DECIMAL = { + appType: 'platform-app', + appId: 'abcd', + surfaces: { + mediaLibrary: { + assetAction: { + type: ['image'], + filenameExtension: ['png'], + }, + }, + }, + metadata: { + version: 1.1, + }, +}; + +describe('Verify Platform App Manifest', () => { + it('should validate a valid manifest', async () => { + const verifiedManifest = await verifyManifest(VALID_MANIFEST, platformAppManifestSchemaV1); + expect(!!verifiedManifest).toBe(true); + }); + + it('should throw error when wrong file extension is present in IconLibrary', async () => { + await expect( + async () => await verifyManifest(ICON_LIBRARY_MANIFEST, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when forbidden extensions are in the manifest', async () => { + await expect( + async () => await verifyManifest(MEDIA_LIBRARY_FORBIDDEN_EXTENSIONS, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when forbidden extensions are in the Logo Library manifest', async () => { + await expect( + async () => await verifyManifest(LOGO_LIBRARY_MANIFEST, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when version number is a float', async () => { + await expect( + async () => await verifyManifest(VERSION_NUMBER_IS_INTEGER_WITH_DECIMAL, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when appId is not of length 25', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_SHORT_ID, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); +}); diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 5a3739cb0..76ed4bbca 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,13 @@ # @frontify/guideline-blocks-settings +## 0.29.17 + +### Patch Changes + +- Updated dependencies [[`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7)]: + - @frontify/app-bridge@3.0.1 + - @frontify/sidebar-settings@0.8.2 + ## 0.29.16 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index a94a6415c..296db4e3b 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,6 +1,6 @@ { "name": "@frontify/guideline-blocks-settings", - "version": "0.29.16", + "version": "0.29.17", "description": "Provides types and helpers for the guideline block development", "sideEffects": false, "main": "dist/index.umd.js", diff --git a/packages/sidebar-settings/CHANGELOG.md b/packages/sidebar-settings/CHANGELOG.md index d0706cc54..a477f0cea 100644 --- a/packages/sidebar-settings/CHANGELOG.md +++ b/packages/sidebar-settings/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/sidebar-settings +## 0.8.2 + +### Patch Changes + +- Updated dependencies [[`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7)]: + - @frontify/app-bridge@3.0.1 + ## 0.8.1 ### Patch Changes diff --git a/packages/sidebar-settings/package.json b/packages/sidebar-settings/package.json index f4d36f670..e86a327b7 100644 --- a/packages/sidebar-settings/package.json +++ b/packages/sidebar-settings/package.json @@ -1,6 +1,6 @@ { "name": "@frontify/sidebar-settings", - "version": "0.8.1", + "version": "0.8.2", "description": "Provides types and helpers for the settings sidebar", "sideEffects": false, "main": "dist/index.umd.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 649f2f548..ea1239d1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -177,6 +177,9 @@ importers: vite-plugin-externals: specifier: ^0.6.2 version: 0.6.2(vite@4.5.0) + zod: + specifier: ^3.22.4 + version: 3.22.4 devDependencies: '@frontify/eslint-config-typescript': specifier: ^0.16.2 @@ -225,7 +228,7 @@ importers: version: 5.3.2 vitest: specifier: ^0.34.6 - version: 0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3) + version: 0.34.6(@vitest/ui@0.34.6) packages/guideline-blocks-settings: dependencies: @@ -451,22 +454,13 @@ packages: '@babel/traverse': 7.23.4 '@babel/types': 7.23.4 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/generator@7.22.15: - resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.17 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - /@babel/generator@7.23.4: resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} engines: {node: '>=6.9.0'} @@ -480,7 +474,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.17 + '@babel/types': 7.23.4 /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} @@ -496,17 +490,6 @@ packages: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} - engines: {node: '>=6.9.0'} - - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.22.17 - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -647,24 +630,24 @@ packages: '@babel/parser': 7.23.4 '@babel/types': 7.23.4 - /@babel/traverse@7.22.17(supports-color@5.5.0): - resolution: {integrity: sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==} + /@babel/traverse@7.23.4: + resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.22.15 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 - debug: 4.3.4(supports-color@5.5.0) + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/traverse@7.23.4: + /@babel/traverse@7.23.4(supports-color@5.5.0): resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} engines: {node: '>=6.9.0'} dependencies: @@ -1272,7 +1255,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 espree: 9.6.1 globals: 13.19.0 ignore: 5.2.4 @@ -1608,7 +1591,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3724,7 +3707,7 @@ packages: '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 eslint: 8.54.0 graphemer: 1.4.0 ignore: 5.2.4 @@ -3780,7 +3763,7 @@ packages: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 eslint: 8.54.0 typescript: 5.3.2 transitivePeerDependencies: @@ -3836,7 +3819,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 eslint: 8.54.0 ts-api-utils: 1.0.1(typescript@5.3.2) typescript: 5.3.2 @@ -3885,7 +3868,7 @@ packages: dependencies: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -6335,7 +6318,7 @@ packages: std-env: 3.3.3 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 - vitest: 0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3) + vitest: 0.34.6(@vitest/ui@0.34.6) transitivePeerDependencies: - supports-color dev: true @@ -6382,7 +6365,7 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3) + vitest: 0.34.6(@vitest/ui@0.34.6) dev: true /@vitest/utils@0.34.6: @@ -6815,7 +6798,7 @@ packages: resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} dependencies: archy: 1.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 fastq: 1.13.0 transitivePeerDependencies: - supports-color @@ -7503,6 +7486,17 @@ packages: supports-color: 8.1.1 dev: true + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + /debug@4.3.4(supports-color@5.5.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -8210,7 +8204,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 eslint: 8.54.0 lodash: 4.17.21 natural-compare: 1.4.0 @@ -8260,7 +8254,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -9508,7 +9502,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -10295,7 +10289,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -10531,7 +10525,7 @@ packages: resolution: {integrity: sha512-96yVFal0c/W1lG7mmfRe7eO+hovrhJYd2obzzOZ90f6fjpeU/XNvd9cYHZKZAQJumDfhXgoTpkpJ9pvMj+hqHw==} engines: {node: '>= 10.13'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: @@ -12200,7 +12194,7 @@ packages: react-is: '>= 16.8.0' dependencies: '@babel/helper-module-imports': 7.22.15 - '@babel/traverse': 7.22.17(supports-color@5.5.0) + '@babel/traverse': 7.23.4(supports-color@5.5.0) '@emotion/is-prop-valid': 1.2.0 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 @@ -12889,7 +12883,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4 mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 @@ -12989,6 +12983,72 @@ packages: optionalDependencies: fsevents: 2.3.2 + /vitest@0.34.6(@vitest/ui@0.34.6): + resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.5 + '@types/chai-subset': 1.3.3 + '@types/node': 18.18.11 + '@vitest/expect': 0.34.6 + '@vitest/runner': 0.34.6 + '@vitest/snapshot': 0.34.6 + '@vitest/spy': 0.34.6 + '@vitest/ui': 0.34.6(vitest@0.34.6) + '@vitest/utils': 0.34.6 + acorn: 8.10.0 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.1 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.3.3 + strip-literal: 1.0.1 + tinybench: 2.5.0 + tinypool: 0.7.0 + vite: 4.5.0(@types/node@18.18.11) + vite-node: 0.34.6(@types/node@18.18.11) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vitest@0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} @@ -13347,6 +13407,10 @@ packages: readable-stream: 3.6.0 dev: false + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false + /zustand@3.7.2(react@18.2.0): resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} engines: {node: '>=12.7.0'} From 830cf3df06a96028d1bd8e3e6328a4c15b2362c0 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Mon, 22 Jan 2024 15:31:30 +0100 Subject: [PATCH 003/327] feat: merge main to dev branch (#704) * feat: add manifest verification for Platform Apps (#645) * chore: add method stub * chore: add manifest stub * feat: add platform-app manifest validator step * Create curvy-terms-watch.md * fix: formatting * fix: remove yup and add zod schema * Update .changeset/curvy-terms-watch.md Co-authored-by: Samuel Alev * chore: remove verify-manifest cli command * fix: manifest keys * fix: add check to restrict version to be a number * fix: restructure manifest readout and throw Error if not correct * fix: adjust casing and wording of manifest * Update packages/cli/src/utils/verifyManifest.ts Co-authored-by: Samuel Alev * Update packages/cli/src/utils/verifyManifest.ts Co-authored-by: Samuel Alev * Update packages/cli/src/utils/verifyManifest.ts Co-authored-by: Samuel Alev * chore: object destructure the manifest * chore: fix typo * chore: add z.enums instead string where applicable * chore: formatting * chore: remove useless refine and add cleaner objects --------- Co-authored-by: Samuel Alev * chore: release packages (#658) Co-authored-by: github-actions[bot] * feat: themes and template settings (#654) * themeAsset updates * types * typing * update tests * code smell fix * more code small * more code smell * fix test * typing fixes * updates * fix typing error * refactor: improve typing * style: linting --------- Co-authored-by: Mike Trummer * chore: add changeset for previous commit * chore: release packages (#660) Co-authored-by: github-actions[bot] * fix: fix links in readme (#661) * fix: platform app compiler (#664) * chore: adjust compiler * Create unlucky-mice-give.md * chore: release packages (#665) Co-authored-by: julianiff * revert: wrong release * chore: release packages (#667) Co-authored-by: github-actions[bot] * chore: fix css and js filename exchanged (#668) * chore: fix css and js filename exchanged * Create spicy-apricots-guess.md * chore: release packages (#669) Co-authored-by: github-actions[bot] * chore: add optional to assetAction (#670) * chore: add optional to assetAction * Create olive-goats-nail.md * chore: change naming to workspace (#673) * chore: change naming to workspace * Create small-kiwis-tap.md * chore: update platform app manifest (#674) * chore: update manfiest * Create gorgeous-baboons-run.md * Update .changeset/gorgeous-baboons-run.md Co-authored-by: Samuel Alev * lint: fixing --------- Co-authored-by: Samuel Alev * chore: release packages (#671) Co-authored-by: julianiff * chore: update cli version of templates (#676) * chore: update version * Create giant-eels-fix.md * chore: add cypress videos and screenshots to .gitignore (#681) * feat: replace attachment download with tracked download (#679) * feat: replace attachment download with tracked download * add changeset * fix: download optional on AttachmentItem * improve syntax * chore: change download prop to onDownload * feat: update block toolbar to include attachments flyout (#672) * update toolbar with attachments flyout * rename prop to isEnabled * update classnames * move grouped elements into subfolder * update regular attachment button * remove bg base class * create tests for new function * fix toolbar * add changeset * update useAttachments * remove fc * add test for hoc * fix typeerror * fix issues * update changelog * fix minor issues * update naming of add method * update changelog * fix failing test * update string error description * fix: typeerror in toolbar (#683) * chore: release packages (#677) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] * ci: add linting and typecheck to guideline-blocks-settings (#685) * ci: add linting and typecheck to guideline-blocks-settings * add change in guideline block settings to check * add typeerror -> see fail * revert: changes so only ci * chore: remove usage of deprecated appBridgeBlock functions (#680) * chore: remove usage of deprecated appBridgeBlock functions * test: improve LegacyTemplateDummy import * test: improve LegacyTemplateDummy import * fix: add unsubscribe to assetChooser and templateChooser hook * ci: add unit test check guideline-blocks-settings (#690) * ci: add unit test check * fix: force line height in toolbar (#692) * force line-height in toolbar * add changeset * update changeset * update text * fix: export toolbar items (#691) * export index * add changeset * chore: release packages (#686) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] * feat(Attachments): temporarily disable sorting (#689) * feat(Attachments): temporarily disable sorting * chore: replace deprecated functions in attachments (#687) * chore: replace deprecated functions in attachments * fix: remove unused import * fix: add forced line height to button (#696) * add forced line height to button * correct changeset * chore: decouple sidebar-settings from app-bridge (#694) * chore: decouple sidebar-settings from app-bridge * fix: lockfile * add changeset * ci: add typecheck and remove app-bridge build * chore: bump fondue (#695) * chore: bump fondue * also bump outside of packages * chore: release packages (#693) Co-authored-by: github-actions[bot] * chore: codeowners file (#699) * chore: bump fondue (#697) * chore: bump fondue * Create mean-lizards-draw.md * Update mean-lizards-draw.md --------- Co-authored-by: Rafael Giezendanner * feat: move app-bridge to guideline-blocks-settings peerDependencies (#698) * chore: move app-bridge to peerDeps * ci: add test matrix * ci: build if workspace package * ci: add matrix on all guideline-blocks-test * fix: test for v3.0.0 * ci: add guideline-blocks-settings check to app-bridge * ci: improve pnpm cache * ci: replace set-output * test: rename hook in app-bridge to see them fail * revert: app-bridge change * add changeset * chore: update README.md * fix: typo in readme * Update .github/workflows/app-bridge-continuous-integration.yml Co-authored-by: Samuel Alev * ci: fix continous-deployment as it needs to add app-bridge to guideline-blocks-settings --------- Co-authored-by: Samuel Alev * fix: continuous-deployment ci (#702) * ci: add cache for app-bridge tests (#703) * ci: add cache for app-bridge tests * check: if it runs * revert: adjust for check * chore: release packages (#700) Co-authored-by: github-actions[bot] --------- Signed-off-by: Sam Creasey Co-authored-by: Julian Iff Co-authored-by: Samuel Alev Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: Anxo Botana Co-authored-by: Mike Trummer Co-authored-by: Luca Hochreutener <34413733+hochreutenerl@users.noreply.github.com> Co-authored-by: Sam Creasey Co-authored-by: Daniel Fulop --- .../app-bridge-continuous-integration.yml | 54 +++ .github/workflows/continuous-deployment.yml | 14 +- ...uideline-blocks-continuous-integration.yml | 89 ++++- .../typing-continuous-integration.yml | 7 +- .gitignore | 2 + CODEOWNERS | 181 +++++++++-- package.json | 2 +- packages/app-bridge/CHANGELOG.md | 6 + packages/app-bridge/package.json | 2 +- .../src/react/useAssetChooser.spec.tsx | 29 +- .../app-bridge/src/react/useAssetChooser.ts | 16 +- .../src/react/useAssetViewer.spec.tsx | 10 +- .../app-bridge/src/react/useAssetViewer.ts | 7 +- .../app-bridge/src/react/useBlockAssets.ts | 2 +- .../src/react/useBlockSettings.spec.tsx | 2 +- .../app-bridge/src/react/useBlockSettings.ts | 2 +- .../app-bridge/src/react/useBlockTemplates.ts | 2 +- .../app-bridge/src/react/useColorPalettes.ts | 2 +- packages/app-bridge/src/react/useColors.ts | 2 +- .../src/react/useReadyForPrint.spec.tsx | 13 +- .../app-bridge/src/react/useReadyForPrint.ts | 4 +- .../src/react/useTemplateChooser.spec.tsx | 27 +- .../src/react/useTemplateChooser.ts | 15 +- .../src/tests/AppBridgeBlockStub.ts | 51 ++- packages/cli/CHANGELOG.md | 6 + packages/cli/package.json | 2 +- .../content-block-css-modules/package.json | 2 +- .../templates/content-block-css/package.json | 2 +- .../content-block-tailwind/package.json | 2 +- .../platform-app-css-modules/package.json | 2 +- .../templates/platform-app-css/package.json | 2 +- .../platform-app-tailwind/package.json | 2 +- .../guideline-blocks-settings/CHANGELOG.md | 56 ++++ packages/guideline-blocks-settings/README.md | 14 + .../guideline-blocks-settings/package.json | 6 +- .../components/Attachments/AttachmentItem.tsx | 35 +- .../Attachments/Attachments.spec.ct.tsx | 35 +- .../components/Attachments/Attachments.tsx | 56 ++-- .../Attachments/AttachmentsButtonTrigger.tsx | 22 ++ .../src/components/Attachments/types.ts | 12 +- .../BlockItemWrapper/BlockItemWrapper.tsx | 43 +-- .../components/BlockItemWrapper/Toolbar.tsx | 133 -------- .../BlockItemWrapper/Toolbar/Toolbar.spec.tsx | 127 ++++++++ .../BlockItemWrapper/Toolbar/Toolbar.tsx | 133 ++++++++ .../Toolbar/ToolbarAttachments.tsx | 29 ++ .../Toolbar/ToolbarAttachmentsTrigger.tsx | 14 + .../Toolbar/ToolbarSegment.tsx | 9 + .../BlockItemWrapper/Toolbar/helpers.ts | 33 ++ .../BlockItemWrapper/Toolbar/index.ts | 4 + .../BlockItemWrapper/Toolbar/types.ts | 38 +++ .../src/components/BlockItemWrapper/index.ts | 1 + .../src/components/BlockItemWrapper/types.ts | 45 +-- ...hments.spec.ts => useAttachments.spec.tsx} | 59 +++- .../src/hooks/useAttachments.ts | 46 --- .../src/hooks/useAttachments.tsx | 95 ++++++ packages/sidebar-settings/CHANGELOG.md | 23 ++ packages/sidebar-settings/package.json | 5 +- packages/sidebar-settings/src/blocks/index.ts | 307 +++++++++++++++++- pnpm-lock.yaml | 173 ++-------- 59 files changed, 1561 insertions(+), 553 deletions(-) create mode 100644 packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx delete mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar.tsx create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarSegment.tsx create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts create mode 100644 packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts rename packages/guideline-blocks-settings/src/hooks/{useAttachments.spec.ts => useAttachments.spec.tsx} (59%) delete mode 100644 packages/guideline-blocks-settings/src/hooks/useAttachments.ts create mode 100644 packages/guideline-blocks-settings/src/hooks/useAttachments.tsx diff --git a/.github/workflows/app-bridge-continuous-integration.yml b/.github/workflows/app-bridge-continuous-integration.yml index 1ad90ed4e..34daafed8 100644 --- a/.github/workflows/app-bridge-continuous-integration.yml +++ b/.github/workflows/app-bridge-continuous-integration.yml @@ -56,3 +56,57 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: projectBaseDir: ./packages/app-bridge + + guideline-blocks-settings-ci: + name: Guideline Blocks Settings CI (for checking compatibility with app-bridge) + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout default branch + uses: actions/checkout@v4 + + - name: Use pnpm + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.NODE_VERSION }} + cache: "pnpm" + + - name: Get pnpm store directory + id: pnpm-cache + run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + + - name: Setup pnpm cache + uses: actions/cache@v3 + with: + path: | + ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + ~/.cache/Cypress + key: pnpm-with-cypress-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} + restore-keys: pnpm-with-cypress-${{ runner.os }}- + + - name: Install npm dependencies + run: pnpm i --frozen-lockfile + + - name: Build local deps + run: pnpm build:app-bridge && pnpm build:sidebar-settings + + - name: Add app-bridge dependency + run: pnpm add @frontify/app-bridge@workspace:^ --filter {packages/guideline-blocks-settings} + + - name: Typecheck code + run: pnpm --stream --filter {packages/guideline-blocks-settings} typecheck + + - name: Lint code + run: pnpm --stream --filter {packages/guideline-blocks-settings} lint + + - name: Unit Test code + run: pnpm --stream --filter {packages/guideline-blocks-settings} test + + - name: Component Tests + run: pnpm test:components diff --git a/.github/workflows/continuous-deployment.yml b/.github/workflows/continuous-deployment.yml index 9d6fdf263..87f526e3c 100644 --- a/.github/workflows/continuous-deployment.yml +++ b/.github/workflows/continuous-deployment.yml @@ -35,6 +35,9 @@ jobs: - name: Install npm dependencies run: pnpm i --frozen-lockfile + - name: Add app-bridge dependency for guideline-blocks-settings + run: pnpm add @frontify/app-bridge@workspace:^ --filter {packages/guideline-blocks-settings} + - name: Lint code run: pnpm lint @@ -63,6 +66,9 @@ jobs: - name: Build the packages run: pnpm build + - name: Add app-bridge dependency for guideline-blocks-settings + run: pnpm add @frontify/app-bridge@workspace:^ --filter {packages/guideline-blocks-settings} + - name: Typecheck code run: pnpm typecheck @@ -91,6 +97,9 @@ jobs: - name: Build the packages run: pnpm build + - name: Add app-bridge dependency for guideline-blocks-settings + run: pnpm add @frontify/app-bridge@workspace:^ --filter {packages/guideline-blocks-settings} + - name: Test code run: pnpm test @@ -115,7 +124,7 @@ jobs: - name: Get pnpm store directory id: pnpm-cache - run: echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - name: Setup pnpm cache uses: actions/cache@v3 @@ -132,6 +141,9 @@ jobs: - name: Build local dependencies run: pnpm build:app-bridge && pnpm build:sidebar-settings + - name: Add app-bridge dependency for guideline-blocks-settings + run: pnpm add @frontify/app-bridge@workspace:^ --filter {packages/guideline-blocks-settings} + - name: Component Tests run: pnpm test:components diff --git a/.github/workflows/guideline-blocks-continuous-integration.yml b/.github/workflows/guideline-blocks-continuous-integration.yml index 04e60b635..fe24015c7 100644 --- a/.github/workflows/guideline-blocks-continuous-integration.yml +++ b/.github/workflows/guideline-blocks-continuous-integration.yml @@ -17,6 +17,9 @@ env: jobs: lint-typecheck: runs-on: ubuntu-latest + strategy: + matrix: + app-bridge-version: ["3.0.0", "workspace:^"] timeout-minutes: 10 steps: @@ -40,13 +43,76 @@ jobs: run: pnpm i --frozen-lockfile - name: Build build:sidebar-settings - run: pnpm build:app-bridge && pnpm build:sidebar-settings + run: pnpm build:sidebar-settings - - name: Build package (+ typechecking) - run: pnpm build:guideline-blocks-settings + - name: Build @frontify/app-bridge (if workspace) + if: matrix.app-bridge-version == 'workspace:^' + run: pnpm build:app-bridge + + - name: Add app-bridge dependency + run: pnpm add @frontify/app-bridge@${{ matrix.app-bridge-version }} --filter {packages/guideline-blocks-settings} + + - name: Typecheck code + run: pnpm --stream --filter {packages/guideline-blocks-settings} typecheck + + - name: Lint code + run: pnpm --stream --filter {packages/guideline-blocks-settings} lint + + unit-tests: + runs-on: ubuntu-latest + strategy: + matrix: + app-bridge-version: ["3.0.0", "workspace:^"] + timeout-minutes: 10 + + steps: + - name: Checkout current commit + uses: actions/checkout@v4 + + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.NODE_VERSION }} + + - name: Use pnpm + uses: pnpm/action-setup@v2.4.0 + with: + version: latest + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + + - name: Setup pnpm cache + uses: actions/cache@v3 + with: + path: | + ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: pnpm-with-${{ matrix.app-bridge-version }}-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} + restore-keys: pnpm-with-${{ matrix.app-bridge-version }}-${{ runner.os }} + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build build:sidebar-settings + run: pnpm build:sidebar-settings + + - name: Build @frontify/app-bridge (if workspace) + if: matrix.app-bridge-version == 'workspace:^' + run: pnpm build:app-bridge + + - name: Add app-bridge dependency + run: pnpm add @frontify/app-bridge@${{ matrix.app-bridge-version }} --filter {packages/guideline-blocks-settings} + + - name: Unit Tests + run: pnpm --stream --filter {packages/guideline-blocks-settings} test component-tests: runs-on: ubuntu-latest + strategy: + matrix: + app-bridge-version: ["3.0.0", "workspace:^"] timeout-minutes: 10 steps: @@ -66,7 +132,7 @@ jobs: - name: Get pnpm store directory id: pnpm-cache - run: echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - name: Setup pnpm cache uses: actions/cache@v3 @@ -74,14 +140,21 @@ jobs: path: | ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} ~/.cache/Cypress - key: pnpm-with-cypress-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} - restore-keys: pnpm-with-cypress-${{ runner.os }}- + key: pnpm-with-cypress-${{ matrix.app-bridge-version }}-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} + restore-keys: pnpm-with-cypress-${{ matrix.app-bridge-version }}-${{ runner.os }} - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Build local dependencies - run: pnpm build:app-bridge && pnpm build:sidebar-settings + - name: Build build:sidebar-settings + run: pnpm build:sidebar-settings + + - name: Build @frontify/app-bridge (if workspace) + if: matrix.app-bridge-version == 'workspace:^' + run: pnpm build:app-bridge + + - name: Add app-bridge dependency + run: pnpm add @frontify/app-bridge@${{ matrix.app-bridge-version }} --filter {packages/guideline-blocks-settings} - name: Component Tests run: pnpm test:components diff --git a/.github/workflows/typing-continuous-integration.yml b/.github/workflows/typing-continuous-integration.yml index e191ee8d9..976d02959 100644 --- a/.github/workflows/typing-continuous-integration.yml +++ b/.github/workflows/typing-continuous-integration.yml @@ -40,11 +40,8 @@ jobs: - name: Install npm dependencies run: pnpm i --frozen-lockfile - - name: Build app-bridge - run: pnpm build:app-bridge - - name: Lint code run: pnpm --stream --filter {packages/sidebar-settings} lint - - name: Build package (+ typechecking) - run: pnpm build:sidebar-settings + - name: Typecheck code + run: pnpm --stream --filter {packages/sidebar-settings} typecheck diff --git a/.gitignore b/.gitignore index 4308e964f..1a533e4bf 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ coverage .DS_Store .idea .vscode +cypress/videos +cypress/screenshots diff --git a/CODEOWNERS b/CODEOWNERS index 5bde0c1ec..f8256cae3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,41 +1,158 @@ -* @Frontify/guidelines-navigation-themes -**/package.json -packages/cli/templates/**/package-lock.json -pnpm-lock.yaml - -# Specific paths - # App Bridge packages/app-bridge/src/types @Frontify/ecosystem -packages/app-bridge/src/react/useAssetChooser.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @SamuelAlev -packages/app-bridge/src/react/useAssetChooser.spec.tsx @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @SamuelAlev -packages/app-bridge/src/react/useAssetUpload.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @SamuelAlev -packages/app-bridge/src/react/useAssetViewer.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useAssetViewer.spec.tsx @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBlockAssets.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBlockAssets.spec.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBlockSettings.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBlockSettings.spec.tsx @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBlockTemplates.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBlockTemplates.spec.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBulkDownload.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useBulkDownload.spec.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useEditorState.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @SamuelAlev -packages/app-bridge/src/react/usePrivacySettings.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/usePrivacySettings.spec.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useReadyForPrint.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/react/useReadyForPrint.spec.tsx @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/AppBridgeBlock.ts @Frontify/guidelines-one @SamuelAlev -packages/app-bridge/src/AppBridgePlatformApp.ts @Frontify/integration -packages/app-bridge/src/AppBridgePlatformApp.spec.ts @Frontify/integration + +## App Bridge Errors +packages/app-bridge/src/errors/HttpClientError.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/app-bridge/src/errors/InitializationError.ts @Frontify/integration +packages/app-bridge/src/errors/NotifyError.ts @Frontify/integration +packages/app-bridge/src/errors/TimeoutReachedError.ts @Frontify/integration +packages/app-bridge/src/errors/ValidationError.ts @Frontify/integration + +## App Bridge Helpers +packages/app-bridge/src/helpers/ @Frontify/guidelines-navigation-themes + +## React Hooks +packages/app-bridge/src/react/useAssetBulkDownload.spec.tsx @Frontify/guidelines-one +packages/app-bridge/src/react/useAssetBulkDownload.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useAssetChooser.spec.tsx @Frontify/guidelines-one +packages/app-bridge/src/react/useAssetChooser.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useAssetUpload.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useAssetViewer.spec.tsx @Frontify/guidelines-one +packages/app-bridge/src/react/useAssetViewer.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useBlockAssets.spec.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useBlockAssets.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useBlockSettings.spec.tsx @Frontify/guidelines-one +packages/app-bridge/src/react/useBlockSettings.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useBlockTemplates.spec.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useBlockTemplates.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useBrandportalLink.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useBrandportalLink.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useCategorizedDocumentPages.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useColorPalettes.spec.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useColorPalettes.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useColors.spec.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useColors.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useCoverPage.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useCoverPage.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentCategories.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentCategories.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentGroups.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentGroups.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentPageTargets.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentPageTargets.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentSection.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentTargets.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useDocumentTargets.tsx @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useEditorState.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useFileInput.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useFileUpload.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useGroupedDocuments.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useGroupedDocuments.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useGuidelineActions.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useGuidelineActions.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useLanguage.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useLanguage.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useNavigationManager.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useNavigationManager.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/usePageTemplateSettings.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/usePlatformAppBridge.spec.ts @Frontify/integration +packages/app-bridge/src/react/usePlatformAppBridge.ts @Frontify/integration +packages/app-bridge/src/react/usePrivacySettings.spec.ts @Frontify/guidelines-one +packages/app-bridge/src/react/usePrivacySettings.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useReadyForPrint.spec.tsx @Frontify/guidelines-one +packages/app-bridge/src/react/useReadyForPrint.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useTemplateAssets.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useTemplateAssets.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useTemplateChooser.spec.tsx @Frontify/guidelines-one +packages/app-bridge/src/react/useTemplateChooser.ts @Frontify/guidelines-one +packages/app-bridge/src/react/useThemeAssets.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useThemeAssets.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useThemeSettings.spec.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useThemeSettings.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useUncategorizedDocumentPages.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useUngroupedDocuments.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/react/useUngroupedDocuments.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes + +### App Bridge registries api +packages/app-bridge/src/registries/api/CreateAsset.ts @Frontify/integration +packages/app-bridge/src/registries/api/CreateAsset.spec.ts @Frontify/integration +packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts @Frontify/integration +packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts @Frontify/integration +packages/app-bridge/src/registries/api/GetAssetBulkDownloadToken.ts @Frontify/guidelines-one +packages/app-bridge/src/registries/api/GetCurrentUser.ts @Frontify/guidelines-one @Frontify/integration @Frontify/guidelines-navigation-themes +packages/app-bridge/src/registries/api/GetCurrentUser.spec.ts @Frontify/guidelines-one @Frontify/integration @Frontify/guidelines-navigation-themes + +### App Bridge registries commands +packages/app-bridge/src/registries/commands/AssetChooser.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/registries/commands/AssetViewer.ts @Frontify/guidelines-one +packages/app-bridge/src/registries/commands/Connection.ts @Frontify/integration +packages/app-bridge/src/registries/commands/DownloadAsset.ts @Frontify/guidelines-one +packages/app-bridge/src/registries/commands/NavigationManager.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/registries/commands/NewPublication.ts @Frontify/guidelines-one +packages/app-bridge/src/registries/commands/TemplateChooser.ts @Frontify/guidelines-one + +### App Bridge registries events +packages/app-bridge/src/registries/events/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes + +### App Bridge registries verbs +packages/app-bridge/src/registries/verbs/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration + +## App Bridge repositories +packages/app-bridge/src/repositories/ @Frontify/guidelines-one + +## App Bridge Tests +packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/guidelines-one +packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts @Frontify/integration +packages/app-bridge/src/tests/AppBridgeThemeStub.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/guidelines-one +packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx @Frontify/guidelines-navigation-themes + +## App Bridge Utilities +packages/app-bridge/src/utilities/hash.ts @Frontify/integration +packages/app-bridge/src/utilities/httpClient.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration packages/app-bridge/src/utilities/MessageBus.ts @Frontify/integration packages/app-bridge/src/utilities/MessageBus.spec.ts @Frontify/integration -packages/app-bridge/src/registries/api @Frontify/integration +packages/app-bridge/src/utilities/notify.ts @Frontify/integration +packages/app-bridge/src/utilities/object.spec.ts @Frontify/guidelines-one +packages/app-bridge/src/utilities/object.ts @Frontify/guidelines-one +packages/app-bridge/src/utilities/queryParams.spec.ts @Frontify/integration +packages/app-bridge/src/utilities/queryParams.ts @Frontify/integration +packages/app-bridge/src/utilities/subscribe.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration + +## App Bridge Worker +packages/app-bridge/src/worker/ @Frontify/guidelines-one + +## App Bridge Interfaces +packages/app-bridge/src/AppBridge.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/app-bridge/src/AppBridgeBlock.ts @Frontify/guidelines-one +packages/app-bridge/src/AppBridgeCreateAsset.spec.ts @Frontify/integration +packages/app-bridge/src/AppBridgeCreateAsset.ts @Frontify/integration +packages/app-bridge/src/AppBridgePlatformApp.spec.ts @Frontify/integration +packages/app-bridge/src/AppBridgePlatformApp.ts @Frontify/integration +packages/app-bridge/src/AppBridgeTheme.ts @Frontify/guidelines-navigation-themes +packages/app-bridge/src/window.d.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration + +# CLI +packages/cli/src/commands/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/cli/src/errors/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/cli/src/utils/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration + +## Templates +packages/cli/templates/content-block-css @Frontify/guidelines-one +packages/cli/templates/content-block-css-modules @Frontify/guidelines-one +packages/cli/templates/content-block-tailwind @Frontify/guidelines-one +packages/cli/templates/platform-app-css @Frontify/integration +packages/cli/templates/platform-app-css-modules @Frontify/integration +packages/cli/templates/platform-app-tailwind @Frontify/integration # Guideline Blocks Settings -packages/guideline-blocks-settings @Frontify/guidelines-one @SamuelAlev +packages/guideline-blocks-settings @Frontify/guidelines-one + +# Sidebar Settings +packages/sidebar-settings @Frontify/guidelines-one @Frontify/guidelines-navigation-themes CODEOWNERS @Frontify/architecture diff --git a/package.json b/package.json index 308005b48..18949941c 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@changesets/changelog-github": "^0.4.8", "@changesets/cli": "^2.26.2", "@cypress/vite-dev-server": "^5.0.6", - "@frontify/fondue": "12.0.0-beta.382", + "@frontify/fondue": "12.0.0-beta.396", "@vitejs/plugin-react": "^4.2.0", "cypress": "^13.5.1", "cypress-real-events": "^1.11.0", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 1efaae4ff..5aa54407b 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 3.0.2 + +### Patch Changes + +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions + ## 3.0.1 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 61420993a..203b399bc 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "3.0.1", + "version": "3.0.2", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", diff --git a/packages/app-bridge/src/react/useAssetChooser.spec.tsx b/packages/app-bridge/src/react/useAssetChooser.spec.tsx index 2af01a1cd..f73b9199f 100644 --- a/packages/app-bridge/src/react/useAssetChooser.spec.tsx +++ b/packages/app-bridge/src/react/useAssetChooser.spec.tsx @@ -6,6 +6,7 @@ import { afterEach, describe, it } from 'vitest'; import { cleanup, render } from '@testing-library/react'; import type { Asset } from '../types/Asset'; +import { AssetDummy } from '../tests/AssetDummy'; import { AppBridgeBlock } from '../AppBridgeBlock'; import { useAssetChooser } from './useAssetChooser'; import { withAppBridgeBlockStubs } from '../tests/withAppBridgeBlockStubs'; @@ -33,7 +34,7 @@ const AssetChooserDummy = ({ ); }; -describe('useReadyForPrint hook', () => { +describe('useAssetChooser hook', () => { afterEach(() => { cleanup(); }); @@ -43,14 +44,34 @@ describe('useReadyForPrint hook', () => { const { getByTestId } = render(); const openAssetChooserButton = getByTestId(OPEN_ASSET_CHOOSER_BUTTON_ID) as HTMLButtonElement; openAssetChooserButton.click(); - sinon.assert.calledOnce(appBridge.openAssetChooser); + sinon.assert.calledWith(appBridge.dispatch, sinon.match.has('name', 'openAssetChooser')); }); it('should close the asset chooser', () => { const [BlockWithStubs, appBridge] = withAppBridgeBlockStubs(AssetChooserDummy); const { getByTestId } = render(); - const openAssetChooserButton = getByTestId(CLOSE_ASSET_CHOOSER_BUTTON_ID) as HTMLButtonElement; + const closeAssetChooserButton = getByTestId(CLOSE_ASSET_CHOOSER_BUTTON_ID) as HTMLButtonElement; + closeAssetChooserButton.click(); + sinon.assert.calledWith(appBridge.dispatch, sinon.match.has('name', 'closeAssetChooser')); + }); + + it('should call the onAssetChosen callback when an asset is chosen', () => { + const [BlockWithStubs] = withAppBridgeBlockStubs(AssetChooserDummy); + const onAssetChosen = sinon.spy(); + const { getByTestId } = render(); + const openAssetChooserButton = getByTestId(OPEN_ASSET_CHOOSER_BUTTON_ID) as HTMLButtonElement; openAssetChooserButton.click(); - sinon.assert.calledOnce(appBridge.closeAssetChooser); + sinon.assert.calledWith(onAssetChosen, [AssetDummy.with(123)]); + }); + + it('should unsubscribe if asset chooser gets opened and closed', () => { + const unsubscribeSpy = sinon.spy(); + const [BlockWithStubs] = withAppBridgeBlockStubs(AssetChooserDummy, { unsubscribe: unsubscribeSpy }); + const { getByTestId } = render(); + const openTemplateChooserButton = getByTestId(OPEN_ASSET_CHOOSER_BUTTON_ID) as HTMLButtonElement; + openTemplateChooserButton.click(); + const closeTemplateChooserButton = getByTestId(CLOSE_ASSET_CHOOSER_BUTTON_ID) as HTMLButtonElement; + closeTemplateChooserButton.click(); + sinon.assert.calledOnce(unsubscribeSpy); }); }); diff --git a/packages/app-bridge/src/react/useAssetChooser.ts b/packages/app-bridge/src/react/useAssetChooser.ts index 62bbe268f..d184c5607 100644 --- a/packages/app-bridge/src/react/useAssetChooser.ts +++ b/packages/app-bridge/src/react/useAssetChooser.ts @@ -1,7 +1,9 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { closeAssetChooser, openAssetChooser } from '../registries/commands/AssetChooser'; import type { AppBridgeBlock } from '../AppBridgeBlock'; import type { Asset, AssetChooserOptions } from '../types'; +import { EventUnsubscribeFunction } from '../AppBridge'; type UseAssetChooserType = { openAssetChooser: (callback: (selectedAsset: Asset[]) => void, options: AssetChooserOptions) => void; @@ -9,8 +11,18 @@ type UseAssetChooserType = { }; export const useAssetChooser = (appBridge: AppBridgeBlock): UseAssetChooserType => { + let unsubscribe: EventUnsubscribeFunction; + return { - openAssetChooser: appBridge.openAssetChooser.bind(appBridge), - closeAssetChooser: appBridge.closeAssetChooser.bind(appBridge), + openAssetChooser: (callback, options) => { + appBridge.dispatch(openAssetChooser(options)); + unsubscribe = appBridge.subscribe('assetsChosen', (selectedAssets) => { + callback(selectedAssets.assets); + }); + }, + closeAssetChooser: () => { + unsubscribe?.(); + appBridge.dispatch(closeAssetChooser()); + }, }; }; diff --git a/packages/app-bridge/src/react/useAssetViewer.spec.tsx b/packages/app-bridge/src/react/useAssetViewer.spec.tsx index b5b45922e..864f6b77a 100644 --- a/packages/app-bridge/src/react/useAssetViewer.spec.tsx +++ b/packages/app-bridge/src/react/useAssetViewer.spec.tsx @@ -25,9 +25,13 @@ describe('useAssetViewer', () => { const { result, appBridgeStub, asset } = await loadUseAssetViewer(); result.current.open(asset); - const call = appBridgeStub.openAssetViewer.getCall(0); - waitFor(() => { - expect(call.calledOnceWithExactly(asset.token)).toBe(true); + await waitFor(() => { + expect( + appBridgeStub.dispatch.calledOnceWithExactly({ + name: 'openAssetViewer', + payload: { token: asset.token }, + }), + ).toBe(true); }); }); }); diff --git a/packages/app-bridge/src/react/useAssetViewer.ts b/packages/app-bridge/src/react/useAssetViewer.ts index d8acdcf49..eb1d2aab8 100644 --- a/packages/app-bridge/src/react/useAssetViewer.ts +++ b/packages/app-bridge/src/react/useAssetViewer.ts @@ -1,11 +1,12 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { AppBridgeBlock } from '../AppBridgeBlock'; -import { Asset } from '../types'; +import { openAssetViewer } from '../registries/commands/AssetViewer'; +import { type AppBridgeBlock } from '../AppBridgeBlock'; +import { type Asset } from '../types'; export const useAssetViewer = (appBridge: AppBridgeBlock) => { const open = async ({ token }: Asset) => { - appBridge.openAssetViewer(token); + appBridge.dispatch(openAssetViewer({ token })); }; return { diff --git a/packages/app-bridge/src/react/useBlockAssets.ts b/packages/app-bridge/src/react/useBlockAssets.ts index 30091ca08..8288f6593 100644 --- a/packages/app-bridge/src/react/useBlockAssets.ts +++ b/packages/app-bridge/src/react/useBlockAssets.ts @@ -7,7 +7,7 @@ import type { Asset } from '../types'; import { compareObjects } from '../utilities'; export const useBlockAssets = (appBridge: AppBridgeBlock) => { - const blockId = appBridge.getBlockId(); + const blockId = appBridge.context('blockId').get(); const [blockAssets, setBlockAssets] = useState>({}); diff --git a/packages/app-bridge/src/react/useBlockSettings.spec.tsx b/packages/app-bridge/src/react/useBlockSettings.spec.tsx index 94e669945..bd4c0a13b 100644 --- a/packages/app-bridge/src/react/useBlockSettings.spec.tsx +++ b/packages/app-bridge/src/react/useBlockSettings.spec.tsx @@ -23,7 +23,7 @@ const Block = ({ appBridge }: { appBridge: AppBridgeBlock }): ReactElement => { const [blockSettings, updateBlockSettings] = useBlockSettings(appBridge); return ( -
+
{JSON.stringify(blockSettings)}
=> { + const context = appBridge.context(); + return context === undefined; +}; + describe('Attachments', () => { it('renders attachments flyout if it is in edit mode', () => { mount(); @@ -85,11 +89,14 @@ describe('Attachments', () => { cy.get(AttachmentItemSelector).should('have.length', 3); }); - it('renders loading circle for attachment item', () => { + it('renders loading circle for attachment item', async () => { const appBridge = getAppBridgeBlockStub({ editorState: true, }); - (appBridge.openAssetChooser as SinonStub) = cy.stub().callsArgWith(0, AssetDummy.with(4)); + + if (await isPre302Stub(appBridge)) { + (appBridge.openAssetChooser as SinonStub) = cy.stub().callsArgWith(0, AssetDummy.with(4)); + } cy.clock(); const replaceStub = () => @@ -126,26 +133,8 @@ describe('Attachments', () => { cy.get(FlyoutButtonSelector).click(); cy.realPress('Tab'); cy.realPress('Tab'); - cy.realPress('Tab'); cy.get(FlyoutTriggerSelector).eq(0).should('have.class', 'focus-visible:tw-ring-blue'); cy.get(FlyoutTriggerSelector).eq(0).type('{enter}'); cy.get(MenuItemSelector).should('exist'); }); - - it('reorders items using only keyboard events', () => { - const onSortStub = cy.stub(); - mount( - , - ); - cy.get(FlyoutButtonSelector).click(); - cy.realPress('Tab'); - cy.realPress('Tab'); - cy.realPress('Tab'); - cy.get(DragHandleSelector).eq(0).type(' {downarrow}{downarrow} '); - cy.get(AttachmentItemSelector).eq(1).should('contain.text', 'Moved item'); - }); }); diff --git a/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx b/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx index f19748d16..48966ff5e 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx +++ b/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx @@ -12,21 +12,21 @@ import { useSensor, useSensors, } from '@dnd-kit/core'; +import { restrictToWindowEdges } from '@dnd-kit/modifiers'; import { SortableContext, arrayMove, rectSortingStrategy } from '@dnd-kit/sortable'; -import { Asset, useAssetUpload, useEditorState } from '@frontify/app-bridge'; +import { Asset, useAssetChooser, useAssetUpload, useEditorState } from '@frontify/app-bridge'; import { AssetInput, AssetInputSize, Flyout, FlyoutPlacement, - IconCaretDown12, - IconPaperclip16, LegacyTooltip as Tooltip, TooltipPosition, } from '@frontify/fondue'; + import { AttachmentItem, SortableAttachmentItem } from './AttachmentItem'; -import { AttachmentsProps } from './types'; -import { restrictToWindowEdges } from '@dnd-kit/modifiers'; +import { type AttachmentsProps } from './types'; +import { AttachmentsButtonTrigger } from './AttachmentsButtonTrigger'; export const Attachments = ({ items = [], @@ -37,15 +37,21 @@ export const Attachments = ({ onUpload, onSorted, appBridge, + triggerComponent: TriggerComponent = AttachmentsButtonTrigger, + isOpen, + onOpenChange, }: AttachmentsProps) => { const [internalItems, setInternalItems] = useState(items); - const [isFlyoutOpen, setIsFlyoutOpen] = useState(false); + const [isFlyoutOpenInternal, setIsFlyoutOpenInternal] = useState(false); const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor)); const [draggedAssetId, setDraggedAssetId] = useState(undefined); const [isUploadLoading, setIsUploadLoading] = useState(false); const [assetIdsLoading, setAssetIdsLoading] = useState([]); const [selectedFiles, setSelectedFiles] = useState(null); const isEditing = useEditorState(appBridge); + const { openAssetChooser, closeAssetChooser } = useAssetChooser(appBridge); + const isControllingStateExternally = isOpen !== undefined; + const isFlyoutOpen = isControllingStateExternally ? isOpen : isFlyoutOpenInternal; const draggedItem = internalItems?.find((item) => item.id === draggedAssetId); @@ -53,6 +59,12 @@ export const Attachments = ({ onUploadProgress: () => !isUploadLoading && setIsUploadLoading(true), }); + const handleFlyoutOpenChange = (isOpen: boolean) => { + const stateSetter = isControllingStateExternally ? onOpenChange : setIsFlyoutOpenInternal; + + stateSetter?.(isOpen); + }; + useEffect(() => { setInternalItems(items); }, [items]); @@ -77,12 +89,12 @@ export const Attachments = ({ }, [doneAll, uploadResults]); const onOpenAssetChooser = () => { - setIsFlyoutOpen(false); - appBridge.openAssetChooser( + handleFlyoutOpenChange(false); + openAssetChooser( (result: Asset[]) => { onBrowse(result); - appBridge.closeAssetChooser(); - setIsFlyoutOpen(true); + closeAssetChooser(); + handleFlyoutOpenChange(true); }, { multiSelection: true, @@ -92,11 +104,11 @@ export const Attachments = ({ }; const onReplaceItemWithBrowse = (toReplace: Asset) => { - setIsFlyoutOpen(false); - appBridge.openAssetChooser( + handleFlyoutOpenChange(false); + openAssetChooser( async (result: Asset[]) => { - setIsFlyoutOpen(true); - appBridge.closeAssetChooser(); + handleFlyoutOpenChange(true); + closeAssetChooser(); setAssetIdsLoading([...assetIdsLoading, toReplace.id]); await onReplaceWithBrowse(toReplace, result[0]); setAssetIdsLoading(assetIdsLoading.filter((id) => id !== toReplace.id)); @@ -142,20 +154,18 @@ export const Attachments = ({
setIsFlyoutOpen(!!draggedItem ? true : isOpen)} + onOpenChange={(isOpen) => handleFlyoutOpenChange(!!draggedItem ? true : isOpen)} isOpen={isFlyoutOpen} hug={false} fitContent legacyFooter={false} trigger={ -
- +
{items.length > 0 ? items.length : 'Add'}
- -
+ } > -
+
{internalItems.length > 0 && ( onReplaceItemWithUpload(item, uploadedAsset) } + onDownload={() => + appBridge.dispatch({ + name: 'downloadAsset', + payload: item, + }) + } /> ))}
diff --git a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx new file mode 100644 index 000000000..099f20b0d --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx @@ -0,0 +1,22 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { IconCaretDown12, IconPaperclip16 } from '@frontify/fondue'; + +import { joinClassNames } from '../../utilities'; + +import { type AttachmentsTriggerProps } from './types'; + +export const AttachmentsButtonTrigger = ({ children, isFlyoutOpen }: AttachmentsTriggerProps) => ( +
+ + {children} + +
+); diff --git a/packages/guideline-blocks-settings/src/components/Attachments/types.ts b/packages/guideline-blocks-settings/src/components/Attachments/types.ts index 1c367c45f..452c13b46 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/types.ts +++ b/packages/guideline-blocks-settings/src/components/Attachments/types.ts @@ -1,6 +1,12 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { AppBridgeBlock, Asset } from '@frontify/app-bridge'; +import { type AppBridgeBlock, type Asset } from '@frontify/app-bridge'; +import { type ReactNode } from 'react'; + +export type AttachmentsTriggerProps = { + children: ReactNode; + isFlyoutOpen: boolean; +}; export type AttachmentsProps = { items?: Asset[]; @@ -11,7 +17,8 @@ export type AttachmentsProps = { onUpload: (uploadedAttachments: Asset[]) => Promise; onBrowse: (browserAttachments: Asset[]) => void; onSorted: (sortedAttachments: Asset[]) => void; -}; + triggerComponent?: (props: AttachmentsTriggerProps) => JSX.Element; +} & ({ isOpen?: never; onOpenChange?: never } | { isOpen: boolean; onOpenChange: (isOpen: boolean) => void }); export type AttachmentItemProps = SortableAttachmentItemProps & { isDragging?: boolean; @@ -27,4 +34,5 @@ export type SortableAttachmentItemProps = { isLoading?: boolean; onReplaceWithBrowse: () => void; onReplaceWithUpload: (uploadedAsset: Asset) => void; + onDownload?: () => Promise; }; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx index f3dc551c0..4158b5879 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx @@ -1,9 +1,11 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { ReactElement, useEffect, useRef, useState } from 'react'; +import { type ReactElement, useRef, useState } from 'react'; + import { joinClassNames } from '../../utilities'; -import { Toolbar } from './Toolbar'; -import { BlockItemWrapperProps, ToolbarItem } from './types'; + +import { Toolbar, type ToolbarItem } from './Toolbar'; +import { type BlockItemWrapperProps } from './types'; export const BlockItemWrapper = ({ children, @@ -15,18 +17,12 @@ export const BlockItemWrapper = ({ shouldFillContainer, outlineOffset = 2, shouldBeShown = false, + showAttachments = false, }: BlockItemWrapperProps): ReactElement => { - const [isFlyoutOpen, setIsFlyoutOpen] = useState(shouldBeShown); - const [isFlyoutDisabled, setIsFlyoutDisabled] = useState(false); + const [isMenuFlyoutOpen, setIsMenuFlyoutOpen] = useState(shouldBeShown); + const [isAttachmentFlyoutOpen, setIsAttachmentFlyoutOpen] = useState(false); const wrapperRef = useRef(null); - useEffect(() => { - if (!isFlyoutOpen) { - // This prevents automatic refocusing of the trigger element - setIsFlyoutDisabled(true); - } - }, [isFlyoutOpen]); - if (shouldHideWrapper) { // eslint-disable-next-line react/jsx-no-useless-fragment return <>{children}; @@ -34,11 +30,11 @@ export const BlockItemWrapper = ({ const items = toolbarItems?.filter((item): item is ToolbarItem => item !== undefined); + const shouldToolbarBeVisible = isMenuFlyoutOpen || isAttachmentFlyoutOpen || shouldBeShown; + return (
setIsFlyoutDisabled(false)} - onPointerEnter={() => setIsFlyoutDisabled(false)} data-test-id="block-item-wrapper" style={{ outlineOffset, @@ -47,7 +43,7 @@ export const BlockItemWrapper = ({ 'tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse', shouldFillContainer && 'tw-flex-1 tw-h-full tw-w-full', 'hover:tw-outline focus-within:tw-outline', - (isFlyoutOpen || shouldBeShown) && 'tw-outline', + shouldToolbarBeVisible && 'tw-outline', shouldHideComponent && 'tw-opacity-0', ])} > @@ -59,14 +55,21 @@ export const BlockItemWrapper = ({ className={joinClassNames([ 'tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]', 'group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100', - (isFlyoutOpen || shouldBeShown) && 'tw-opacity-100', + 'tw-flex tw-justify-end', + shouldToolbarBeVisible && 'tw-opacity-100', ])} > diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar.tsx deleted file mode 100644 index 51a653ccc..000000000 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar.tsx +++ /dev/null @@ -1,133 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - ActionMenu, - FOCUS_VISIBLE_STYLE, - Flyout, - IconDotsHorizontal16, - MenuItemContentSize, - LegacyTooltip as Tooltip, - TooltipPosition, -} from '@frontify/fondue'; -import { ToolbarProps } from './types'; -import { joinClassNames } from '../../utilities'; -import { DEFAULT_DRAGGING_TOOLTIP, DEFAULT_DRAG_TOOLTIP } from './constants'; - -export const Toolbar = ({ - items, - flyoutItems, - isFlyoutOpen, - setIsFlyoutOpen, - isDragging, - isFlyoutDisabled, -}: ToolbarProps) => { - return ( -
-
- {items.map((item, i) => - 'draggableProps' in item ? ( - - {isDragging ? DEFAULT_DRAGGING_TOOLTIP : item.tooltip ?? DEFAULT_DRAG_TOOLTIP} -
- } - triggerElement={ - - } - /> - ) : ( - {item.tooltip ?? ''}
} - triggerElement={ - - } - /> - ), - )} - {flyoutItems.length > 0 && ( -
- Options
} - triggerElement={ -
- -
- } - /> - } - > - ({ - id: blockIndex.toString(), - menuItems: block.map((item, itemIndex) => ({ - id: blockIndex.toString() + itemIndex.toString(), - size: MenuItemContentSize.XSmall, - title: item.title, - style: item.style, - onClick: () => { - setIsFlyoutOpen(false); - item.onClick(); - }, - initialValue: true, - decorator:
{item.icon}
, - })), - }))} - /> - -
- )} -
-
- ); -}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx new file mode 100644 index 000000000..19a6ee821 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx @@ -0,0 +1,127 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { getAppBridgeBlockStub } from '@frontify/app-bridge'; +import { render } from '@testing-library/react'; +import { beforeAll, describe, expect, it, vi } from 'vitest'; + +import { AttachmentsProvider } from '../../../hooks/useAttachments'; + +import { Toolbar } from './Toolbar'; + +/** + * @vitest-environment happy-dom + */ + +const ATTACHMENTS_FLYOUT_ID = 'attachments-flyout-content'; +const MENU_FLYOUT_ID = 'menu-item'; + +const MOCK_ASSET_FIELD_ID = 'attachment'; + +describe('Toolbar', () => { + beforeAll(() => { + vi.stubGlobal( + 'Worker', + class Worker { + constructor() {} + addEventListener() {} + terminate() {} + }, + ); + }); + + it('should not throw error if toolbar does not have attachments enabled', () => { + expect(() => + render( + , + ), + ).not.toThrowError(); + }); + + it('should throw error if toolbar does have attachments enabled without provider', () => { + expect(() => + render( + , + ), + ).toThrowError(); + }); + + it('should open flyouts if not dragging', async () => { + const STUB_WITH_NO_ASSETS = getAppBridgeBlockStub({ + blockId: 1, + blockAssets: { [MOCK_ASSET_FIELD_ID]: [] }, + editorState: true, + }); + + const ToolbarWithAttachments = () => ( + +
, + onClick: vi.fn(), + }, + ], + ], + isOpen: true, + onOpenChange: vi.fn(), + }} + attachments={{ isEnabled: true, isOpen: true, onOpenChange: vi.fn() }} + isDragging={false} + /> + + ); + + const { baseElement } = render(, { container: document.body }); + + expect(baseElement.querySelector(`[data-test-id=${ATTACHMENTS_FLYOUT_ID}]`)).not.toBeNull(); + expect(baseElement.querySelector(`[data-test-id=${MENU_FLYOUT_ID}]`)).not.toBeNull(); + }); + + it('should keep flyouts closed if dragging', async () => { + const MOCK_ASSET_FIELD_ID = 'attachment'; + const STUB_WITH_NO_ASSETS = getAppBridgeBlockStub({ + blockId: 1, + blockAssets: { [MOCK_ASSET_FIELD_ID]: [] }, + editorState: true, + }); + + const ToolbarWithAttachments = () => ( + +
, + onClick: vi.fn(), + }, + ], + ], + isOpen: true, + onOpenChange: vi.fn(), + }} + attachments={{ isEnabled: true, isOpen: true, onOpenChange: vi.fn() }} + isDragging + /> + + ); + + const { baseElement } = render(, { container: document.body }); + expect(baseElement.querySelector(`[data-test-id=${ATTACHMENTS_FLYOUT_ID}]`)).toBeNull(); + expect(baseElement.querySelector(`[data-test-id=${MENU_FLYOUT_ID}]`)).toBeNull(); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx new file mode 100644 index 000000000..8729cc481 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx @@ -0,0 +1,133 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { + ActionMenu, + Flyout, + IconDotsHorizontal16, + MenuItemContentSize, + LegacyTooltip as Tooltip, + TooltipPosition, +} from '@frontify/fondue'; + +import { DEFAULT_DRAGGING_TOOLTIP, DEFAULT_DRAG_TOOLTIP } from '../constants'; + +import { ToolbarSegment } from './ToolbarSegment'; +import { ToolbarAttachments } from './ToolbarAttachments'; +import { getToolbarButtonClassNames } from './helpers'; +import { type ToolbarProps } from './types'; + +export const Toolbar = ({ items, flyoutMenu, attachments, isDragging }: ToolbarProps) => { + return ( +
+ {attachments.isEnabled && ( + + + + )} + + {items.map((item, i) => + 'draggableProps' in item ? ( + + {isDragging ? DEFAULT_DRAGGING_TOOLTIP : item.tooltip ?? DEFAULT_DRAG_TOOLTIP} +
+ } + triggerElement={ + + } + /> + ) : ( + {item.tooltip ?? ''}
} + triggerElement={ + + } + /> + ), + )} + {flyoutMenu.items.length > 0 && ( + Options} + triggerElement={ +
+ + +
+ } + > + ({ + id: blockIndex.toString(), + menuItems: block.map((item, itemIndex) => ({ + id: blockIndex.toString() + itemIndex.toString(), + size: MenuItemContentSize.XSmall, + title: item.title, + style: item.style, + onClick: () => { + flyoutMenu.onOpenChange(false); + item.onClick(); + }, + initialValue: true, + decorator:
{item.icon}
, + })), + }))} + /> + + + } + /> + )} + + + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx new file mode 100644 index 000000000..b7a79b777 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx @@ -0,0 +1,29 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { Attachments } from '../../Attachments'; +import { useAttachmentsContext } from '../../../hooks'; + +import { type ToolbarFlyoutState } from './types'; + +import { ToolbarAttachmentsTrigger } from './ToolbarAttachmentsTrigger'; + +export const ToolbarAttachments = ({ isOpen, onOpenChange }: ToolbarFlyoutState) => { + const { appBridge, attachments, onAttachmentsAdd, onAttachmentDelete, onAttachmentReplace, onAttachmentsSorted } = + useAttachmentsContext(); + + return ( + + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx new file mode 100644 index 000000000..3629e6fb3 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx @@ -0,0 +1,14 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { IconCaretDown12, IconPaperclip16 } from '@frontify/fondue'; +import { type AttachmentsTriggerProps } from '../../Attachments/types'; + +import { getToolbarButtonClassNames } from './helpers'; + +export const ToolbarAttachmentsTrigger = ({ children, isFlyoutOpen }: AttachmentsTriggerProps) => ( +
+ + {children} + +
+); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarSegment.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarSegment.tsx new file mode 100644 index 000000000..51e82c874 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarSegment.tsx @@ -0,0 +1,9 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type ReactNode } from 'react'; + +export const ToolbarSegment = ({ children }: { children: ReactNode }) => ( +
+ {children} +
+); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts new file mode 100644 index 000000000..3801abe20 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts @@ -0,0 +1,33 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { FOCUS_VISIBLE_STYLE } from '@frontify/fondue'; + +import { joinClassNames } from '../../../utilities'; + +export const getToolbarButtonClassNames = (cursor: 'grab' | 'pointer', forceActiveStyle?: boolean) => { + const classNames = [ + FOCUS_VISIBLE_STYLE, + 'tw-relative tw-inline-flex tw-items-center tw-justify-center', + 'tw-h-6 tw-p-1', + 'tw-rounded', + 'tw-text-xs tw-font-medium', + 'tw-gap-0.5', + 'focus-visible:tw-z-10', + ]; + + if (forceActiveStyle) { + classNames.push( + 'tw-bg-box-neutral-pressed', + 'tw-text-box-neutral-inverse-pressed', + cursor === 'grab' ? 'tw-cursor-grabbing' : 'tw-cursor-pointer', + ); + } else { + classNames.push( + 'hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed', + 'tw-text-text-weak hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed', + cursor === 'grab' ? 'tw-cursor-grab active:tw-cursor-grabbing' : 'tw-cursor-pointer', + ); + } + + return joinClassNames(classNames); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts new file mode 100644 index 000000000..56eaa7e39 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts @@ -0,0 +1,4 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './Toolbar'; +export * from './types'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts new file mode 100644 index 000000000..fdae73bfd --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts @@ -0,0 +1,38 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type MenuItemStyle } from '@frontify/fondue'; + +export type ToolbarProps = { + items: ToolbarItem[]; + flyoutMenu: ToolbarFlyoutState & { items: FlyoutToolbarItem[][] }; + attachments: ToolbarFlyoutState & { isEnabled: boolean }; + isDragging?: boolean; +}; + +export type ToolbarFlyoutState = { + isOpen: boolean; + onOpenChange: (isOpen: boolean) => void; +}; + +type BaseToolbarItem = { + icon: JSX.Element; + tooltip?: string; +}; + +type DraghandleToolbarItem = BaseToolbarItem & { + draggableProps: Record; + setActivatorNodeRef?: (node: HTMLElement | null) => void; +}; + +type ButtonToolbarItem = BaseToolbarItem & { + onClick: () => void; +}; + +export type ToolbarItem = DraghandleToolbarItem | ButtonToolbarItem; + +export type FlyoutToolbarItem = { + title: string; + onClick: () => void; + icon: JSX.Element; + style?: MenuItemStyle; +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/index.ts index 5df395886..af5a710ac 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/index.ts +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/index.ts @@ -1,5 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './BlockItemWrapper'; +export * from './Toolbar'; export * from './types'; export * from './constants'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/types.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/types.ts index d98354277..290738060 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/types.ts +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/types.ts @@ -1,7 +1,10 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { MenuItemStyle } from '@frontify/fondue'; -import type { ReactNode } from 'react'; +import { type ReactNode } from 'react'; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { type AttachmentsProvider, type withAttachmentsProvider } from '../../hooks/useAttachments'; +import { type FlyoutToolbarItem, type ToolbarItem } from './Toolbar'; export type BlockItemWrapperProps = { children: ReactNode; @@ -13,36 +16,10 @@ export type BlockItemWrapperProps = { shouldFillContainer?: boolean; outlineOffset?: number; shouldBeShown?: boolean; -}; - -export type ToolbarProps = { - items: ToolbarItem[]; - flyoutItems: FlyoutToolbarItem[][]; - isFlyoutOpen: boolean; - setIsFlyoutOpen: (isOpen: boolean) => void; - isDragging?: boolean; - isFlyoutDisabled?: boolean; -}; - -type BaseToolbarItem = { - icon: JSX.Element; - tooltip?: string; -}; - -type DraghandleToolbarItem = BaseToolbarItem & { - draggableProps: Record; - setActivatorNodeRef?: (node: HTMLElement | null) => void; -}; - -type ButtonToolbarItem = BaseToolbarItem & { - onClick: () => void; -}; - -export type ToolbarItem = DraghandleToolbarItem | ButtonToolbarItem; - -export type FlyoutToolbarItem = { - title: string; - onClick: () => void; - icon: JSX.Element; - style?: MenuItemStyle; + /** + * When set to true the BlockItemWrapper must be a child of a {@link AttachmentsProvider} component, + * or the block must be wrapped with a {@link withAttachmentsProvider} HOC. + * @default false + */ + showAttachments?: boolean; }; diff --git a/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.ts b/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx similarity index 59% rename from packages/guideline-blocks-settings/src/hooks/useAttachments.spec.ts rename to packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx index b3f19415e..74282da81 100644 --- a/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.ts +++ b/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx @@ -1,10 +1,10 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { AssetDummy, getAppBridgeBlockStub } from '@frontify/app-bridge'; -import { renderHook, waitFor } from '@testing-library/react'; - +import { render, renderHook, waitFor } from '@testing-library/react'; import { describe, expect, it } from 'vitest'; -import { useAttachments } from './useAttachments'; + +import { AttachmentsProvider, useAttachments, useAttachmentsContext, withAttachmentsProvider } from './useAttachments'; const MOCK_SETTINGS_ID = 'attachments'; @@ -20,7 +20,7 @@ describe('useAttachments', () => { }); const { result } = renderHook(() => useAttachments(STUB_WITH_NO_ASSETS, MOCK_SETTINGS_ID)); - await result.current.onAddAttachments([AssetDummy.with(1)]); + await result.current.onAttachmentsAdd([AssetDummy.with(1)]); await waitFor(() => { expect(result.current.attachments).toHaveLength(1); }); @@ -77,3 +77,54 @@ describe('useAttachments', () => { }); }); }); + +describe('useAttachmentsContext', () => { + it('should throw an error when not a child of a provider', async () => { + expect(() => renderHook(() => useAttachmentsContext())).toThrowError(); + }); + + it('should return correct info', async () => { + const STUB_WITH_NO_ASSETS = getAppBridgeBlockStub({ + blockId: 1, + blockAssets: { [MOCK_SETTINGS_ID]: [AssetDummy.with(1)] }, + }); + const { result } = renderHook(useAttachmentsContext, { + wrapper: ({ children }) => ( + + {children} + + ), + }); + + expect(result.current.appBridge).toEqual(STUB_WITH_NO_ASSETS); + await waitFor(() => { + expect(result.current.attachments).toHaveLength(1); + }); + }); +}); + +describe('withAttachmentsProvider', () => { + it('should provide correct info to context consumer', async () => { + const STUB_WITH_THREE_ASSETS = getAppBridgeBlockStub({ + blockId: 2, + blockAssets: { [MOCK_SETTINGS_ID]: [AssetDummy.with(1), AssetDummy.with(2), AssetDummy.with(3)] }, + }); + + const Component = withAttachmentsProvider(() => { + const context = useAttachmentsContext(); + return ( +
    + {context.attachments.map((attachment) => ( +
  • + {attachment.id} +
  • + ))} +
+ ); + }, MOCK_SETTINGS_ID); + + const { getAllByRole } = render(); + + await waitFor(() => expect(getAllByRole('list')).toHaveLength(3)); + }); +}); diff --git a/packages/guideline-blocks-settings/src/hooks/useAttachments.ts b/packages/guideline-blocks-settings/src/hooks/useAttachments.ts deleted file mode 100644 index f8e48cf3f..000000000 --- a/packages/guideline-blocks-settings/src/hooks/useAttachments.ts +++ /dev/null @@ -1,46 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { AppBridgeBlock, Asset, useBlockAssets } from '@frontify/app-bridge'; - -export const useAttachments = (appBridge: AppBridgeBlock, assetId: string) => { - const { blockAssets, updateAssetIdsFromKey } = useBlockAssets(appBridge); - const attachments = blockAssets?.[assetId] || []; - - const onAddAttachments = async (newAssets: Asset[]) => { - const newAssetIds = attachments.map((attachment) => attachment.id); - for (const asset of newAssets) { - newAssetIds.push(asset.id); - } - await updateAssetIdsFromKey(assetId, newAssetIds); - }; - - const onAttachmentDelete = async (assetToDelete: Asset) => { - const newAssetIds = attachments - .filter((attachment) => attachment.id !== assetToDelete.id) - .map((attachment) => attachment.id); - - await updateAssetIdsFromKey(assetId, newAssetIds); - }; - - const onAttachmentReplace = async (attachmentToReplace: Asset, newAsset: Asset) => { - const newAssetIds = attachments.map((attachment) => - attachment.id === attachmentToReplace.id ? newAsset.id : attachment.id, - ); - - await updateAssetIdsFromKey(assetId, newAssetIds); - }; - - const onAttachmentsSorted = async (assets: Asset[]) => { - const newAssetIds = assets.map((asset) => asset.id); - - await updateAssetIdsFromKey(assetId, newAssetIds); - }; - - return { - onAddAttachments, - onAttachmentDelete, - onAttachmentReplace, - onAttachmentsSorted, - attachments, - }; -}; diff --git a/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx b/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx new file mode 100644 index 000000000..62ba4f789 --- /dev/null +++ b/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx @@ -0,0 +1,95 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { AppBridgeBlock, Asset, useBlockAssets } from '@frontify/app-bridge'; +import { type ReactNode, createContext, useContext } from 'react'; + +import { type BlockProps } from '../index'; + +export const useAttachments = (appBridge: AppBridgeBlock, assetId: string) => { + const { blockAssets, updateAssetIdsFromKey } = useBlockAssets(appBridge); + const attachments = blockAssets?.[assetId] || []; + + const onAttachmentsAdd = async (newAssets: Asset[]) => { + const newAssetIds = attachments.map((attachment) => attachment.id); + for (const asset of newAssets) { + newAssetIds.push(asset.id); + } + await updateAssetIdsFromKey(assetId, newAssetIds); + }; + + const onAttachmentDelete = async (assetToDelete: Asset) => { + const newAssetIds = attachments + .filter((attachment) => attachment.id !== assetToDelete.id) + .map((attachment) => attachment.id); + + await updateAssetIdsFromKey(assetId, newAssetIds); + }; + + const onAttachmentReplace = async (attachmentToReplace: Asset, newAsset: Asset) => { + const newAssetIds = attachments.map((attachment) => + attachment.id === attachmentToReplace.id ? newAsset.id : attachment.id, + ); + + await updateAssetIdsFromKey(assetId, newAssetIds); + }; + + const onAttachmentsSorted = async (assets: Asset[]) => { + const newAssetIds = assets.map((asset) => asset.id); + + await updateAssetIdsFromKey(assetId, newAssetIds); + }; + + return { + onAttachmentsAdd, + onAttachmentDelete, + onAttachmentReplace, + onAttachmentsSorted, + attachments, + appBridge, + }; +}; + +const AttachmentsContext = createContext | null>(null); + +export const AttachmentsProvider = ({ + appBridge, + children, + assetId, +}: { + appBridge: AppBridgeBlock; + children: ReactNode; + assetId: string; +}) => { + const attachmentContext = useAttachments(appBridge, assetId); + + return {children}; +}; + +export const useAttachmentsContext = () => { + const context = useContext(AttachmentsContext); + + if (!context) { + throw new Error( + "No AttachmentsContext Provided. Component must be wrapped in an 'AttachmentsProvider' or the 'withAttachmentsProvider' HOC", + ); + } + + return context; +}; + +/** + * Block-level HOC for cases when there is only one attachment asset field related to the block. + * Recommended for most cases. + * If finer control is required over attachments, use {@link AttachmentsProvider} component. + */ +export const withAttachmentsProvider = (Component: (props: T) => ReactNode, assetId: string) => { + const wrappedComponent = (props: T) => ( + + + + ); + + wrappedComponent.displayName = 'withAttachmentsProvider'; + + return wrappedComponent; +}; diff --git a/packages/sidebar-settings/CHANGELOG.md b/packages/sidebar-settings/CHANGELOG.md index a477f0cea..f48dab81c 100644 --- a/packages/sidebar-settings/CHANGELOG.md +++ b/packages/sidebar-settings/CHANGELOG.md @@ -1,5 +1,28 @@ # @frontify/sidebar-settings +## 0.9.1 + +### Patch Changes + +- [#697](https://github.com/Frontify/brand-sdk/pull/697) [`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bumps @frontify/fondue to 12.0.0-beta.396 + +## 0.9.0 + +### Minor Changes + +- [#694](https://github.com/Frontify/brand-sdk/pull/694) [`d79e69a`](https://github.com/Frontify/brand-sdk/commit/d79e69a1c6d8f901b7f91866a92fd0d99363f07d) Thanks [@ragi96](https://github.com/ragi96)! - chore: decouples the sidebar-settings from the app-bridge + +### Patch Changes + +- [#695](https://github.com/Frontify/brand-sdk/pull/695) [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump @frontify/fondue to v12.0.0-beta.395 + +## 0.8.3 + +### Patch Changes + +- Updated dependencies [[`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d)]: + - @frontify/app-bridge@3.0.2 + ## 0.8.2 ### Patch Changes diff --git a/packages/sidebar-settings/package.json b/packages/sidebar-settings/package.json index e86a327b7..24e319e6b 100644 --- a/packages/sidebar-settings/package.json +++ b/packages/sidebar-settings/package.json @@ -1,6 +1,6 @@ { "name": "@frontify/sidebar-settings", - "version": "0.8.2", + "version": "0.9.1", "description": "Provides types and helpers for the settings sidebar", "sideEffects": false, "main": "dist/index.umd.js", @@ -40,8 +40,7 @@ "vitest": "^0.34.6" }, "dependencies": { - "@frontify/app-bridge": "workspace:^", - "@frontify/fondue": "12.0.0-beta.382" + "@frontify/fondue": "12.0.0-beta.396" }, "peerDependencies": { "react": "^18", diff --git a/packages/sidebar-settings/src/blocks/index.ts b/packages/sidebar-settings/src/blocks/index.ts index 3cbd618ab..23960803d 100644 --- a/packages/sidebar-settings/src/blocks/index.ts +++ b/packages/sidebar-settings/src/blocks/index.ts @@ -41,12 +41,307 @@ export * from './legacyTemplateInput'; export * from './textarea'; export * from './link'; -export { - AssetChooserObjectType, - AssetChooserProjectType, - FileExtension, - FileExtensionSets, -} from '@frontify/app-bridge'; +export enum AssetChooserProjectType { + MediaLibrary = 'MediaLibrary', + LogoLibrary = 'LogoLibrary', + IconLibrary = 'IconLibrary', + DocumentLibrary = 'DocumentLibrary', + TemplateLibrary = 'TemplateLibrary', + PatternLibrary = 'PatternLibrary', + Styleguide = 'Styleguide', + Workspace = 'Workspace', +} + +export enum AssetChooserObjectType { + File = 'FILE', // Audio, Zip, ... + Canvas = 'CANVAS', + ImageVideo = 'IMAGE', // No distinction between images and videos in the screen table + TextSnippet = 'TEXT_SNIPPET', + Url = 'URL', +} + +export enum FileExtension { + Aac = 'aac', + Ac3 = 'ac3', + Ai = 'ai', + Aif = 'aif', + Aifc = 'aifc', + Aiff = 'aiff', + Artboard = 'artboard', + Asc = 'asc', + Atom = 'atom', + Au = 'au', + Avi = 'avi', + Bcpio = 'bcpio', + Bin = 'bin', + Bmp = 'bmp', + Cdf = 'cdf', + Cgm = 'cgm', + Class = 'class', + Cpio = 'cpio', + Cpt = 'cpt', + Csh = 'csh', + Css = 'css', + Dcr = 'dcr', + Dif = 'dif', + Dir = 'dir', + Djv = 'djv', + Djvu = 'djvu', + Dll = 'dll', + Dmg = 'dmg', + Dms = 'dms', + Dng = 'dng', + Doc = 'doc', + Docx = 'docx', + Dotx = 'dotx', + Docm = 'docm', + Dotm = 'dotm', + Dtd = 'dtd', + Dv = 'dv', + Dvi = 'dvi', + Dxr = 'dxr', + Eps = 'eps', + Etx = 'etx', + Exe = 'exe', + Ez = 'ez', + Flac = 'flac', + Flv = 'flv', + Gif = 'gif', + Gram = 'gram', + Grxml = 'grxml', + Gtar = 'gtar', + Hdf = 'hdf', + Heif = 'heif', + Hqx = 'hqx', + Htm = 'htm', + Html = 'html', + Ice = 'ice', + Ico = 'ico', + Ics = 'ics', + Idml = 'idml', + Ief = 'ief', + Ifb = 'ifb', + Iges = 'iges', + Igs = 'igs', + Indd = 'indd', + Indt = 'indt', + Jnlp = 'jnlp', + Jp2 = 'jp2', + Jpe = 'jpe', + Jpeg = 'jpeg', + Jpg = 'jpg', + Js = 'js', + Kar = 'kar', + Latex = 'latex', + Lha = 'lha', + Lzh = 'lzh', + M3u = 'm3u', + M4a = 'm4a', + M4b = 'm4b', + M4p = 'm4p', + M4r = 'm4r', + M4u = 'm4u', + M4v = 'm4v', + Mac = 'mac', + Man = 'man', + Mathml = 'mathml', + Me = 'me', + Mesh = 'mesh', + Mid = 'mid', + Midi = 'midi', + Mif = 'mif', + Mkv = 'mkv', + Mov = 'mov', + Movie = 'movie', + Mp2 = 'mp2', + Mp3 = 'mp3', + Mp4 = 'mp4', + Mpe = 'mpe', + Mpeg = 'mpeg', + Mpg = 'mpg', + Mpga = 'mpga', + Ms = 'ms', + Msh = 'msh', + Mts = 'mts', + Mxu = 'mxu', + Nc = 'nc', + Oda = 'oda', + Ogg = 'ogg', + Pbm = 'pbm', + Pct = 'pct', + Pdb = 'pdb', + Pdf = 'pdf', + Pgm = 'pgm', + Pgn = 'pgn', + Pic = 'pic', + Pict = 'pict', + Png = 'png', + Pnm = 'pnm', + Pnt = 'pnt', + Pntg = 'pntg', + Ppm = 'ppm', + Ppt = 'ppt', + Pptx = 'pptx', + Potx = 'potx', + Ppsx = 'ppsx', + Ppam = 'ppam', + Pptm = 'pptm', + Potm = 'potm', + Ppsm = 'ppsm', + Ps = 'ps', + Psd = 'psd', + Qt = 'qt', + Qti = 'qti', + Qtif = 'qtif', + Ra = 'ra', + Ram = 'ram', + Ras = 'ras', + Rdf = 'rdf', + Rgb = 'rgb', + Rm = 'rm', + Roff = 'roff', + Rtf = 'rtf', + Rtx = 'rtx', + Sgm = 'sgm', + Sgml = 'sgml', + Sh = 'sh', + Shar = 'shar', + Silo = 'silo', + Sit = 'sit', + Skd = 'skd', + Sketch = 'sketch', + Skm = 'skm', + Skp = 'skp', + Skt = 'skt', + Smi = 'smi', + Smil = 'smil', + Snd = 'snd', + So = 'so', + Spl = 'spl', + Src = 'src', + Sv4cpio = 'sv4cpio', + Sv4crc = 'sv4crc', + Svg = 'svg', + Swf = 'swf', + T = 't', + Tar = 'tar', + Tcl = 'tcl', + Tex = 'tex', + Texi = 'texi', + Texinfo = 'texinfo', + Tif = 'tif', + Tiff = 'tiff', + Tr = 'tr', + Tsv = 'tsv', + Txt = 'txt', + Ustar = 'ustar', + Vcd = 'vcd', + Vrml = 'vrml', + Vxml = 'vxml', + Wav = 'wav', + Wbmp = 'wbmp', + Wbmxl = 'wbmxl', + Webm = 'webm', + Webp = 'webp', + Wml = 'wml', + Wmlc = 'wmlc', + Wmls = 'wmls', + Wmlsc = 'wmlsc', + Wmv = 'wmv', + Wrl = 'wrl', + Xbm = 'xbm', + Xht = 'xht', + Xhtml = 'xhtml', + Xls = 'xls', + Xml = 'xml', + Xpm = 'xpm', + Xsl = 'xsl', + Xlsx = 'xlsx', + Xltx = 'xltx', + Xlsm = 'xlsm', + Xltm = 'xltm', + Xlam = 'xlam', + Xlsb = 'xlsb', + Xslt = 'xslt', + Xul = 'xul', + Xwd = 'xwd', + Xyz = 'xyz', + Zip = 'zip', + Tpl = 'tpl', +} + +export enum FileType { + Audio = 'audio', + Documents = 'documents', + Images = 'images', + Videos = 'videos', + Templates = 'templates', +} + +export const FileExtensionSets: Record = { + Audio: [ + FileExtension.Aac, + FileExtension.Ac3, + FileExtension.Aif, + FileExtension.Aifc, + FileExtension.Aiff, + FileExtension.Flac, + FileExtension.M4a, + FileExtension.M4r, + FileExtension.Mp3, + FileExtension.Ogg, + FileExtension.Wav, + ], + Documents: [ + FileExtension.Doc, + FileExtension.Docx, + FileExtension.Dotx, + FileExtension.Pdf, + FileExtension.Potx, + FileExtension.Ppt, + FileExtension.Pptx, + FileExtension.Xls, + FileExtension.Xlsx, + FileExtension.Xltx, + ], + Images: [ + FileExtension.Ai, + FileExtension.Bmp, + FileExtension.Dng, + FileExtension.Eps, + FileExtension.Gif, + FileExtension.Heif, + FileExtension.Ico, + FileExtension.Jpeg, + FileExtension.Jpg, + FileExtension.Png, + FileExtension.Psd, + FileExtension.Svg, + FileExtension.Tif, + FileExtension.Tiff, + FileExtension.Webp, + ], + Videos: [ + FileExtension.Avi, + FileExtension.Flv, + FileExtension.M4v, + FileExtension.Mkv, + FileExtension.Mov, + FileExtension.Mp4, + FileExtension.Mpg, + FileExtension.Mts, + FileExtension.Webm, + FileExtension.Wmv, + ], + Templates: [ + FileExtension.Artboard, + FileExtension.Idml, + FileExtension.Indd, + FileExtension.Indt, + FileExtension.Sketch, + ], +}; + export { IconEnum } from '@frontify/fondue'; /** diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea1239d1a..7bb0d3606 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: specifier: ^5.0.6 version: 5.0.6 '@frontify/fondue': - specifier: 12.0.0-beta.382 - version: 12.0.0-beta.382(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2) + specifier: 12.0.0-beta.396 + version: 12.0.0-beta.396(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2) '@vitejs/plugin-react': specifier: ^4.2.0 version: 4.2.0(vite@4.5.0) @@ -228,7 +228,7 @@ importers: version: 5.3.2 vitest: specifier: ^0.34.6 - version: 0.34.6(@vitest/ui@0.34.6) + version: 0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3) packages/guideline-blocks-settings: dependencies: @@ -245,11 +245,11 @@ importers: specifier: ^8.0.0 version: 8.0.0(@dnd-kit/core@6.1.0)(react@18.2.0) '@frontify/app-bridge': - specifier: workspace:^ + specifier: ^3.0.0 version: link:../app-bridge '@frontify/fondue': - specifier: 12.0.0-beta.382 - version: 12.0.0-beta.382(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2) + specifier: 12.0.0-beta.396 + version: 12.0.0-beta.396(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -356,12 +356,9 @@ importers: packages/sidebar-settings: dependencies: - '@frontify/app-bridge': - specifier: workspace:^ - version: link:../app-bridge '@frontify/fondue': - specifier: 12.0.0-beta.382 - version: 12.0.0-beta.382(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2) + specifier: 12.0.0-beta.396 + version: 12.0.0-beta.396(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2) devDependencies: '@babel/core': specifier: ^7.23.3 @@ -451,10 +448,10 @@ packages: '@babel/helpers': 7.23.4 '@babel/parser': 7.23.4 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 + '@babel/traverse': 7.23.4(supports-color@5.5.0) '@babel/types': 7.23.4 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -563,7 +560,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.4 + '@babel/traverse': 7.23.4(supports-color@5.5.0) '@babel/types': 7.23.4 transitivePeerDependencies: - supports-color @@ -630,23 +627,6 @@ packages: '@babel/parser': 7.23.4 '@babel/types': 7.23.4 - /@babel/traverse@7.23.4: - resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.4 - '@babel/generator': 7.23.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - /@babel/traverse@7.23.4(supports-color@5.5.0): resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} engines: {node: '>=6.9.0'} @@ -975,7 +955,7 @@ packages: react: '>=16.8.0' dependencies: '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) - '@dnd-kit/utilities': 3.2.1(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) react: 18.2.0 tslib: 2.6.1 @@ -998,7 +978,7 @@ packages: react: '>=16.8.0' dependencies: '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) - '@dnd-kit/utilities': 3.2.1(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) react: 18.2.0 tslib: 2.6.1 @@ -1014,14 +994,6 @@ packages: tslib: 2.6.1 dev: false - /@dnd-kit/utilities@3.2.1(react@18.2.0): - resolution: {integrity: sha512-OOXqISfvBw/1REtkSK2N3Fi2EQiLMlWUlqnOK/UpOISqBZPWpE6TqL+jcPtMOkE8TqYGiURvRdPSI9hltNUjEA==} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: 18.2.0 - tslib: 2.6.1 - /@dnd-kit/utilities@3.2.2(react@18.2.0): resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} peerDependencies: @@ -1255,7 +1227,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) espree: 9.6.1 globals: 13.19.0 ignore: 5.2.4 @@ -1475,16 +1447,16 @@ packages: - supports-color dev: true - /@frontify/fondue-tokens@3.3.0-next.7(ts-node@10.9.1): - resolution: {integrity: sha512-uMZqCxfQNEe6kwKJtk4/YaHzJvxIz6wb9Znb4xJ6/b4Qn67ZHnwTL3qd+zgIkjNXMv4IlUKMCdOHpS2Li58O8Q==} + /@frontify/fondue-tokens@3.3.0-next.8(ts-node@10.9.1): + resolution: {integrity: sha512-jVSWvrO2KQ0+enLksjLrvQ512j5LUgycLVzbDiwgIEhEkfne5RuJBjLOa1cWiGpzIj1458Br7cVzCykYFLeJ4g==} dependencies: postcss: 8.4.31 tailwindcss: 3.3.5(ts-node@10.9.1) transitivePeerDependencies: - ts-node - /@frontify/fondue@12.0.0-beta.382(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2): - resolution: {integrity: sha512-0ffu0jmh46VTj99biHpJQSEfs44bph9xizpiYArWVQz5Jk+7MLSD4+wdfog9Ii3Czk43fUMKCeeu4yRcO9GFxw==} + /@frontify/fondue@12.0.0-beta.396(@babel/core@7.23.3)(@types/node@18.18.11)(@types/react-dom@18.2.16)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.3.5)(ts-node@10.9.1)(zustand@3.7.2): + resolution: {integrity: sha512-GoPFZPY8L9xRCYes92fFUX2knD/cxviD2AD56H3ykQfr+lsmuYgyPQ+1TEkem2PmnvwXk+GdytSU0r/7v1FX3Q==} engines: {node: '>=16'} peerDependencies: react: ^17 || ^18 @@ -1494,8 +1466,8 @@ packages: '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.1.0)(react@18.2.0) '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0) - '@dnd-kit/utilities': 3.2.1(react@18.2.0) - '@frontify/fondue-tokens': 3.3.0-next.7(ts-node@10.9.1) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + '@frontify/fondue-tokens': 3.3.0-next.8(ts-node@10.9.1) '@popperjs/core': 2.11.8 '@react-aria/accordion': 3.0.0-alpha.17(react@18.2.0) '@react-aria/aria-modal-polyfill': 3.7.1(react@18.2.0) @@ -1591,7 +1563,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3707,7 +3679,7 @@ packages: '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.54.0 graphemer: 1.4.0 ignore: 5.2.4 @@ -3763,7 +3735,7 @@ packages: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.54.0 typescript: 5.3.2 transitivePeerDependencies: @@ -3819,7 +3791,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.54.0 ts-api-utils: 1.0.1(typescript@5.3.2) typescript: 5.3.2 @@ -3868,7 +3840,7 @@ packages: dependencies: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -6318,7 +6290,7 @@ packages: std-env: 3.3.3 test-exclude: 6.0.0 v8-to-istanbul: 9.1.0 - vitest: 0.34.6(@vitest/ui@0.34.6) + vitest: 0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3) transitivePeerDependencies: - supports-color dev: true @@ -6365,7 +6337,7 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.34.6(@vitest/ui@0.34.6) + vitest: 0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3) dev: true /@vitest/utils@0.34.6: @@ -6798,7 +6770,7 @@ packages: resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} dependencies: archy: 1.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) fastq: 1.13.0 transitivePeerDependencies: - supports-color @@ -7486,17 +7458,6 @@ packages: supports-color: 8.1.1 dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - /debug@4.3.4(supports-color@5.5.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -8204,7 +8165,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) eslint: 8.54.0 lodash: 4.17.21 natural-compare: 1.4.0 @@ -8254,7 +8215,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -9502,7 +9463,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -10289,7 +10250,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -10525,7 +10486,7 @@ packages: resolution: {integrity: sha512-96yVFal0c/W1lG7mmfRe7eO+hovrhJYd2obzzOZ90f6fjpeU/XNvd9cYHZKZAQJumDfhXgoTpkpJ9pvMj+hqHw==} engines: {node: '>= 10.13'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: @@ -12883,7 +12844,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.4(supports-color@5.5.0) mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 @@ -12983,72 +12944,6 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vitest@0.34.6(@vitest/ui@0.34.6): - resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} - engines: {node: '>=v14.18.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true - dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 18.18.11 - '@vitest/expect': 0.34.6 - '@vitest/runner': 0.34.6 - '@vitest/snapshot': 0.34.6 - '@vitest/spy': 0.34.6 - '@vitest/ui': 0.34.6(vitest@0.34.6) - '@vitest/utils': 0.34.6 - acorn: 8.10.0 - acorn-walk: 8.2.0 - cac: 6.7.14 - chai: 4.3.10 - debug: 4.3.4 - local-pkg: 0.4.3 - magic-string: 0.30.1 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.0.1 - tinybench: 2.5.0 - tinypool: 0.7.0 - vite: 4.5.0(@types/node@18.18.11) - vite-node: 0.34.6(@types/node@18.18.11) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@0.34.6(@vitest/ui@0.34.6)(happy-dom@12.10.3): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} From 27dc8824556ef1d23025ea18280946925a40dc91 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 25 Jan 2024 14:56:13 +0100 Subject: [PATCH 004/327] regen lock --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d408b0905..03813dcf0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -248,7 +248,7 @@ importers: specifier: ^8.0.0 version: 8.0.0(@dnd-kit/core@6.1.0)(react@18.2.0) '@frontify/app-bridge': - specifier: ^3.0.0 + specifier: ^3.0.0 || ^4.0.0-alpha.0 version: link:../app-bridge '@frontify/fondue': specifier: 12.0.0-beta.396 From a027b87593ae25d18cda62c4989920a16958d28c Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Thu, 25 Jan 2024 15:00:43 +0100 Subject: [PATCH 005/327] feat: remove deprecated functions on appBridgeBlock (#705) --- .changeset/stale-hairs-wash.md | 5 ++ packages/app-bridge/src/AppBridgeBlock.ts | 54 ------------------- .../src/tests/AppBridgeBlockStub.ts | 21 -------- 3 files changed, 5 insertions(+), 75 deletions(-) create mode 100644 .changeset/stale-hairs-wash.md diff --git a/.changeset/stale-hairs-wash.md b/.changeset/stale-hairs-wash.md new file mode 100644 index 000000000..0d8972a0f --- /dev/null +++ b/.changeset/stale-hairs-wash.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": major +--- + +feat: first alpha release, removes all deprecated functions on the AppBridgeBlock diff --git a/packages/app-bridge/src/AppBridgeBlock.ts b/packages/app-bridge/src/AppBridgeBlock.ts index 1e2918aab..fddf90fea 100644 --- a/packages/app-bridge/src/AppBridgeBlock.ts +++ b/packages/app-bridge/src/AppBridgeBlock.ts @@ -21,7 +21,6 @@ import type { CommandRegistry } from './registries/commands/CommandRegistry'; import type { EventRegistry } from './registries/events/EventRegistry'; import type { Asset, - AssetChooserOptions, BulkDownload, Color, ColorCreate, @@ -103,18 +102,6 @@ export interface AppBridgeBlock< callback: EventCallbackParameter, ): EventUnsubscribeFunction; - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('blockId').get()` instead. - */ - getBlockId(): number; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('sectionId').get()` instead. - */ - getSectionId(): number | undefined; - getBlockAssets(): Promise>; getAssetById(assetId: number): Promise; @@ -123,12 +110,6 @@ export interface AppBridgeBlock< addAssetIdsToBlockAssetKey(key: string, assetIds: number[]): Promise; - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(openAssetViewer(token))` instead. - */ - openAssetViewer(token: string): void; - getBlockTemplates(): Promise>; addTemplateIdsToBlockTemplateKey(key: string, templateIds: number[]): Promise>; @@ -141,16 +122,6 @@ export interface AppBridgeBlock< getColors(): Promise; - /** - * @deprecated Use `getColors` instead. - */ - getAvailableColors(): Promise; - - /** - * @deprecated Use `getColorPalettes` instead. - */ - getAvailablePalettes(): Promise; - getColorPalettesWithColors(colorPaletteIds?: number[]): Promise; createColorPalette(colorPaletteCreate: ColorPaletteCreate): Promise; @@ -171,18 +142,6 @@ export interface AppBridgeBlock< updateBlockSettings>(newSettings: T): Promise; - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(openTemplateChooser())` instead. - */ - openTemplateChooser(callback: (selectedTemplate: TemplateLegacy) => void): void; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(closeTemplateChooser())` instead. - */ - closeTemplateChooser(): void; - getCurrentLoggedUser(): Promise; getBulkDownloadByToken(token: string): Promise; @@ -191,19 +150,6 @@ export interface AppBridgeBlock< getPrivacySettings(): PrivacySettings; - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(openAssetChooser(options))` to open the asset chooser - * and `appBridge.subscribe('assetsChosen', callback)` to subscribe to the asset chosen event - */ - openAssetChooser(callback: (selectedAssets: Asset[]) => void, options?: AssetChooserOptions): void; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(closeAssetChooser())` instead. - */ - closeAssetChooser(): void; - getProjectId(): number; getEditorState(): boolean; diff --git a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts index 79709f543..79a55a53e 100644 --- a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts @@ -24,8 +24,6 @@ export type getAppBridgeBlockStubProps = { blockSettings?: Record; blockAssets?: Record; editorState?: boolean; - openAssetChooser?: (callback: Parameters[0]) => void; - closeAssetChooser?: () => void; blockId?: number; sectionId?: number; projectId?: number; @@ -48,8 +46,6 @@ export const getAppBridgeBlockStub = ({ blockSettings = {}, blockAssets = {}, editorState = false, - openAssetChooser = () => null, - closeAssetChooser = () => null, blockId = BLOCK_ID, sectionId = SECTION_ID, projectId = PROJECT_ID, @@ -73,16 +69,9 @@ export const getAppBridgeBlockStub = ({ const addedTemplateIds: Record = {}; return { - getBlockId: stub>().returns(blockId), - getSectionId: stub>().returns(sectionId), getProjectId: stub>().returns(projectId), getEditorState: stub>().returns(editorState), getBlockSettings: stub>().resolves(window.blockSettings), - getAvailablePalettes: stub>().resolves([ - ColorPaletteDummy.with(678, 'Palette 1'), - ColorPaletteDummy.with(427, 'Palette 2'), - ColorPaletteDummy.with(679, 'Palette 3'), - ]), getColorPalettes: stub>().resolves([ ColorPaletteDummy.with(678, 'Palette 1'), ColorPaletteDummy.with(427, 'Palette 2'), @@ -110,7 +99,6 @@ export const getAppBridgeBlockStub = ({ ColorPaletteDummy.with(679, 'Palette 3'), ]), deleteColorPalette: stub>().resolves(), - getAvailableColors: stub>().resolves([]), getCurrentLoggedUser: stub>().resolves(user), downloadColorKit: stub>().returns( `/api/color/export/${PROJECT_ID}/zip/500`, @@ -118,12 +106,6 @@ export const getAppBridgeBlockStub = ({ getAssetById: stub>().callsFake((assetId) => Promise.resolve(AssetDummy.with(assetId)), ), - closeAssetChooser: stub>().callsFake(() => { - closeAssetChooser(); - }), - openAssetChooser: stub>().callsFake((callback) => { - openAssetChooser(callback); - }), getBlockAssets: stub>().callsFake(async () => { return Object.entries(blockAssets).reduce>((assetsDiff, [key, assets]) => { const addedAssetIdsList = addedAssetIds[key] ?? []; @@ -235,12 +217,9 @@ export const getAppBridgeBlockStub = ({ }), // TODO: Stub the following methods - closeTemplateChooser: stub>(), - openTemplateChooser: stub>(), createColor: stub>().resolves(ColorDummy.red()), deleteColor: stub>().resolves(), getTemplateById: stub>().resolves({} as TemplateLegacy), - openAssetViewer: stub>(), updateBlockSettings: stub>().resolves(), getAllDocuments: stub>().resolves(), getUngroupedDocuments: stub>().resolves(), From 618023875a3ed8b931cdfa93f3077d0aec279c9e Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 25 Jan 2024 15:17:32 +0100 Subject: [PATCH 006/327] chore: trying to fix peerDeps issue --- .changeset/config.json | 3 + package.json | 4 +- pnpm-lock.yaml | 175 ++++++++++++++++++++--------------------- 3 files changed, 89 insertions(+), 93 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index b063043cd..8a1151811 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -4,6 +4,9 @@ "@changesets/changelog-github", { "repo": "frontify/brand-sdk" } ], + "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": { + "onlyUpdatePeerDependentsWhenOutOfRange": true + }, "commit": false, "access": "public", "baseBranch": "main", diff --git a/package.json b/package.json index a2f85573c..548776ea6 100644 --- a/package.json +++ b/package.json @@ -17,8 +17,8 @@ "ci:publish": "pnpm build && changeset publish" }, "devDependencies": { - "@changesets/changelog-github": "^0.4.8", - "@changesets/cli": "^2.26.2", + "@changesets/changelog-github": "^0.5.0", + "@changesets/cli": "^2.27.1", "@cypress/vite-dev-server": "^5.0.6", "@frontify/fondue": "12.0.0-beta.396", "@vitejs/plugin-react": "^4.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03813dcf0..ccb3a8630 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: devDependencies: '@changesets/changelog-github': - specifier: ^0.4.8 - version: 0.4.8 + specifier: ^0.5.0 + version: 0.5.0 '@changesets/cli': - specifier: ^2.26.2 - version: 2.26.2 + specifier: ^2.27.1 + version: 2.27.1 '@cypress/vite-dev-server': specifier: ^5.0.6 version: 5.0.6 @@ -683,14 +683,14 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@changesets/apply-release-plan@6.1.4: - resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} + /@changesets/apply-release-plan@7.0.0: + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/config': 2.3.1 - '@changesets/get-version-range-type': 0.3.2 - '@changesets/git': 2.0.0 - '@changesets/types': 5.2.1 + '@changesets/config': 3.0.0 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 fs-extra: 7.0.1 @@ -701,61 +701,60 @@ packages: semver: 7.5.4 dev: true - /@changesets/assemble-release-plan@5.2.4: - resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==} + /@changesets/assemble-release-plan@6.0.0: + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/types': 5.2.1 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 semver: 7.5.4 dev: true - /@changesets/changelog-git@0.1.14: - resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + /@changesets/changelog-git@0.2.0: + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 dev: true - /@changesets/changelog-github@0.4.8: - resolution: {integrity: sha512-jR1DHibkMAb5v/8ym77E4AMNWZKB5NPzw5a5Wtqm1JepAuIF+hrKp2u04NKM14oBZhHglkCfrla9uq8ORnK/dw==} + /@changesets/changelog-github@0.5.0: + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} dependencies: - '@changesets/get-github-info': 0.5.2 - '@changesets/types': 5.2.1 + '@changesets/get-github-info': 0.6.0 + '@changesets/types': 6.0.0 dotenv: 8.6.0 transitivePeerDependencies: - encoding dev: true - /@changesets/cli@2.26.2: - resolution: {integrity: sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==} + /@changesets/cli@2.27.1: + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} hasBin: true dependencies: '@babel/runtime': 7.21.0 - '@changesets/apply-release-plan': 6.1.4 - '@changesets/assemble-release-plan': 5.2.4 - '@changesets/changelog-git': 0.1.14 - '@changesets/config': 2.3.1 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/get-release-plan': 3.0.17 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@changesets/write': 0.2.3 + '@changesets/apply-release-plan': 7.0.0 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/changelog-git': 0.2.0 + '@changesets/config': 3.0.0 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-release-plan': 4.0.0 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 + '@changesets/types': 6.0.0 + '@changesets/write': 0.3.0 '@manypkg/get-packages': 1.1.3 - '@types/is-ci': 3.0.0 '@types/semver': 7.5.0 ansi-colors: 4.1.3 chalk: 2.4.2 + ci-info: 3.8.0 enquirer: 2.3.6 external-editor: 3.1.0 fs-extra: 7.0.1 human-id: 1.0.2 - is-ci: 3.0.1 meow: 6.1.1 outdent: 0.5.0 p-limit: 2.3.0 @@ -767,36 +766,36 @@ packages: tty-table: 4.2.1 dev: true - /@changesets/config@2.3.1: - resolution: {integrity: sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==} + /@changesets/config@3.0.0: + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} dependencies: - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.6 - '@changesets/logger': 0.0.5 - '@changesets/types': 5.2.1 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.0.0 + '@changesets/logger': 0.1.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 micromatch: 4.0.5 dev: true - /@changesets/errors@0.1.4: - resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + /@changesets/errors@0.2.0: + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} dependencies: extendable-error: 0.1.7 dev: true - /@changesets/get-dependents-graph@1.3.6: - resolution: {integrity: sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==} + /@changesets/get-dependents-graph@2.0.0: + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 semver: 7.5.4 dev: true - /@changesets/get-github-info@0.5.2: - resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} + /@changesets/get-github-info@0.6.0: + resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} dependencies: dataloader: 1.4.0 node-fetch: 2.6.9 @@ -804,65 +803,65 @@ packages: - encoding dev: true - /@changesets/get-release-plan@3.0.17: - resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==} + /@changesets/get-release-plan@4.0.0: + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/assemble-release-plan': 5.2.4 - '@changesets/config': 2.3.1 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 + '@changesets/assemble-release-plan': 6.0.0 + '@changesets/config': 3.0.0 + '@changesets/pre': 2.0.0 + '@changesets/read': 0.6.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 dev: true - /@changesets/get-version-range-type@0.3.2: - resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + /@changesets/get-version-range-type@0.4.0: + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} dev: true - /@changesets/git@2.0.0: - resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + /@changesets/git@3.0.0: + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.5 spawndamnit: 2.0.0 dev: true - /@changesets/logger@0.0.5: - resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + /@changesets/logger@0.1.0: + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} dependencies: chalk: 2.4.2 dev: true - /@changesets/parse@0.3.16: - resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + /@changesets/parse@0.4.0: + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 js-yaml: 3.14.1 dev: true - /@changesets/pre@1.0.14: - resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + /@changesets/pre@2.0.0: + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 dev: true - /@changesets/read@0.5.9: - resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + /@changesets/read@0.6.0: + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/parse': 0.3.16 - '@changesets/types': 5.2.1 + '@changesets/git': 3.0.0 + '@changesets/logger': 0.1.0 + '@changesets/parse': 0.4.0 + '@changesets/types': 6.0.0 chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 @@ -872,15 +871,15 @@ packages: resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} dev: true - /@changesets/types@5.2.1: - resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + /@changesets/types@6.0.0: + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} dev: true - /@changesets/write@0.2.3: - resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + /@changesets/write@0.3.0: + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} dependencies: '@babel/runtime': 7.21.0 - '@changesets/types': 5.2.1 + '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 prettier: 2.8.8 @@ -3980,12 +3979,6 @@ packages: resolution: {integrity: sha512-nDKoaKJYbnn1MZxUY0cA1bPmmgZbg0cTq7Rh13d0KWYNOiKbqoR+2d89SnRPszGh7ROzSwZ/GOjZ4jPbmmZ6Eg==} dev: true - /@types/is-ci@3.0.0: - resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} - dependencies: - ci-info: 3.8.0 - dev: true - /@types/is-hotkey@0.1.7: resolution: {integrity: sha512-yB5C7zcOM7idwYZZ1wKQ3pTfjA9BbvFqRWvKB46GFddxnJtHwi/b9y84ykQtxQPg5qhdpg4Q/kWU3EGoCTmLzQ==} From b023b91e5340b38c4eeaf4004e6eb8054e9cce48 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 15:24:24 +0100 Subject: [PATCH 007/327] chore: release packages (alpha) (#716) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 +++- packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 35b8a0ceb..6b5fadfc2 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -7,5 +7,7 @@ "@frontify/guideline-blocks-settings": "0.29.16", "@frontify/sidebar-settings": "0.8.1" }, - "changesets": [] + "changesets": [ + "stale-hairs-wash" + ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index d6916cc95..0e7c5cf89 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.0 + +### Major Changes + +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock + ## 3.1.0 ### Minor Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index f60f37a4b..492ff98c8 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "3.1.0", + "version": "4.0.0-alpha.0", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From d12f408fac77b8d9d09e764033fa2f2e81bab8a3 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Fri, 26 Jan 2024 11:15:22 +0100 Subject: [PATCH 008/327] ci: add latest 3 to matrix (#718) * ci: add latest 3 and first 4 to matrix * see them run * adds fail fast again * remove 4.0.0-alpha.0 from matrix * revert run change --- .../workflows/guideline-blocks-continuous-integration.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/guideline-blocks-continuous-integration.yml b/.github/workflows/guideline-blocks-continuous-integration.yml index c0ad4c0c6..3ee2d9274 100644 --- a/.github/workflows/guideline-blocks-continuous-integration.yml +++ b/.github/workflows/guideline-blocks-continuous-integration.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - app-bridge-version: ["3.0.0", "workspace:^"] + app-bridge-version: ["3.0.0", "^3.0.0", "workspace:^"] steps: - name: Checkout default branch @@ -67,7 +67,7 @@ jobs: strategy: fail-fast: false matrix: - app-bridge-version: ["3.0.0", "workspace:^"] + app-bridge-version: ["3.0.0", "^3.0.0", "workspace:^"] steps: - name: Checkout current commit @@ -119,7 +119,7 @@ jobs: strategy: fail-fast: false matrix: - app-bridge-version: ["3.0.0", "workspace:^"] + app-bridge-version: ["3.0.0", "^3.0.0", "workspace:^"] steps: - name: Checkout current commit From 5ea66a79bac131f5b34f1a1bf60fbe81add6b17f Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Thu, 8 Feb 2024 16:31:39 +0100 Subject: [PATCH 009/327] feat: AppBridgeThemes update context to include template (#742) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci: add alpha (first and latest) to the matrix (#717) * ci: add alpha (latest and earliest) to the matrix * add change to see them run * revert commit before * adds fail-fast: false again * see them run again * revert change for running * fix: useAttachments use the correct functions, for adding and removing (#720) * fix: useAttachments use the correct functions, for adding and removing * add changeset * Update .changeset/afraid-trees-mate.md Co-authored-by: Sam Creasey * refactor: rename assetId to attachmentKey within useAttachments --------- Co-authored-by: Sam Creasey * chore: release packages (#721) Co-authored-by: github-actions[bot] * feat: add label option to getBackgroundSettings (#722) * add label option to background settings * add changeset * add default prop * chore: release packages (#723) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] * fix: properly handle paths on windows (#719) * fix: properly handle paths on windows * Add changeset * Update .changeset/five-apples-impress.md Co-authored-by: Rafael Giezendanner --------- Co-authored-by: Rafael Giezendanner * fix: nested template literals and typo (#726) * feat: add deploy token (#724) * feat: add the option to deploy with token * fix: make token optional * fix: remove duplicated token retrival * fix: more informative error message * fix: standardize placeholders in cli messages * fix: add option info to changelog * fix: simplify option retrival and assignment * test: getUser with token * fix: cli commands brackets (#727) * fix: cli commands brackets * fix option brackets * chore: release packages (#725) Co-authored-by: github-actions[bot] * fix: add missing `types` entry in exports list (#728) * fix: add missing `types` entry in exports list * chore: update description of changeset Co-authored-by: Rafael Giezendanner --------- Co-authored-by: Rafael Giezendanner * chore: release packages (#729) Co-authored-by: github-actions[bot] * feat: add theme template context to appBridgeThemes context (#731) * feat: add theme template context to appBridgeThemes context * cleaning * update template context * changeset * ci: adjust CODEOWNERS due to team name changes (#738) * ci: adjust CODEOWNERS due to team name changes * adjust ecosystem to api and sdk * ci: fix changeset onlyUpdatePeerDepsWhenOutOfRange (#737) * feat: add platform-app package and adjust codeowners (#733) * feat: add platform-app package and adjust codeowners * fix: typing * chore: adjust for review * chore: adjust scripts * feat: add Readme * chore: fix module exports * chore: update pnpm-lock.yaml * Update packages/platform-app/README.md Co-authored-by: Samuel Alev * Update packages/platform-app/README.md Co-authored-by: Samuel Alev * chore: adjust to workspace * chore: fix team names * chore: use combined team for types * chore: use combined team for types * chore: update naming --------- Co-authored-by: Samuel Alev * chore: update lock file (#739) * chore: add empty test (#740) * chore: release packages (#735) Co-authored-by: github-actions[bot] * add changeset --------- Signed-off-by: Sam Creasey Co-authored-by: Rafael Giezendanner Co-authored-by: Sam Creasey Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: Florian Gächter <818120+floriangaechter@users.noreply.github.com> Co-authored-by: Samuel Alev Co-authored-by: Julian Iff --- .changeset/kind-fishes-flash.md | 5 + ...uideline-blocks-continuous-integration.yml | 1 - CODEOWNERS | 253 +++++++++--------- packages/app-bridge/CHANGELOG.md | 6 + packages/app-bridge/src/AppBridgeTheme.ts | 7 + packages/cli/CHANGELOG.md | 14 + packages/cli/package.json | 2 +- packages/cli/src/commands/deploy.ts | 36 ++- packages/cli/src/commands/login.ts | 6 +- packages/cli/src/index.ts | 10 +- packages/cli/src/utils/user.ts | 9 +- packages/cli/tests/utils/user.spec.ts | 8 +- .../guideline-blocks-settings/CHANGELOG.md | 18 ++ .../guideline-blocks-settings/package.json | 3 +- .../src/hooks/useAttachments.tsx | 25 +- .../src/settings/background.ts | 21 +- packages/platform-app/.eslintrc.js | 27 ++ packages/platform-app/.gitignore | 3 + packages/platform-app/.prettierrc | 5 + packages/platform-app/README.md | 38 +++ packages/platform-app/package.json | 50 ++++ packages/platform-app/src/index.ts | 3 + .../platform-app/src/platformApps.spec.ts | 7 + packages/platform-app/src/platformApps.ts | 58 ++++ packages/platform-app/tsconfig.json | 21 ++ packages/platform-app/tsconfig.node.json | 10 + packages/platform-app/vite.config.ts | 46 ++++ pnpm-lock.yaml | 227 ++++++++-------- 28 files changed, 621 insertions(+), 298 deletions(-) create mode 100644 .changeset/kind-fishes-flash.md create mode 100644 packages/platform-app/.eslintrc.js create mode 100644 packages/platform-app/.gitignore create mode 100644 packages/platform-app/.prettierrc create mode 100644 packages/platform-app/README.md create mode 100644 packages/platform-app/package.json create mode 100644 packages/platform-app/src/index.ts create mode 100644 packages/platform-app/src/platformApps.spec.ts create mode 100644 packages/platform-app/src/platformApps.ts create mode 100644 packages/platform-app/tsconfig.json create mode 100644 packages/platform-app/tsconfig.node.json create mode 100644 packages/platform-app/vite.config.ts diff --git a/.changeset/kind-fishes-flash.md b/.changeset/kind-fishes-flash.md new file mode 100644 index 000000000..185052be7 --- /dev/null +++ b/.changeset/kind-fishes-flash.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: add context.template to AppBridgeTheme diff --git a/.github/workflows/guideline-blocks-continuous-integration.yml b/.github/workflows/guideline-blocks-continuous-integration.yml index 3ee2d9274..06f262890 100644 --- a/.github/workflows/guideline-blocks-continuous-integration.yml +++ b/.github/workflows/guideline-blocks-continuous-integration.yml @@ -23,7 +23,6 @@ jobs: fail-fast: false matrix: app-bridge-version: ["3.0.0", "^3.0.0", "workspace:^"] - steps: - name: Checkout default branch uses: actions/checkout@v4 diff --git a/CODEOWNERS b/CODEOWNERS index f8256cae3..79d41bab9 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,158 +1,159 @@ # App Bridge -packages/app-bridge/src/types @Frontify/ecosystem +packages/app-bridge/src/types @Frontify/api-and-sdk ## App Bridge Errors -packages/app-bridge/src/errors/HttpClientError.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration -packages/app-bridge/src/errors/InitializationError.ts @Frontify/integration -packages/app-bridge/src/errors/NotifyError.ts @Frontify/integration -packages/app-bridge/src/errors/TimeoutReachedError.ts @Frontify/integration -packages/app-bridge/src/errors/ValidationError.ts @Frontify/integration +packages/app-bridge/src/errors/HttpClientError.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/app-bridge/src/errors/InitializationError.ts @Frontify/apps-and-integrations +packages/app-bridge/src/errors/NotifyError.ts @Frontify/apps-and-integrations +packages/app-bridge/src/errors/TimeoutReachedError.ts @Frontify/apps-and-integrations +packages/app-bridge/src/errors/ValidationError.ts @Frontify/apps-and-integrations ## App Bridge Helpers -packages/app-bridge/src/helpers/ @Frontify/guidelines-navigation-themes - -## React Hooks -packages/app-bridge/src/react/useAssetBulkDownload.spec.tsx @Frontify/guidelines-one -packages/app-bridge/src/react/useAssetBulkDownload.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useAssetChooser.spec.tsx @Frontify/guidelines-one -packages/app-bridge/src/react/useAssetChooser.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useAssetUpload.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useAssetViewer.spec.tsx @Frontify/guidelines-one -packages/app-bridge/src/react/useAssetViewer.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useBlockAssets.spec.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useBlockAssets.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useBlockSettings.spec.tsx @Frontify/guidelines-one -packages/app-bridge/src/react/useBlockSettings.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useBlockTemplates.spec.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useBlockTemplates.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useBrandportalLink.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useBrandportalLink.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useCategorizedDocumentPages.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useColorPalettes.spec.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useColorPalettes.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useColors.spec.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useColors.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useCoverPage.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useCoverPage.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentCategories.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentCategories.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentGroups.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentGroups.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentPageTargets.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentPageTargets.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentSection.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentTargets.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useDocumentTargets.tsx @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useEditorState.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useFileInput.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useFileUpload.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useGroupedDocuments.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useGroupedDocuments.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useGuidelineActions.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useGuidelineActions.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useLanguage.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useLanguage.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useNavigationManager.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useNavigationManager.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/usePageTemplateSettings.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/usePlatformAppBridge.spec.ts @Frontify/integration -packages/app-bridge/src/react/usePlatformAppBridge.ts @Frontify/integration -packages/app-bridge/src/react/usePrivacySettings.spec.ts @Frontify/guidelines-one -packages/app-bridge/src/react/usePrivacySettings.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useReadyForPrint.spec.tsx @Frontify/guidelines-one -packages/app-bridge/src/react/useReadyForPrint.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useTemplateAssets.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useTemplateAssets.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useTemplateChooser.spec.tsx @Frontify/guidelines-one -packages/app-bridge/src/react/useTemplateChooser.ts @Frontify/guidelines-one -packages/app-bridge/src/react/useThemeAssets.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useThemeAssets.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useThemeSettings.spec.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useThemeSettings.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useUncategorizedDocumentPages.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useUngroupedDocuments.spec.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/react/useUngroupedDocuments.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/helpers/ @Frontify/themes-and-navigation + +## React Hooks +packages/app-bridge/src/react/useAssetBulkDownload.spec.tsx @Frontify/content-and-blocks +packages/app-bridge/src/react/useAssetBulkDownload.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useAssetChooser.spec.tsx @Frontify/content-and-blocks +packages/app-bridge/src/react/useAssetChooser.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useAssetUpload.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useAssetViewer.spec.tsx @Frontify/content-and-blocks +packages/app-bridge/src/react/useAssetViewer.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useBlockAssets.spec.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useBlockAssets.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useBlockSettings.spec.tsx @Frontify/content-and-blocks +packages/app-bridge/src/react/useBlockSettings.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useBlockTemplates.spec.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useBlockTemplates.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useBrandportalLink.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useBrandportalLink.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useCategorizedDocumentPages.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useColorPalettes.spec.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useColorPalettes.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useColors.spec.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useColors.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useCoverPage.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useCoverPage.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentCategories.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentCategories.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentGroups.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentGroups.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentPageTargets.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentPageTargets.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentSection.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentTargets.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useDocumentTargets.tsx @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useEditorState.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useFileInput.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useFileUpload.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useGroupedDocuments.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useGroupedDocuments.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useGuidelineActions.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useGuidelineActions.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useLanguage.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useLanguage.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useNavigationManager.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useNavigationManager.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/usePageTemplateSettings.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/usePlatformAppBridge.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/react/usePlatformAppBridge.ts @Frontify/apps-and-integrations +packages/app-bridge/src/react/usePrivacySettings.spec.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/usePrivacySettings.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useReadyForPrint.spec.tsx @Frontify/content-and-blocks +packages/app-bridge/src/react/useReadyForPrint.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useTemplateAssets.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useTemplateAssets.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useTemplateChooser.spec.tsx @Frontify/content-and-blocks +packages/app-bridge/src/react/useTemplateChooser.ts @Frontify/content-and-blocks +packages/app-bridge/src/react/useThemeAssets.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useThemeAssets.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useThemeSettings.spec.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useThemeSettings.ts @Frontify/themes-and-navigation +packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useUncategorizedDocumentPages.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useUngroupedDocuments.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/react/useUngroupedDocuments.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation ### App Bridge registries api -packages/app-bridge/src/registries/api/CreateAsset.ts @Frontify/integration -packages/app-bridge/src/registries/api/CreateAsset.spec.ts @Frontify/integration -packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts @Frontify/integration -packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts @Frontify/integration -packages/app-bridge/src/registries/api/GetAssetBulkDownloadToken.ts @Frontify/guidelines-one -packages/app-bridge/src/registries/api/GetCurrentUser.ts @Frontify/guidelines-one @Frontify/integration @Frontify/guidelines-navigation-themes -packages/app-bridge/src/registries/api/GetCurrentUser.spec.ts @Frontify/guidelines-one @Frontify/integration @Frontify/guidelines-navigation-themes +packages/app-bridge/src/registries/api/CreateAsset.ts @Frontify/apps-and-integrations +packages/app-bridge/src/registries/api/CreateAsset.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts @Frontify/apps-and-integrations +packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/registries/api/GetAssetBulkDownloadToken.ts @Frontify/content-and-blocks +packages/app-bridge/src/registries/api/GetCurrentUser.ts @Frontify/content-and-blocks @Frontify/apps-and-integrations @Frontify/themes-and-navigation +packages/app-bridge/src/registries/api/GetCurrentUser.spec.ts @Frontify/content-and-blocks @Frontify/apps-and-integrations @Frontify/themes-and-navigation ### App Bridge registries commands -packages/app-bridge/src/registries/commands/AssetChooser.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes -packages/app-bridge/src/registries/commands/AssetViewer.ts @Frontify/guidelines-one -packages/app-bridge/src/registries/commands/Connection.ts @Frontify/integration -packages/app-bridge/src/registries/commands/DownloadAsset.ts @Frontify/guidelines-one -packages/app-bridge/src/registries/commands/NavigationManager.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/registries/commands/NewPublication.ts @Frontify/guidelines-one -packages/app-bridge/src/registries/commands/TemplateChooser.ts @Frontify/guidelines-one +packages/app-bridge/src/registries/commands/AssetChooser.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/registries/commands/AssetViewer.ts @Frontify/content-and-blocks +packages/app-bridge/src/registries/commands/Connection.ts @Frontify/apps-and-integrations +packages/app-bridge/src/registries/commands/DownloadAsset.ts @Frontify/content-and-blocks +packages/app-bridge/src/registries/commands/NavigationManager.ts @Frontify/themes-and-navigation +packages/app-bridge/src/registries/commands/NewPublication.ts @Frontify/content-and-blocks +packages/app-bridge/src/registries/commands/TemplateChooser.ts @Frontify/content-and-blocks ### App Bridge registries events -packages/app-bridge/src/registries/events/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/app-bridge/src/registries/events/ @Frontify/content-and-blocks @Frontify/themes-and-navigation ### App Bridge registries verbs -packages/app-bridge/src/registries/verbs/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/app-bridge/src/registries/verbs/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations ## App Bridge repositories -packages/app-bridge/src/repositories/ @Frontify/guidelines-one +packages/app-bridge/src/repositories/ @Frontify/content-and-blocks ## App Bridge Tests -packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/guidelines-one -packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts @Frontify/integration -packages/app-bridge/src/tests/AppBridgeThemeStub.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/guidelines-one -packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx @Frontify/guidelines-navigation-themes +packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/content-and-blocks +packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts @Frontify/apps-and-integrations +packages/app-bridge/src/tests/AppBridgeThemeStub.ts @Frontify/themes-and-navigation +packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/content-and-blocks +packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx @Frontify/themes-and-navigation ## App Bridge Utilities -packages/app-bridge/src/utilities/hash.ts @Frontify/integration -packages/app-bridge/src/utilities/httpClient.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration -packages/app-bridge/src/utilities/MessageBus.ts @Frontify/integration -packages/app-bridge/src/utilities/MessageBus.spec.ts @Frontify/integration -packages/app-bridge/src/utilities/notify.ts @Frontify/integration -packages/app-bridge/src/utilities/object.spec.ts @Frontify/guidelines-one -packages/app-bridge/src/utilities/object.ts @Frontify/guidelines-one -packages/app-bridge/src/utilities/queryParams.spec.ts @Frontify/integration -packages/app-bridge/src/utilities/queryParams.ts @Frontify/integration -packages/app-bridge/src/utilities/subscribe.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/app-bridge/src/utilities/hash.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/httpClient.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/MessageBus.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/MessageBus.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/notify.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/object.spec.ts @Frontify/content-and-blocks +packages/app-bridge/src/utilities/object.ts @Frontify/content-and-blocks +packages/app-bridge/src/utilities/queryParams.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/queryParams.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/subscribe.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations ## App Bridge Worker -packages/app-bridge/src/worker/ @Frontify/guidelines-one +packages/app-bridge/src/worker/ @Frontify/content-and-blocks ## App Bridge Interfaces -packages/app-bridge/src/AppBridge.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration -packages/app-bridge/src/AppBridgeBlock.ts @Frontify/guidelines-one -packages/app-bridge/src/AppBridgeCreateAsset.spec.ts @Frontify/integration -packages/app-bridge/src/AppBridgeCreateAsset.ts @Frontify/integration -packages/app-bridge/src/AppBridgePlatformApp.spec.ts @Frontify/integration -packages/app-bridge/src/AppBridgePlatformApp.ts @Frontify/integration -packages/app-bridge/src/AppBridgeTheme.ts @Frontify/guidelines-navigation-themes -packages/app-bridge/src/window.d.ts @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/app-bridge/src/AppBridge.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/app-bridge/src/AppBridgeBlock.ts @Frontify/content-and-blocks +packages/app-bridge/src/AppBridgeCreateAsset.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/AppBridgeCreateAsset.ts @Frontify/apps-and-integrations +packages/app-bridge/src/AppBridgePlatformApp.spec.ts @Frontify/apps-and-integrations +packages/app-bridge/src/AppBridgePlatformApp.ts @Frontify/apps-and-integrations +packages/app-bridge/src/AppBridgeTheme.ts @Frontify/themes-and-navigation +packages/app-bridge/src/window.d.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations # CLI -packages/cli/src/commands/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration -packages/cli/src/errors/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration -packages/cli/src/utils/ @Frontify/guidelines-one @Frontify/guidelines-navigation-themes @Frontify/integration +packages/cli/src/commands/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/cli/src/errors/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/cli/src/utils/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations ## Templates -packages/cli/templates/content-block-css @Frontify/guidelines-one -packages/cli/templates/content-block-css-modules @Frontify/guidelines-one -packages/cli/templates/content-block-tailwind @Frontify/guidelines-one -packages/cli/templates/platform-app-css @Frontify/integration -packages/cli/templates/platform-app-css-modules @Frontify/integration -packages/cli/templates/platform-app-tailwind @Frontify/integration - - +packages/cli/templates/content-block-css @Frontify/content-and-blocks +packages/cli/templates/content-block-css-modules @Frontify/content-and-blocks +packages/cli/templates/content-block-tailwind @Frontify/content-and-blocks +packages/cli/templates/platform-app-css @Frontify/apps-and-integrations +packages/cli/templates/platform-app-css-modules @Frontify/apps-and-integrations +packages/cli/templates/platform-app-tailwind @Frontify/apps-and-integrations + +# Platform Apps types +packages/platform-app @Frontify/apps-and-integrations # Guideline Blocks Settings -packages/guideline-blocks-settings @Frontify/guidelines-one +packages/guideline-blocks-settings @Frontify/content-and-blocks # Sidebar Settings -packages/sidebar-settings @Frontify/guidelines-one @Frontify/guidelines-navigation-themes +packages/sidebar-settings @Frontify/content-and-blocks @Frontify/themes-and-navigation CODEOWNERS @Frontify/architecture diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 0e7c5cf89..e615c699c 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 3.2.0 + +### Minor Changes + +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context + ## 4.0.0-alpha.0 ### Major Changes diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts index f1cf6065e..1db101f62 100644 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ b/packages/app-bridge/src/AppBridgeTheme.ts @@ -61,6 +61,12 @@ export type ThemeCommand = CommandNameValidator< Pick >; +export type TemplateContext = { templateId: string; type: ThemeTemplate } & ( + | { type: 'documentPage'; document: Document; documentPage: DocumentPage } + | { type: 'library'; document: Document } + | { type: 'cover'; coverPage: CoverPage } +); + export type ThemeState = { settings: Record; assets: Record; @@ -77,6 +83,7 @@ export type ThemeContext = { isPublicLink: boolean; isAuthenticated: boolean; languages: Language[]; + template: TemplateContext | null; }; export type ThemeEvent = EventNameValidator< diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 0c8657ffc..457460c08 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,19 @@ # @frontify/frontify-cli +## 5.6.0 + +### Minor Changes + +- [#724](https://github.com/Frontify/brand-sdk/pull/724) [`b6c65ba`](https://github.com/Frontify/brand-sdk/commit/b6c65bafa134d8de07fbf990f27462f3005ea744) Thanks [@floriangaechter](https://github.com/floriangaechter)! - feat: add the option to deploy with token + - `-i, --instance `: url of the Frontify instance + - `-t, --token `: the access token to authenticate with the Frontify instance + +### Patch Changes + +- [#719](https://github.com/Frontify/brand-sdk/pull/719) [`4a676dc`](https://github.com/Frontify/brand-sdk/commit/4a676dcccc90dd56ba63cc75b97eea03b534177e) Thanks [@floriangaechter](https://github.com/floriangaechter)! - fix: Path handling on windows + +- [#726](https://github.com/Frontify/brand-sdk/pull/726) [`935c591`](https://github.com/Frontify/brand-sdk/commit/935c591b83865e3a4eaa5bab472861d6a5656a4d) Thanks [@ragi96](https://github.com/ragi96)! - fix: nested template literals and also some typos + ## 5.5.9 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 7b45402ad..90f58a996 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "author": "Frontify Developers ", - "version": "5.5.9", + "version": "5.6.0", "bin": { "frontify-cli": "dist/index.mjs" }, diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index c7c47df2c..1a04d505b 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -23,6 +23,8 @@ type Options = { dryRun?: boolean; noVerify?: boolean; openInBrowser?: boolean; + token?: string; + instance?: string; }; export type AppManifest = { @@ -34,8 +36,7 @@ export type AppManifest = { }; const makeFilesDict = async (glob: string, ignoreGlobs?: string[]) => { - const folderFiles = await fastGlob(join(glob, '**'), { ignore: ignoreGlobs, dot: true }); - + const folderFiles = await fastGlob(`${fastGlob.convertPathToPattern(glob)}/**`, { ignore: ignoreGlobs, dot: true }); const folderFilenames = folderFiles.map((filePath) => filePath.replace(`${glob}/`, '')); return folderFilenames.reduce((stack, filename, index) => { @@ -50,19 +51,25 @@ const SOURCE_FILE_BLOCK_LIST = ['.git', 'node_modules', 'dist', '.vscode', '.ide export const createDeployment = async ( entryFile: string, distPath: string, - { dryRun = false, noVerify = false, openInBrowser = false }: Options, + { dryRun = false, noVerify = false, openInBrowser = false, token, instance }: Options, compile: ({ projectPath, entryFile, outputName }: CompilerOptions) => Promise, ): Promise => { try { let user: UserInfo | undefined; - const instanceUrl = Configuration.get('instanceUrl') as string | undefined; - if (!instanceUrl) { - Logger.error(`You are not logged in, you can use the command ${pc.bold('frontify-cli login')}.`); + const instanceUrl = instance || Configuration.get('instanceUrl'); + const accessToken = token || Configuration.get('tokens.access_token'); + + if (!accessToken || !instanceUrl) { + Logger.error( + `You are currently not logged in. You can use the command ${pc.bold( + 'frontify-cli login', + )} to log in, or pass --token= --instance= to the deploy command.`, + ); process.exit(-1); } if (!dryRun) { - user = await getUser(instanceUrl); + user = await getUser(instanceUrl, token); user && Logger.info(`You are logged in as ${user.name} (${instanceUrl}).`); } @@ -91,18 +98,23 @@ export const createDeployment = async ( process.exit(-1); } - const buildFilesToIgnore = BUILD_FILE_BLOCK_LIST.map((path) => join(projectPath, path)); + const buildFilesToIgnore = BUILD_FILE_BLOCK_LIST.map((path) => + fastGlob.convertPathToPattern(projectPath + path), + ); const gitignoreEntries = readFileLinesAsArray(join(projectPath, '.gitignore')).filter( (entry) => entry !== 'manifest.json', ); const sourceFilesToIgnore = [...gitignoreEntries, ...SOURCE_FILE_BLOCK_LIST].map((path) => - join(projectPath, path), + fastGlob.convertPathToPattern(`${projectPath}/${path}`), ); const request = { - build_files: await makeFilesDict(join(projectPath, distPath), buildFilesToIgnore), - source_files: await makeFilesDict(join(projectPath), sourceFilesToIgnore), + build_files: await makeFilesDict( + fastGlob.convertPathToPattern(`${projectPath}/${distPath}`), + buildFilesToIgnore, + ), + source_files: await makeFilesDict(fastGlob.convertPathToPattern(projectPath), sourceFilesToIgnore), }; if (!dryRun) { @@ -110,8 +122,6 @@ export const createDeployment = async ( const httpClient = new HttpClient(instanceUrl); - const accessToken = Configuration.get('tokens.access_token'); - try { await httpClient.put(`/api/marketplace/app/${appId}`, request, { headers: { Authorization: `Bearer ${accessToken}` }, diff --git a/packages/cli/src/commands/login.ts b/packages/cli/src/commands/login.ts index 5c07e2663..697d12ece 100644 --- a/packages/cli/src/commands/login.ts +++ b/packages/cli/src/commands/login.ts @@ -52,7 +52,7 @@ export class Authenticator { Configuration.set('instanceUrl', this.instanceUrl); const user = await getUser(this.instanceUrl); - user && Logger.success(`${`Welcome back ${user.name} (${this.instanceUrl})!`}`); + user && Logger.success(`Welcome back ${user.name} (${this.instanceUrl})!`); process.exit(0); }); @@ -70,7 +70,7 @@ export class Authenticator { this.randomChallenge = randomCodeChallenge.data; } catch (error) { const errorText = error instanceof Error ? error.message : String(error); - throw new Error(`An error occured while getting the random challenge: ${errorText}`); + throw new Error(`An error occurred while getting the random challenge: ${errorText}`); } } @@ -109,7 +109,7 @@ export class Authenticator { return tokens; } catch (error) { const errorText = error instanceof Error ? error.message : String(error); - throw new Error(`An error occured while getting tokens: ${errorText}`); + throw new Error(`An error occurred while getting tokens: ${errorText}`); } } } diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 43edad026..e078859d2 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -20,7 +20,7 @@ import pkg from '../package.json'; const cli = cac(pkg.name.split('/')[1]); cli.command('login [instanceUrl]', 'log in to a Frontify instance') - .option('-i, --instance [instanceUrl]', '[string] url of the Frontify instance') + .option('-i, --instance ', '[string] url of the Frontify instance') .option('-p, --port ', '[number] port for the oauth service', { default: process.env.PORT || 5600, }) @@ -80,7 +80,7 @@ cli.command('serve', 'serve the app locally') .option('--allowExternal, --allow-external', '[boolean] allow external IPs to access the server', { default: false, }) - .option('--appType [appType], --app-type', '[string] specify app type. Overrides manifest values') + .option('--appType , --app-type', '[string] specify app type. Overrides manifest values') .action(async (options) => { const manifest = reactiveJson(join(process.cwd(), 'manifest.json')); const appType = options.appType || manifest.appType; @@ -123,6 +123,8 @@ cli.command('deploy', 'deploy the app to the marketplace') .option('--noVerify, --no-verify', '[boolean] disable the linting and typechecking', { default: false }) .option('--open', '[boolean] open the marketplace app page', { default: false }) .option('--appType [appType], --app-type', '[string] specify app type. Overrides manifest values') + .option('-i, --instance ', '[string] url of the Frontify instance') + .option('-t, --token ', '[string] the access token') .action(async (options) => { const manifest = reactiveJson(join(process.cwd(), 'manifest.json')); const appType = options.appType || manifest.appType; @@ -135,6 +137,8 @@ cli.command('deploy', 'deploy the app to the marketplace') dryRun: options.dryRun, noVerify: options.noVerify, openInBrowser: options.open, + instance: options.instance, + token: options.token, }, compilePlatformApp, ); @@ -146,6 +150,8 @@ cli.command('deploy', 'deploy the app to the marketplace') dryRun: options.dryRun, noVerify: options.noVerify, openInBrowser: options.open, + instance: options.instance, + token: options.token, }, compileBlock, ); diff --git a/packages/cli/src/utils/user.ts b/packages/cli/src/utils/user.ts index 8f03079c9..e0995cc8b 100644 --- a/packages/cli/src/utils/user.ts +++ b/packages/cli/src/utils/user.ts @@ -10,10 +10,9 @@ export interface UserInfo { email: string; } -export const getUser = async (instanceUrl: string): Promise => { +export const getUser = async (instanceUrl: string, token?: string): Promise => { const httpClient = new HttpClient(instanceUrl); - - const accessToken = Configuration.get('tokens.access_token'); + const accessToken = token || Configuration.get('tokens.access_token'); try { const user = await httpClient.post<{ data: { currentUser: UserInfo } }>( @@ -23,7 +22,9 @@ export const getUser = async (instanceUrl: string): Promise { - beforeAll(() => { + beforeEach(() => { const testMockApi = nock(`https://${TEST_BASE_URL}`); testMockApi.post('/graphql', { query: '{ currentUser { email name } }' }).reply(200, GET_USER_API_RESPONSE); }); @@ -37,5 +37,9 @@ describe('User utils', () => { expect(await getUser(TEST_BASE_URL)).toEqual(DUMMY_TOKENS); Configuration.set('tokens', oldTokens); }); + + test('should get user object with token', async () => { + expect(await getUser(TEST_BASE_URL, 'some_access_token')).toEqual(DUMMY_TOKENS); + }); }); }); diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 61dfc2f63..738b4ea01 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,23 @@ # @frontify/guideline-blocks-settings +## 0.31.5 + +### Patch Changes + +- [#728](https://github.com/Frontify/brand-sdk/pull/728) [`9de8764`](https://github.com/Frontify/brand-sdk/commit/9de87643decdbff847c2e29b9aa895773c8321b3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: Add missing path for types in the export list + +## 0.31.4 + +### Patch Changes + +- [#722](https://github.com/Frontify/brand-sdk/pull/722) [`975f9c8`](https://github.com/Frontify/brand-sdk/commit/975f9c86409db9041ebcfa02ad8f684b4e5bc24c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: add "label" to customizable options for getBackgroundSettings + +## 0.31.3 + +### Patch Changes + +- [#720](https://github.com/Frontify/brand-sdk/pull/720) [`7b8a520`](https://github.com/Frontify/brand-sdk/commit/7b8a5209df3b2116cf83838e6da2aae3f83fa33f) Thanks [@ragi96](https://github.com/ragi96)! - fix(Attachments): use the appropriate function for removing and adding asset + ## 0.31.2 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index cbc0f2599..79b79f7ee 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,6 +1,6 @@ { "name": "@frontify/guideline-blocks-settings", - "version": "0.31.2", + "version": "0.31.5", "description": "Provides types and helpers for the guideline block development", "sideEffects": false, "main": "dist/index.umd.js", @@ -16,6 +16,7 @@ }, "exports": { ".": { + "types": "./dist/index.d.ts", "import": "./dist/index.es.js", "require": "./dist/index.umd.js" }, diff --git a/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx b/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx index 62ba4f789..70f803fa9 100644 --- a/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx +++ b/packages/guideline-blocks-settings/src/hooks/useAttachments.tsx @@ -5,24 +5,19 @@ import { type ReactNode, createContext, useContext } from 'react'; import { type BlockProps } from '../index'; -export const useAttachments = (appBridge: AppBridgeBlock, assetId: string) => { - const { blockAssets, updateAssetIdsFromKey } = useBlockAssets(appBridge); - const attachments = blockAssets?.[assetId] || []; +export const useAttachments = (appBridge: AppBridgeBlock, attachmentKey: string) => { + const { blockAssets, addAssetIdsToKey, deleteAssetIdsFromKey, updateAssetIdsFromKey } = useBlockAssets(appBridge); + const attachments = blockAssets?.[attachmentKey] || []; const onAttachmentsAdd = async (newAssets: Asset[]) => { - const newAssetIds = attachments.map((attachment) => attachment.id); - for (const asset of newAssets) { - newAssetIds.push(asset.id); - } - await updateAssetIdsFromKey(assetId, newAssetIds); + await addAssetIdsToKey( + attachmentKey, + newAssets.map((asset) => asset.id), + ); }; const onAttachmentDelete = async (assetToDelete: Asset) => { - const newAssetIds = attachments - .filter((attachment) => attachment.id !== assetToDelete.id) - .map((attachment) => attachment.id); - - await updateAssetIdsFromKey(assetId, newAssetIds); + await deleteAssetIdsFromKey(attachmentKey, [assetToDelete.id]); }; const onAttachmentReplace = async (attachmentToReplace: Asset, newAsset: Asset) => { @@ -30,13 +25,13 @@ export const useAttachments = (appBridge: AppBridgeBlock, assetId: string) => { attachment.id === attachmentToReplace.id ? newAsset.id : attachment.id, ); - await updateAssetIdsFromKey(assetId, newAssetIds); + await updateAssetIdsFromKey(attachmentKey, newAssetIds); }; const onAttachmentsSorted = async (assets: Asset[]) => { const newAssetIds = assets.map((asset) => asset.id); - await updateAssetIdsFromKey(assetId, newAssetIds); + await updateAssetIdsFromKey(attachmentKey, newAssetIds); }; return { diff --git a/packages/guideline-blocks-settings/src/settings/background.ts b/packages/guideline-blocks-settings/src/settings/background.ts index 7571bde2c..0e20805d7 100644 --- a/packages/guideline-blocks-settings/src/settings/background.ts +++ b/packages/guideline-blocks-settings/src/settings/background.ts @@ -4,6 +4,15 @@ import { Color } from '@frontify/fondue'; import { BACKGROUND_COLOR_DEFAULT_VALUE } from './defaultValues'; import { SettingBlock } from '../'; +type BackgroundSettingsType = { + id?: string; + defaultValue?: boolean; + defaultColor?: Color; + preventDefaultColor?: boolean; + switchLabel?: string; + label?: string; +}; + /** * Returns background settings: background switch, background color * @@ -12,29 +21,23 @@ import { SettingBlock } from '../'; * @param options.defaultValue Default value for the background switch * @param options.defaultColor Default value for the background color * @param options.preventDefaultColor Whether the background color should be empty by default + * @param options.label Label for the background input * @param options.switchLabel Label for the background switch * @returns {SettingBlock} Returns background settings */ -type BackgroundSettingsType = { - id?: string; - defaultValue?: boolean; - defaultColor?: Color; - preventDefaultColor?: boolean; - switchLabel?: string; -}; - export const getBackgroundSettings = (options?: BackgroundSettingsType): SettingBlock => { const hasId = options?.id ? `hasBackground${options.id}` : 'hasBackground'; const colorId = options?.id ? `backgroundColor${options.id}` : 'backgroundColor'; const defaultColor = !!options?.preventDefaultColor ? undefined : options?.defaultColor || BACKGROUND_COLOR_DEFAULT_VALUE; + const label = options?.label ? options.label : 'Background'; const switchLabel = options?.switchLabel ? options.switchLabel : undefined; return { id: hasId, - label: 'Background', + label, type: 'switch', switchLabel, defaultValue: !!options?.defaultValue, diff --git a/packages/platform-app/.eslintrc.js b/packages/platform-app/.eslintrc.js new file mode 100644 index 000000000..366dbc098 --- /dev/null +++ b/packages/platform-app/.eslintrc.js @@ -0,0 +1,27 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +module.exports = { + extends: ['@frontify/eslint-config-react'], + plugins: ['notice'], + settings: { + react: { + version: 'detect', + }, + }, + overrides: [ + { + files: ['*.js', '*.ts', '*.tsx'], + rules: { + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + }, + }, + ], +}; diff --git a/packages/platform-app/.gitignore b/packages/platform-app/.gitignore new file mode 100644 index 000000000..007ea8a7c --- /dev/null +++ b/packages/platform-app/.gitignore @@ -0,0 +1,3 @@ +dist +node_modules +coverage diff --git a/packages/platform-app/.prettierrc b/packages/platform-app/.prettierrc new file mode 100644 index 000000000..ca0c14e7c --- /dev/null +++ b/packages/platform-app/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 120, + "tabWidth": 4, + "singleQuote": true +} diff --git a/packages/platform-app/README.md b/packages/platform-app/README.md new file mode 100644 index 000000000..1bcc2fa8b --- /dev/null +++ b/packages/platform-app/README.md @@ -0,0 +1,38 @@ +# Platform App Types + +## Code Structure +Defines the App and gives typing for the settings + +```ts +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { defineApp } from '@frontify/platform-app'; +import { settings } from './settings'; + +export default defineApp({ + app: App, + settings, +}); +``` + +## Settings Definition + +Provides settings types for Platform Apps + +## Example + +```ts +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { defineSettings } from '@frontify/platform-app'; + +export const settings = defineSettings({ + credentials: [ + { + type: 'input', + id: 'api-token', + label: 'API Token', + }, + ], +}); +``` diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json new file mode 100644 index 000000000..80fe5293a --- /dev/null +++ b/packages/platform-app/package.json @@ -0,0 +1,50 @@ +{ + "name": "@frontify/platform-app", + "version": "0.0.5", + "description": "Provides the types for the Apps", + "sideEffects": false, + "main": "dist/platform-app.umd.js", + "unpkg": "dist/platform-app.umd.js", + "jsdelivr": "dist/platform-app.umd.js", + "module": "dist/platform-app.js", + "types": "dist/index.d.ts", + "author": "Frontify Developers ", + "repository": { + "type": "git", + "url": "https://github.com/Frontify/brand-sdk", + "directory": "packages/platform-app" + }, + "publishConfig": { + "access": "public" + }, + "scripts": { + "build": "vite build", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "prettier": "prettier --check .", + "prettier:fix": "prettier --write .", + "typecheck": "tsc --noEmit", + "test": "vitest run", + "test:watch": "vitest" + }, + "devDependencies": { + "@frontify/app-bridge": "workspace:^", + "@frontify/eslint-config-react": "0.16.1", + "@types/react": "^18.2.39", + "eslint": "^8.54.0", + "eslint-plugin-notice": "^0.9.10", + "prettier": "^3.1.0", + "typescript": "^5.3.2", + "vite": "^5.0.4", + "vite-plugin-dts": "^3.6.3", + "vitest": "^0.34.6", + "react": "^18", + "react-dom": "^18" + }, + "dependencies": { + "@frontify/sidebar-settings": "workspace:^" + }, + "peerDependencies": { + "@frontify/app-bridge": "^3.0.0 || ^4.0.0-alpha.0" + } +} diff --git a/packages/platform-app/src/index.ts b/packages/platform-app/src/index.ts new file mode 100644 index 000000000..f57f30f88 --- /dev/null +++ b/packages/platform-app/src/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './platformApps'; diff --git a/packages/platform-app/src/platformApps.spec.ts b/packages/platform-app/src/platformApps.spec.ts new file mode 100644 index 000000000..fc4495da9 --- /dev/null +++ b/packages/platform-app/src/platformApps.spec.ts @@ -0,0 +1,7 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, it } from 'vitest'; + +describe('Platform App', () => { + it('Define App', async () => {}); +}); diff --git a/packages/platform-app/src/platformApps.ts b/packages/platform-app/src/platformApps.ts new file mode 100644 index 000000000..4bdf5f343 --- /dev/null +++ b/packages/platform-app/src/platformApps.ts @@ -0,0 +1,58 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import type { AppBridgePlatformApp } from '@frontify/app-bridge'; +import type { + ChecklistBlock as ChecklistBlockSettings, + ChoicesType as ChoicesTypeSettings, + ColorInputBlock as ColorInputBlockSettings, + DropdownBlock as DropdownBlockSettings, + InputBlock as InputBlockSettings, + MultiInputBlock as MultiInputBlockSettings, + NotificationBlock as NotificationBlockSettings, + SectionHeadingBlock as SectionHeadingBlockSettings, + SegmentedControlsBlock as SegmentedControlsBlockSettings, + SettingBlock as SettingBlockSettings, + SimpleSettingBlock as SimpleSettingBlockSettings, + SwitchBlock as SwitchBlockSettings, + TemplateInputBlock as TemplateInputBlockSettings, + TextareaBlock as TextareaBlockSettings, + ValueOrPromisedValue as ValueOrPromisedValueSettings, +} from '@frontify/sidebar-settings'; +import { FC } from 'react'; + +export * from '@frontify/sidebar-settings'; + +export type ChecklistBlock = ChecklistBlockSettings; +export type ChoicesType = ChoicesTypeSettings; +export type ColorInputBlock = ColorInputBlockSettings; +export type DropdownBlock = DropdownBlockSettings; +export type InputBlock = InputBlockSettings; +export type MultiInputBlock = MultiInputBlockSettings; +export type NotificationBlock = NotificationBlockSettings; +export type SectionHeadingBlock = SectionHeadingBlockSettings; +export type SegmentedControlsBlock = SegmentedControlsBlockSettings; +export type SettingBlock = SettingBlockSettings; +export type SimpleSettingBlock = SimpleSettingBlockSettings; +export type SwitchBlock = SwitchBlockSettings; +export type TemplateInputBlock = TemplateInputBlockSettings; +export type TextareaBlock = TextareaBlockSettings; +export type ValueOrPromisedValue = ValueOrPromisedValueSettings; + +export type PlatformAppSettingsStructureExport = { [customSectionName: string]: SettingBlock[] }; + +export type PlatformAppConfigExport = { + app: FC; + settings: PlatformAppSettingsStructureExport; +}; + +/** + * Type helper to export a platform-app, accepts a direct {@link PlatformAppConfigExport} object. + */ +export const defineApp = (config: PlatformAppConfigExport): PlatformAppConfigExport => config; + +/** + * Type helper to export platform-app settings structure, accepts a direct {@link PlatformAppSettingsStructureExport} object. + */ +export const defineSettings = ( + settingsStructure: PlatformAppSettingsStructureExport, +): PlatformAppSettingsStructureExport => settingsStructure; diff --git a/packages/platform-app/tsconfig.json b/packages/platform-app/tsconfig.json new file mode 100644 index 000000000..93c25ccd3 --- /dev/null +++ b/packages/platform-app/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src/**/*"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/platform-app/tsconfig.node.json b/packages/platform-app/tsconfig.node.json new file mode 100644 index 000000000..1aa365d69 --- /dev/null +++ b/packages/platform-app/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true + }, + "include": ["vite.config.ts", "package.json"] +} diff --git a/packages/platform-app/vite.config.ts b/packages/platform-app/vite.config.ts new file mode 100644 index 000000000..6b9a9e9db --- /dev/null +++ b/packages/platform-app/vite.config.ts @@ -0,0 +1,46 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { defineConfig } from 'vitest/config'; +import dts from 'vite-plugin-dts'; +import react from '@vitejs/plugin-react'; +import { resolve } from 'path'; +import { dependencies as dependenciesMap } from './package.json'; + +const dependencies = Object.keys(dependenciesMap); + +export default defineConfig({ + plugins: [react(), dts({ insertTypesEntry: true, rollupTypes: true })], + build: { + lib: { + entry: resolve(__dirname, 'src/index.ts'), + }, + sourcemap: true, + minify: true, + rollupOptions: { + external: [...dependencies], + output: [ + { + name: 'PlatformApp', + format: 'es', + preserveModules: true, + preserveModulesRoot: 'src', + }, + { + name: 'PlatformApp', + format: 'umd', + }, + { + name: 'PlatformApp', + format: 'cjs', + }, + ], + }, + }, + test: { + coverage: { + all: true, + reporter: ['text', 'lcov'], + include: ['src/**/*.ts', 'src/**/*.tsx'], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ccb3a8630..8c19addd3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -357,6 +357,49 @@ importers: specifier: ^0.34.6 version: 0.34.6(happy-dom@12.10.3) + packages/platform-app: + dependencies: + '@frontify/sidebar-settings': + specifier: workspace:^ + version: link:../sidebar-settings + devDependencies: + '@frontify/app-bridge': + specifier: workspace:^ + version: link:../app-bridge + '@frontify/eslint-config-react': + specifier: 0.16.1 + version: 0.16.1(eslint@8.56.0)(prettier@3.1.0)(react@18.2.0)(typescript@5.3.3) + '@types/react': + specifier: ^18.2.39 + version: 18.2.48 + eslint: + specifier: ^8.54.0 + version: 8.56.0 + eslint-plugin-notice: + specifier: ^0.9.10 + version: 0.9.10(eslint@8.56.0) + prettier: + specifier: ^3.1.0 + version: 3.1.0 + react: + specifier: ^18 + version: 18.2.0 + react-dom: + specifier: ^18 + version: 18.2.0(react@18.2.0) + typescript: + specifier: ^5.3.2 + version: 5.3.3 + vite: + specifier: ^5.0.4 + version: 5.0.12(@types/node@18.18.11) + vite-plugin-dts: + specifier: ^3.6.3 + version: 3.7.2(@types/node@18.18.11)(typescript@5.3.3)(vite@5.0.12) + vitest: + specifier: ^0.34.6 + version: 0.34.6(happy-dom@12.10.3) + packages/sidebar-settings: dependencies: '@frontify/fondue': @@ -604,7 +647,6 @@ packages: hasBin: true dependencies: '@babel/types': 7.23.6 - dev: true /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.3): resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} @@ -648,8 +690,8 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.4 - '@babel/types': 7.23.4 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 debug: 4.3.4(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: @@ -1614,12 +1656,12 @@ packages: eslint-plugin-html: 7.1.0 eslint-plugin-jsonc: 2.9.0(eslint@8.56.0) eslint-plugin-lodash: 7.4.0(eslint@8.56.0) - eslint-plugin-markdown: 3.0.0(eslint@8.56.0) + eslint-plugin-markdown: 3.0.1(eslint@8.56.0) eslint-plugin-no-only-tests: 3.1.0 eslint-plugin-node: 11.1.0(eslint@8.56.0) eslint-plugin-prettier: 5.0.0(eslint-config-prettier@8.8.0)(eslint@8.56.0)(prettier@3.1.0) eslint-plugin-promise: 6.1.1(eslint@8.56.0) - eslint-plugin-unicorn: 48.0.0(eslint@8.56.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.56.0) eslint-plugin-yml: 1.8.0(eslint@8.56.0) prettier: 3.1.0 yaml-eslint-parser: 1.2.2 @@ -1680,8 +1722,8 @@ packages: typescript: '>=5.0.0' dependencies: '@frontify/eslint-config-basic': 0.18.0(eslint@8.56.0)(prettier@3.1.0) - '@typescript-eslint/eslint-plugin': 6.2.0(@typescript-eslint/parser@6.2.0)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.2.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.12.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 prettier: 3.1.0 typescript: 5.3.3 @@ -3926,8 +3968,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.22.16 - '@babel/types': 7.22.17 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 '@types/babel__generator': 7.6.7 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.4 @@ -4155,8 +4197,8 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.2.0(@typescript-eslint/parser@6.2.0)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==} + /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -4167,17 +4209,16 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.1 - '@typescript-eslint/parser': 6.2.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.2.0 - '@typescript-eslint/type-utils': 6.2.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.2.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.2.0 + '@typescript-eslint/parser': 6.12.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.12.0 + '@typescript-eslint/type-utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@5.5.0) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 - natural-compare-lite: 1.4.0 semver: 7.5.4 ts-api-utils: 1.0.1(typescript@5.3.3) typescript: 5.3.3 @@ -4206,8 +4247,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.2.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==} + /@typescript-eslint/parser@6.12.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4216,10 +4257,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.2.0 - '@typescript-eslint/types': 6.2.0 - '@typescript-eslint/typescript-estree': 6.2.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.2.0 + '@typescript-eslint/scope-manager': 6.12.0 + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@5.5.0) eslint: 8.56.0 typescript: 5.3.3 @@ -4235,14 +4276,6 @@ packages: '@typescript-eslint/visitor-keys': 6.12.0 dev: true - /@typescript-eslint/scope-manager@6.2.0: - resolution: {integrity: sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.2.0 - '@typescript-eslint/visitor-keys': 6.2.0 - dev: true - /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@5.3.2): resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4263,8 +4296,8 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.2.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==} + /@typescript-eslint/type-utils@6.12.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4273,8 +4306,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.2.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.2.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4(supports-color@5.5.0) eslint: 8.56.0 ts-api-utils: 1.0.1(typescript@5.3.3) @@ -4288,11 +4321,6 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@6.2.0: - resolution: {integrity: sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2): resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -4314,8 +4342,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.2.0(typescript@5.3.3): - resolution: {integrity: sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==} + /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.3): + resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4323,8 +4351,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.2.0 - '@typescript-eslint/visitor-keys': 6.2.0 + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 @@ -4354,8 +4382,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.2.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==} + /@typescript-eslint/utils@6.12.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4363,9 +4391,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.2.0 - '@typescript-eslint/types': 6.2.0 - '@typescript-eslint/typescript-estree': 6.2.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.12.0 + '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -4381,14 +4409,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.2.0: - resolution: {integrity: sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.2.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@udecode/plate-alignment@21.5.0(@babel/core@7.23.3)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): resolution: {integrity: sha512-gbcMYwxsLQryXiSvWNgW9VEOndPz9YJ0bgr641jZLQ66uMHADzb2tV585arefKqLifYnxLmXXGijCR3x42jJew==} peerDependencies: @@ -6745,15 +6765,15 @@ packages: dependencies: '@ampproject/remapping': 2.2.1 '@bcoe/v8-coverage': 0.2.3 - istanbul-lib-coverage: 3.2.0 + istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - magic-string: 0.30.1 + istanbul-reports: 3.1.6 + magic-string: 0.30.5 picocolors: 1.0.0 - std-env: 3.3.3 + std-env: 3.7.0 test-exclude: 6.0.0 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.2.0 vitest: 0.34.6(@vitest/ui@0.34.6) transitivePeerDependencies: - supports-color @@ -6811,13 +6831,13 @@ packages: dependencies: '@vitest/utils': 1.2.1 p-limit: 5.0.0 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /@vitest/snapshot@0.34.6: resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} dependencies: - magic-string: 0.30.1 + magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.6.1 dev: true @@ -6826,7 +6846,7 @@ packages: resolution: {integrity: sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==} dependencies: magic-string: 0.30.5 - pathe: 1.1.1 + pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -6875,9 +6895,9 @@ packages: /@vitest/utils@0.34.6: resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.1 + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 dev: true /@vitest/utils@1.2.1: @@ -7806,10 +7826,6 @@ packages: uint8array-extras: 0.3.0 dev: false - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -8183,11 +8199,6 @@ packages: /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8632,25 +8643,25 @@ packages: lodash: 4.17.21 dev: true - /eslint-plugin-markdown@3.0.0(eslint@8.56.0): - resolution: {integrity: sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==} + /eslint-plugin-markdown@3.0.1(eslint@8.54.0): + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.54.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-markdown@3.0.1(eslint@8.54.0): + /eslint-plugin-markdown@3.0.1(eslint@8.56.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.56.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color @@ -8806,17 +8817,17 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-plugin-unicorn@48.0.0(eslint@8.56.0): - resolution: {integrity: sha512-8fk/v3p1ro34JSVDBEmtOq6EEQRpMR0iTir79q69KnXFZ6DJyPkT3RAi+ZoTqhQMdDSpGh8BGR68ne1sP5cnAA==} + /eslint-plugin-unicorn@48.0.1(eslint@8.54.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: '@babel/helper-validator-identifier': 7.22.15 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.56.0 + eslint: 8.54.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -8830,17 +8841,17 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unicorn@48.0.1(eslint@8.54.0): + /eslint-plugin-unicorn@48.0.1(eslint@8.56.0): resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: - '@babel/helper-validator-identifier': 7.22.15 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) ci-info: 3.8.0 clean-regexp: 1.0.0 - eslint: 8.54.0 + eslint: 8.56.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -9360,7 +9371,7 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 rimraf: 3.0.2 dev: true @@ -10269,11 +10280,6 @@ packages: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true - /istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -10299,14 +10305,6 @@ packages: - supports-color dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - /istanbul-reports@3.1.6: resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} @@ -11229,7 +11227,7 @@ packages: resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} dependencies: acorn: 8.10.0 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.1.2 dev: true @@ -11386,10 +11384,6 @@ packages: hasBin: true dev: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -11869,7 +11863,7 @@ packages: dependencies: jsonc-parser: 3.2.0 mlly: 1.5.0 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /pluralize@8.0.0: @@ -13838,15 +13832,6 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.18 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 - dev: true - /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} @@ -13914,7 +13899,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@18.18.11) + vite: 5.0.12(@types/node@18.18.11) transitivePeerDependencies: - '@types/node' - less @@ -13933,7 +13918,7 @@ packages: dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@5.5.0) - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 vite: 5.0.12(@types/node@18.18.11) transitivePeerDependencies: From 434435cf1a4a69d9442fd6629b051debc156cb30 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Feb 2024 16:48:30 +0100 Subject: [PATCH 010/327] chore: release packages (alpha) (#743) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 +++- packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 6b5fadfc2..f80b675f0 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -5,9 +5,11 @@ "@frontify/app-bridge": "3.0.0", "@frontify/frontify-cli": "5.5.3", "@frontify/guideline-blocks-settings": "0.29.16", - "@frontify/sidebar-settings": "0.8.1" + "@frontify/sidebar-settings": "0.8.1", + "@frontify/platform-app": "0.0.5" }, "changesets": [ + "kind-fishes-flash", "stale-hairs-wash" ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index e615c699c..15bd693ec 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.1 + +### Patch Changes + +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme + ## 3.2.0 ### Minor Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 492ff98c8..a7b945fe4 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.0", + "version": "4.0.0-alpha.1", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 50937f2170f5ee1eab05726e141fc0e932f71865 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 14 Feb 2024 14:39:59 +0100 Subject: [PATCH 011/327] feat: merge main to dev to release the next alpha of the AppBridge (#753) * refactor: link selector pass functions (#736) * refactor: link selector not passing appBridge * get rid of hook * add changeset * fix: instance error * improve syntax * remove useless call * chore: release packages (#745) Co-authored-by: github-actions[bot] * chore: update tailwind to 3.4.1 (#747) * update tailwind to 3.4.1 * Add changeset * Update .changeset/brown-carpets-matter.md Co-authored-by: Rafael Giezendanner --------- Co-authored-by: Rafael Giezendanner * feat: adjust serve and compile command (#732) * feat: adjust serve and compile command * Create fresh-ducks-dance.md * chore: adjust for comments * chore: add configFile: false to serve * chore: remove unused import * chore: remove logger * chore: remove generating a lib * Update packages/cli/src/utils/compiler.ts Co-authored-by: Samuel Alev * Update packages/cli/src/commands/serve.ts Co-authored-by: Samuel Alev * chore: remove globals * chore: remove build step * feat: add new template structure * feat: adjust platform-app templates * feat: add multiple build steps with temporary directory to store settings * feat: use index.ts file to create settings bundle * chore: update temaplte html * chore: update templates with defineApp * chore: use sync cals * chore: adjust templates * chore: update packages * chore: update tempaltes with external settings.ts * chore: add emptyOutDir to false and remove cleanup code * chore: remove function variable and adjust output dir of first pass * compiler.ts aktualisieren * chore: update to iife format * chore: fix linter and rename settings output file * feat: adjust tests and settings.js bundle --------- Co-authored-by: Samuel Alev * feat: use setAssetIdsByBlockAssetKey for updating assets (#730) * feat: use setAssetIdsByBlockAssetKey for updating assets * test: add stub for setAssetIdsByBlockAssetKey * refactor: stub and improve tests * improve hook * chore: add Changeset * fix: response type * Update .changeset/spicy-crabs-hope.md --------- Co-authored-by: ragi96 Co-authored-by: Daniel Fulop * chore: release packages (#748) Co-authored-by: github-actions[bot] --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: Sam Creasey Co-authored-by: Julian Iff Co-authored-by: Samuel Alev Co-authored-by: Luca Hochreutener <34413733+hochreutenerl@users.noreply.github.com> Co-authored-by: Daniel Fulop --- .changeset/pink-bugs-behave.md | 5 ++ package.json | 2 +- packages/app-bridge/CHANGELOG.md | 5 ++ packages/app-bridge/src/AppBridgeBlock.ts | 2 +- .../src/react/useBlockAssets.spec.ts | 21 +++--- .../app-bridge/src/react/useBlockAssets.ts | 7 +- .../src/registries/api/ApiMethodRegistry.ts | 5 ++ .../api/SetAssetIdsByBlockAssetKey.spec.ts | 20 +++++ .../api/SetAssetIdsByBlockAssetKey.ts | 15 ++++ .../app-bridge/src/registries/api/index.ts | 1 + .../src/tests/AppBridgeBlockStub.ts | 27 ++++--- packages/cli/CHANGELOG.md | 6 ++ packages/cli/package.json | 2 +- packages/cli/src/commands/serve.ts | 7 +- packages/cli/src/utils/compiler.ts | 48 +++++++++++- .../platform-app-css-modules/index.html | 9 ++- .../platform-app-css-modules/package.json | 1 + .../platform-app-css-modules/src/index.tsx | 14 ++-- .../platform-app-css-modules/src/settings.ts | 12 +++ .../cli/templates/platform-app-css/index.html | 9 ++- .../templates/platform-app-css/package.json | 1 + .../templates/platform-app-css/src/index.tsx | 14 ++-- .../platform-app-css/src/settings.ts | 12 +++ .../platform-app-tailwind/index.html | 9 ++- .../platform-app-tailwind/package.json | 1 + .../platform-app-tailwind/src/index.tsx | 14 ++-- .../platform-app-tailwind/src/settings.ts | 12 +++ .../cli/tests/files/compile-test-files/app.js | 5 +- .../tests/files/compile-test-files/index.html | 10 ++- packages/cli/tests/utils/compiler.spec.ts | 18 +++-- .../guideline-blocks-settings/CHANGELOG.md | 40 ++++++++++ .../guideline-blocks-settings/package.json | 4 +- .../src/components/Link/LinkInput.tsx | 8 +- .../Link/LinkSelector/DocumentLink.tsx | 11 ++- .../Link/LinkSelector/DocumentLinks.tsx | 25 ++++--- .../LinkSelector/LinkSelector.spec.ct.tsx | 73 ++++++++++++++++--- .../Link/LinkSelector/LinkSelector.tsx | 18 ++++- .../components/Link/LinkSelector/PageLink.tsx | 30 ++++++-- .../Link/LinkSelector/PageLinks.tsx | 13 ++-- pnpm-lock.yaml | 56 +++++++------- 40 files changed, 443 insertions(+), 149 deletions(-) create mode 100644 .changeset/pink-bugs-behave.md create mode 100644 packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.spec.ts create mode 100644 packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.ts create mode 100644 packages/cli/templates/platform-app-css-modules/src/settings.ts create mode 100644 packages/cli/templates/platform-app-css/src/settings.ts create mode 100644 packages/cli/templates/platform-app-tailwind/src/settings.ts diff --git a/.changeset/pink-bugs-behave.md b/.changeset/pink-bugs-behave.md new file mode 100644 index 000000000..055f62a9d --- /dev/null +++ b/.changeset/pink-bugs-behave.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock diff --git a/package.json b/package.json index 548776ea6..8a48e1430 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "glob": "^10.3.10", "react": "^18.2.0", "react-dom": "^18.2.0", - "tailwindcss": "^3.3.5", + "tailwindcss": "^3.4.1", "ts-node": "^10.9.1", "typescript": "^5.3.2", "vite": "^4.5.0", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 15bd693ec..16c4cf943 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -5,6 +5,11 @@ ### Patch Changes - [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +## 3.3.0 + +### Minor Changes + +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 diff --git a/packages/app-bridge/src/AppBridgeBlock.ts b/packages/app-bridge/src/AppBridgeBlock.ts index fddf90fea..75d9cd658 100644 --- a/packages/app-bridge/src/AppBridgeBlock.ts +++ b/packages/app-bridge/src/AppBridgeBlock.ts @@ -42,7 +42,7 @@ import type { import { PrivacySettings } from './types/PrivacySettings'; export type BlockApiMethod = ApiMethodNameValidator< - Pick + Pick >; export type BlockCommand = CommandNameValidator< diff --git a/packages/app-bridge/src/react/useBlockAssets.spec.ts b/packages/app-bridge/src/react/useBlockAssets.spec.ts index 27bba63ce..3e6339b2b 100644 --- a/packages/app-bridge/src/react/useBlockAssets.spec.ts +++ b/packages/app-bridge/src/react/useBlockAssets.spec.ts @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { act, cleanup, renderHook, waitFor } from '@testing-library/react'; -import { SinonStub } from 'sinon'; +import sinon, { SinonStub } from 'sinon'; import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { AssetDummy, getAppBridgeBlockStub } from '../tests'; @@ -43,30 +43,27 @@ describe('useBlockAssets hook', () => { }); }); - it('should sort assets', async () => { + it('should set assets', async () => { const { result, appBridgeStub } = await loadUseBlockAssets([AssetDummy.with(1), AssetDummy.with(2)]); await act(async () => { await result.current.updateAssetIdsFromKey('key', [2, 1]); }); - const deleteCall = appBridgeStub.deleteAssetIdsFromBlockAssetKey.getCall(0); - const addCall = appBridgeStub.addAssetIdsToBlockAssetKey.getCall(0); - await waitFor(async () => { - expect(deleteCall.firstArg).toEqual('key'); - expect(deleteCall.lastArg).toEqual([1, 2]); - expect(addCall.firstArg).toEqual('key'); - expect(addCall.lastArg).toEqual([2, 1]); + sinon.assert.calledWithExactly(appBridgeStub.api, { + name: 'setAssetIdsByBlockAssetKey', + payload: { key: 'key', assetIds: [2, 1] }, + }); expect(result.current.blockAssets['key'].map((asset) => asset.id)).toEqual([2, 1]); }); }); it('should not sort assets if api call throws error', async () => { const { result, appBridgeStub } = await loadUseBlockAssets([AssetDummy.with(1), AssetDummy.with(2)]); - (appBridgeStub.deleteAssetIdsFromBlockAssetKey as unknown as Mock) = vi - .fn() - .mockRejectedValue('Unsuccessful API call'); + (appBridgeStub.api as unknown as Mock) = vi.fn().mockImplementation(() => { + return Promise.reject(new Error('Unsuccessful API call')); + }); await act(async () => { await result.current.updateAssetIdsFromKey('key', [2, 1]); diff --git a/packages/app-bridge/src/react/useBlockAssets.ts b/packages/app-bridge/src/react/useBlockAssets.ts index 8288f6593..ad4b01c3f 100644 --- a/packages/app-bridge/src/react/useBlockAssets.ts +++ b/packages/app-bridge/src/react/useBlockAssets.ts @@ -53,16 +53,11 @@ export const useBlockAssets = (appBridge: AppBridgeBlock) => { }; const updateAssetIdsFromKey = async (key: string, newAssetIds: number[]) => { - const currentBlockAssets = await appBridge.getBlockAssets(); - const oldAssetIds = currentBlockAssets[key]?.map((asset) => asset.id) ?? []; - try { - await appBridge.deleteAssetIdsFromBlockAssetKey(key, oldAssetIds); - await appBridge.addAssetIdsToBlockAssetKey(key, newAssetIds); + await appBridge.api({ name: 'setAssetIdsByBlockAssetKey', payload: { key, assetIds: newAssetIds } }); } catch (error) { console.error(error); } - emitUpdatedBlockAssets(); }; diff --git a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts index 08f437c8a..3f8afc507 100644 --- a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts +++ b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts @@ -8,6 +8,7 @@ import type { GetAssetResourceInformationPayload, GetAssetResourceInformationResponse, } from './GetAssetResourceInformation'; +import { SetAssetIdsByBlockAssetKeyPayload, SetAssetIdsByBlockAssetKeyResponse } from './SetAssetIdsByBlockAssetKey'; export type ApiMethodRegistry = ApiMethodNameValidator<{ getAssetBulkDownloadToken: { @@ -20,4 +21,8 @@ export type ApiMethodRegistry = ApiMethodNameValidator<{ payload: GetAssetResourceInformationPayload; response: GetAssetResourceInformationResponse; }; + setAssetIdsByBlockAssetKey: { + payload: SetAssetIdsByBlockAssetKeyPayload; + response: SetAssetIdsByBlockAssetKeyResponse; + }; }>; diff --git a/packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.spec.ts b/packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.spec.ts new file mode 100644 index 000000000..40fb48aac --- /dev/null +++ b/packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.spec.ts @@ -0,0 +1,20 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; +import { setAssetIdsByBlockAssetKey } from './SetAssetIdsByBlockAssetKey'; + +describe('SetAssetIdsByBlockAssetKey', () => { + it('should return correct method name', () => { + const TEST_KEY = 'settingName'; + const TEST_ASSET_IDS = [51, 52]; + const assetIdsByBlockAssetKey = setAssetIdsByBlockAssetKey({ + key: TEST_KEY, + assetIds: TEST_ASSET_IDS, + }); + expect(assetIdsByBlockAssetKey.name).toBe('setAssetIdsByBlockAssetKey'); + expect(assetIdsByBlockAssetKey.payload).toStrictEqual({ + key: TEST_KEY, + assetIds: TEST_ASSET_IDS, + }); + }); +}); diff --git a/packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.ts b/packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.ts new file mode 100644 index 000000000..4bbd2a9af --- /dev/null +++ b/packages/app-bridge/src/registries/api/SetAssetIdsByBlockAssetKey.ts @@ -0,0 +1,15 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type SetAssetIdsByBlockAssetKeyPayload = { + key: string; + assetIds: number[]; +}; + +export type SetAssetIdsByBlockAssetKeyResponse = void; + +export const setAssetIdsByBlockAssetKey = ( + payload: SetAssetIdsByBlockAssetKeyPayload, +): { name: 'setAssetIdsByBlockAssetKey'; payload: SetAssetIdsByBlockAssetKeyPayload } => ({ + name: 'setAssetIdsByBlockAssetKey', + payload, +}); diff --git a/packages/app-bridge/src/registries/api/index.ts b/packages/app-bridge/src/registries/api/index.ts index dc7272c9b..fc5be8310 100644 --- a/packages/app-bridge/src/registries/api/index.ts +++ b/packages/app-bridge/src/registries/api/index.ts @@ -5,3 +5,4 @@ export * from './GetAssetBulkDownloadToken'; export * from './CreateAsset'; export * from './GetAssetResourceInformation'; export * from './GetCurrentUser'; +export * from './SetAssetIdsByBlockAssetKey'; diff --git a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts index 79a55a53e..1fa491163 100644 --- a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts @@ -167,20 +167,19 @@ export const getAppBridgeBlockStub = ({ BulkDownloadDummy.default(), ), getPrivacySettings: stub>().returns(privacySettings), - api: stub>() - .resolves() - .withArgs({ - name: 'getAssetBulkDownloadToken', - payload: { - blockAssets: { settings1: [AssetDummy.with(123)], settings2: [AssetDummy.with(456)] }, - }, - }) - .resolves({ assetBulkDownloadToken: 'token' }) - .withArgs({ - name: 'getAssetBulkDownloadToken', - payload: { blockAssets: undefined }, - }) - .resolves({ assetBulkDownloadToken: 'token' }), + api: stub>().callsFake((args) => { + switch (args.name) { + case 'getAssetBulkDownloadToken': { + return { assetBulkDownloadToken: 'token' }; + } + case 'setAssetIdsByBlockAssetKey': { + blockAssets[args.payload.key] = args.payload.assetIds.map((id) => AssetDummy.with(id)); + return Promise.resolve(); + } + } + + throw new Error('Method is not stubbed'); + }), context: stub>().callsFake((args) => { if (args === undefined) { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 457460c08..6a7856ffe 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/frontify-cli +## 5.6.1 + +### Patch Changes + +- [#732](https://github.com/Frontify/brand-sdk/pull/732) [`8395479`](https://github.com/Frontify/brand-sdk/commit/83954793533e63a67ee02cb94f24095cd4119e36) Thanks [@julianiff](https://github.com/julianiff)! - feat: adjust serve and compile command + ## 5.6.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 90f58a996..9805df1a8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "author": "Frontify Developers ", - "version": "5.6.0", + "version": "5.6.1", "bin": { "frontify-cli": "dist/index.mjs" }, diff --git a/packages/cli/src/commands/serve.ts b/packages/cli/src/commands/serve.ts index 615dd4cc4..21feb55cc 100644 --- a/packages/cli/src/commands/serve.ts +++ b/packages/cli/src/commands/serve.ts @@ -15,15 +15,10 @@ class PlatformAppDevelopmentServer { const viteServer = await createServer({ root: process.cwd(), configFile: false, - plugins: [ - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - react(), - ], + plugins: [react()], define: { 'process.env.NODE_ENV': JSON.stringify('development'), }, - base: `http://localhost:${this.port}/`, }); const server = await viteServer.listen(this.port, true); diff --git a/packages/cli/src/utils/compiler.ts b/packages/cli/src/utils/compiler.ts index 2de64a8f6..1c8f9e959 100644 --- a/packages/cli/src/utils/compiler.ts +++ b/packages/cli/src/utils/compiler.ts @@ -51,8 +51,10 @@ export const compileBlock = async ({ projectPath, entryFile, outputName }: Compi }); }; -export const compilePlatformApp = async ({ outputName, projectPath = '' }: CompilerOptions) => { +export const compilePlatformApp = async ({ outputName, entryFile, projectPath = '' }: CompilerOptions) => { const getHash = (text) => createHash('sha256').update(text).digest('hex'); + const appBridgeVersion = getAppBridgeVersion(projectPath); + const htmlHashPlugin: PluginOption = { name: 'html-hash', enforce: 'post', @@ -77,10 +79,51 @@ export const compilePlatformApp = async ({ outputName, projectPath = '' }: Compi }, }; - return build({ + const settings = await build({ + plugins: [ + react(), + viteExternalsPlugin({ + react: 'React', + 'react-dom': 'ReactDOM', + }), + ], + root: projectPath, + define: { + 'process.env.NODE_ENV': JSON.stringify('production'), + }, + build: { + lib: { + entry: entryFile, + name: outputName, + formats: ['iife'], + fileName: () => 'index.js', + }, + rollupOptions: { + external: ['react', 'react-dom'], + output: { + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + }, + entryFileNames: 'settings.js', + footer: ` + window.${outputName} = ${outputName}; + window.${outputName}.dependencies = window.${outputName}.packages || {}; + window.${outputName}.dependencies['@frontify/app-bridge'] = '${appBridgeVersion}'; + `, + }, + }, + }, + }); + + const app = await build({ plugins: [react(), htmlHashPlugin], root: projectPath, + define: { + 'process.env.NODE_ENV': JSON.stringify('production'), + }, build: { + emptyOutDir: false, rollupOptions: { output: { assetFileNames: () => '[name][extname]', @@ -90,4 +133,5 @@ export const compilePlatformApp = async ({ outputName, projectPath = '' }: Compi }, }, }); + return { app, settings }; }; diff --git a/packages/cli/templates/platform-app-css-modules/index.html b/packages/cli/templates/platform-app-css-modules/index.html index adae31715..afd3f34c8 100644 --- a/packages/cli/templates/platform-app-css-modules/index.html +++ b/packages/cli/templates/platform-app-css-modules/index.html @@ -7,6 +7,13 @@
- + diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index 95db42033..a7ff86fd7 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -13,6 +13,7 @@ "@frontify/app-bridge": "^3.0.0", "@frontify/fondue": "12.0.0-beta.382", "@frontify/fondue-tokens": "^3.4.0", + "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-css-modules/src/index.tsx b/packages/cli/templates/platform-app-css-modules/src/index.tsx index c820be3ee..49640fcba 100644 --- a/packages/cli/templates/platform-app-css-modules/src/index.tsx +++ b/packages/cli/templates/platform-app-css-modules/src/index.tsx @@ -1,11 +1,9 @@ -import { StrictMode } from 'react'; -import ReactDOM from 'react-dom/client'; import { App } from './App'; +import { defineApp } from '@frontify/platform-app'; +import { settings } from './settings'; import '@frontify/fondue/style'; -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -ReactDOM.createRoot(document.getElementById('root')!).render( - - - , -); +export default defineApp({ + app: App, + settings, +}); diff --git a/packages/cli/templates/platform-app-css-modules/src/settings.ts b/packages/cli/templates/platform-app-css-modules/src/settings.ts new file mode 100644 index 000000000..25a335ab5 --- /dev/null +++ b/packages/cli/templates/platform-app-css-modules/src/settings.ts @@ -0,0 +1,12 @@ +import { defineSettings } from '@frontify/platform-app'; + +export const settings = defineSettings({ + credentials: [ + { + type: 'input', + id: 'single-line', + label: 'Input field', + defaultValue: 'Input Field Value', + }, + ], +}); diff --git a/packages/cli/templates/platform-app-css/index.html b/packages/cli/templates/platform-app-css/index.html index 0199bdc21..a6f04ed64 100644 --- a/packages/cli/templates/platform-app-css/index.html +++ b/packages/cli/templates/platform-app-css/index.html @@ -7,6 +7,13 @@
- + diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index 035ac059a..e2c170067 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -13,6 +13,7 @@ "@frontify/app-bridge": "^3.0.0", "@frontify/fondue": "12.0.0-beta.382", "@frontify/fondue-tokens": "^3.4.0", + "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-css/src/index.tsx b/packages/cli/templates/platform-app-css/src/index.tsx index 5a282f6ee..d3631d228 100644 --- a/packages/cli/templates/platform-app-css/src/index.tsx +++ b/packages/cli/templates/platform-app-css/src/index.tsx @@ -1,12 +1,10 @@ -import { StrictMode } from 'react'; -import ReactDOM from 'react-dom/client'; import { App } from './App'; +import { defineApp } from '@frontify/platform-app'; +import { settings } from './settings'; import './main.css'; import '@frontify/fondue/style'; -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -ReactDOM.createRoot(document.getElementById('root')!).render( - - - , -); +export default defineApp({ + app: App, + settings, +}); diff --git a/packages/cli/templates/platform-app-css/src/settings.ts b/packages/cli/templates/platform-app-css/src/settings.ts new file mode 100644 index 000000000..25a335ab5 --- /dev/null +++ b/packages/cli/templates/platform-app-css/src/settings.ts @@ -0,0 +1,12 @@ +import { defineSettings } from '@frontify/platform-app'; + +export const settings = defineSettings({ + credentials: [ + { + type: 'input', + id: 'single-line', + label: 'Input field', + defaultValue: 'Input Field Value', + }, + ], +}); diff --git a/packages/cli/templates/platform-app-tailwind/index.html b/packages/cli/templates/platform-app-tailwind/index.html index 0199bdc21..a6f04ed64 100644 --- a/packages/cli/templates/platform-app-tailwind/index.html +++ b/packages/cli/templates/platform-app-tailwind/index.html @@ -7,6 +7,13 @@
- + diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index e8b016951..0867a21ba 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -13,6 +13,7 @@ "@frontify/app-bridge": "^3.0.0", "@frontify/fondue": "12.0.0-beta.382", "@frontify/fondue-tokens": "^3.4.0", + "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-tailwind/src/index.tsx b/packages/cli/templates/platform-app-tailwind/src/index.tsx index 43733ad02..f617df614 100644 --- a/packages/cli/templates/platform-app-tailwind/src/index.tsx +++ b/packages/cli/templates/platform-app-tailwind/src/index.tsx @@ -1,13 +1,11 @@ -import { StrictMode } from 'react'; -import ReactDOM from 'react-dom/client'; import { App } from './App'; +import { defineApp } from '@frontify/platform-app'; +import { settings } from './settings'; import 'tailwindcss/tailwind.css'; import '@frontify/fondue/style'; import './main.css'; -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -ReactDOM.createRoot(document.getElementById('root')!).render( - - - , -); +export default defineApp({ + app: App, + settings, +}); diff --git a/packages/cli/templates/platform-app-tailwind/src/settings.ts b/packages/cli/templates/platform-app-tailwind/src/settings.ts new file mode 100644 index 000000000..25a335ab5 --- /dev/null +++ b/packages/cli/templates/platform-app-tailwind/src/settings.ts @@ -0,0 +1,12 @@ +import { defineSettings } from '@frontify/platform-app'; + +export const settings = defineSettings({ + credentials: [ + { + type: 'input', + id: 'single-line', + label: 'Input field', + defaultValue: 'Input Field Value', + }, + ], +}); diff --git a/packages/cli/tests/files/compile-test-files/app.js b/packages/cli/tests/files/compile-test-files/app.js index d983ede75..7c4e7ba23 100644 --- a/packages/cli/tests/files/compile-test-files/app.js +++ b/packages/cli/tests/files/compile-test-files/app.js @@ -1,3 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -export const test = 1; +const app = 'this is a block'; +const settings = { some: 'settings' }; + +export default { app, settings }; diff --git a/packages/cli/tests/files/compile-test-files/index.html b/packages/cli/tests/files/compile-test-files/index.html index f666812bd..3be3d9cda 100644 --- a/packages/cli/tests/files/compile-test-files/index.html +++ b/packages/cli/tests/files/compile-test-files/index.html @@ -3,4 +3,12 @@ -
test
+
+ +
+ + diff --git a/packages/cli/tests/utils/compiler.spec.ts b/packages/cli/tests/utils/compiler.spec.ts index 9a25c9e3a..6d6eb2b41 100644 --- a/packages/cli/tests/utils/compiler.spec.ts +++ b/packages/cli/tests/utils/compiler.spec.ts @@ -41,21 +41,27 @@ describe('Compiler utils', async () => { }); describe('compile PlatformApp', () => { + beforeEach(() => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + global.window = {}; + }); const testHash = 'mocked hash'; test('should provide a valid build with a index.html', async () => { - const outputNameTest = 'test-output'; + const outputNameTest = 'index'; const result = (await compilePlatformApp({ projectPath: rootPath, - entryFile: '', + entryFile: pathToIndex, outputName: outputNameTest, - })) as unknown as { output: { fileName: string }[] }; + })) as unknown as { app: { output: { fileName: string }[] }; settings: { output: { fileName: string }[] } }; expect(createHash).toHaveBeenCalledWith('sha256'); - expect(result.output[0].fileName).toBe(`${outputNameTest}.${testHash}.js`); - expect(result.output[1].fileName).toBe(`${outputNameTest}.${testHash}.css`); - expect(result.output[2].fileName).toBe(`${outputNameTest}.${testHash}.html`); + expect(result.app.output[0].fileName).toBe(`${outputNameTest}.${testHash}.js`); + expect(result.app.output[1].fileName).toBe(`${outputNameTest}.${testHash}.css`); + expect(result.app.output[2].fileName).toBe(`${outputNameTest}.${testHash}.html`); + expect(result.settings[0].output[0].fileName).toBe('settings.js'); }); }); }); diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 738b4ea01..611384c15 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,45 @@ # @frontify/guideline-blocks-settings +## 0.32.1 + +### Patch Changes + +- [#747](https://github.com/Frontify/brand-sdk/pull/747) [`447bf26`](https://github.com/Frontify/brand-sdk/commit/447bf26ad6816f354cc9de91f6451cf807458ffb) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `tailwindcss` to 3.4.1 + +## 0.32.0 + +### Minor Changes + +- [#736](https://github.com/Frontify/brand-sdk/pull/736) [`2f7f30f`](https://github.com/Frontify/brand-sdk/commit/2f7f30f902f3c8ed3bacf5fa378014e148bb20aa) Thanks [@ragi96](https://github.com/ragi96)! - refactor(LinkSelector): Removed `appBridge` prop in favor of directly passing document handling functions: `getAllDocuments`, `getDocumentPagesByDocumentId`, and `getDocumentSectionsByDocumentPageId` for clearer API and enhanced modularity + + Replace this: + + ```jsx + + ``` + + with: + + ```jsx + appBridge.getAllDocuments()} + getDocumentPagesByDocumentId={(documentId) => + appBridge.getDocumentPagesByDocumentId(documentId) + } + getDocumentSectionsByDocumentPageId={(documentPageId) => + appBridge.getDocumentSectionsByDocumentPageId(documentPageId) + } + /> + ``` + ## 0.31.5 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 79b79f7ee..bf4c35a07 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,6 +1,6 @@ { "name": "@frontify/guideline-blocks-settings", - "version": "0.31.5", + "version": "0.32.1", "description": "Provides types and helpers for the guideline block development", "sideEffects": false, "main": "dist/index.umd.js", @@ -55,7 +55,7 @@ "react-dom": "^18.2.0", "rollup": "^3.29.4", "sinon": "17.0.1", - "tailwindcss": "^3.3.5", + "tailwindcss": "^3.4.1", "typescript": "^5.3.2", "vite": "^4.5.0", "vite-plugin-dts": "^3.6.3", diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkInput.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkInput.tsx index e8b401d29..649a343e3 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkInput.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkInput.tsx @@ -65,9 +65,15 @@ export const LinkInput = ({
appBridge.getAllDocuments()} + getDocumentPagesByDocumentId={(documentId) => + appBridge.getDocumentPagesByDocumentId(documentId) + } + getDocumentSectionsByDocumentPageId={(documentPageId) => + appBridge.getDocumentSectionsByDocumentPageId(documentPageId) + } />
)} diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx index 31cd8c6aa..4b1657032 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import type { AppBridgeBlock, AppBridgeTheme } from '@frontify/app-bridge'; +import type { DocumentPage, DocumentSection } from '@frontify/app-bridge'; import { useEffect, useState } from 'react'; import { PageLinks } from './PageLinks'; import { IconColorFan16, merge } from '@frontify/fondue'; @@ -12,18 +12,20 @@ type DocumentLinkProps = { title: string; permanentLink: string; }; - appBridge: AppBridgeBlock | AppBridgeTheme; selectedUrl: string; onSelectUrl: (url: string) => void; itemsToExpandInitially: InitiallyExpandedItems; + getDocumentSectionsByDocumentPageId: (documentPageId: number) => Promise; + getDocumentPagesByDocumentId: (documentId: number) => Promise; }; export const DocumentLink = ({ document, - appBridge, selectedUrl, onSelectUrl, itemsToExpandInitially, + getDocumentSectionsByDocumentPageId, + getDocumentPagesByDocumentId, }: DocumentLinkProps) => { const [isExpanded, setIsExpanded] = useState(document.id === itemsToExpandInitially.documentId); const isActive = document.permanentLink === selectedUrl; @@ -66,11 +68,12 @@ export const DocumentLink = ({ {isExpanded && ( )} diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLinks.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLinks.tsx index 83f40bb17..03752f6f6 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLinks.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLinks.tsx @@ -1,18 +1,26 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import type { AppBridgeBlock, AppBridgeTheme, Document } from '@frontify/app-bridge'; +import type { Document, DocumentPage, DocumentSection } from '@frontify/app-bridge'; import { ReactElement, useEffect, useState } from 'react'; import { DocumentLink } from './DocumentLink'; import { LoadingIndicator } from './LoadingIndicator'; import { InitiallyExpandedItems } from '../'; type DocumentLinksProps = { - appBridge: AppBridgeBlock | AppBridgeTheme; selectedUrl: string; onSelectUrl: (url: string) => void; + getAllDocuments: () => Promise; + getDocumentSectionsByDocumentPageId: (documentPageId: number) => Promise; + getDocumentPagesByDocumentId: (documentId: number) => Promise; }; -export const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentLinksProps): ReactElement => { +export const DocumentLinks = ({ + selectedUrl, + onSelectUrl, + getAllDocuments, + getDocumentPagesByDocumentId, + getDocumentSectionsByDocumentPageId, +}: DocumentLinksProps): ReactElement => { const [isLoading, setIsLoading] = useState(true); const [documents, setDocuments] = useState([]); const [itemsToExpandInitially, setItemsToExpandInitially] = useState({ @@ -32,8 +40,7 @@ export const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentL }, [documentArray.length]); useEffect(() => { - appBridge - .getAllDocuments() + getAllDocuments() .then((_documents) => { setDocuments(_documents); }) @@ -52,8 +59,7 @@ export const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentL return itemsToExpand; } for (const document of documentArray) { - const pages = await appBridge.getDocumentPagesByDocumentId(document.id); - appBridge.getAllDocuments(); + const pages = await getDocumentPagesByDocumentId(document.id); const pagesArray = [...pages.values()]; const selectedUrlIsPage = !!pagesArray.find((page) => page.permanentLink === selectedUrl); if (selectedUrlIsPage) { @@ -61,7 +67,7 @@ export const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentL return itemsToExpand; } for (const page of pagesArray) { - const sections = await appBridge.getDocumentSectionsByDocumentPageId(page.id); + const sections = await getDocumentSectionsByDocumentPageId(page.id); const sectionsArray = [...sections.values()]; const selectedUrlIsSection = !!sectionsArray.find((section) => section.permanentLink === selectedUrl); if (selectedUrlIsSection) { @@ -83,10 +89,11 @@ export const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentL ); })} diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.spec.ct.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.spec.ct.tsx index 6ab742c62..4172f5311 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.spec.ct.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.spec.ct.tsx @@ -5,7 +5,6 @@ import { DocumentPageApiDummy, DocumentSectionApiDummy, getAppBridgeBlockStub, - withAppBridgeBlockStubs, } from '@frontify/app-bridge'; import { mount } from 'cypress/react18'; import { LinkSelector } from './LinkSelector'; @@ -37,8 +36,16 @@ const apiSections = [ describe('Link Selector', () => { it('renders the link selector button', () => { - const [LinkSelectorWithStubs] = withAppBridgeBlockStubs(LinkSelector, {}); - mount(); + const appBridge = getAppBridgeBlockStub(); + mount( + , + ); cy.get(LinkSelectorSelector).should('exist'); }); @@ -50,7 +57,15 @@ describe('Link Selector', () => { (appBridge.getDocumentGroups as SinonStub) = cy.stub().returns([]); (appBridge.getAllDocuments as SinonStub) = cy.stub().returns(Promise.resolve(apiDocuments)); - mount(); + mount( + , + ); cy.get(LinkSelectorButtonSelector).click(); cy.get(LinkSelectorModalSelector).should('exist'); }); @@ -62,7 +77,15 @@ describe('Link Selector', () => { (appBridge.getDocumentGroups as SinonStub) = cy.stub().returns([]); (appBridge.getAllDocuments as SinonStub) = cy.stub().returns(Promise.resolve(apiDocuments)); - mount(); + mount( + , + ); cy.get(LinkSelectorButtonSelector).click(); cy.get(DocumentLinkSelector).should('have.length', 2); }); @@ -77,7 +100,15 @@ describe('Link Selector', () => { (appBridge.getDocumentPagesByDocumentId as SinonStub) = cy.stub().returns(Promise.resolve(apiPages)); (appBridge.getDocumentSectionsByDocumentPageId as SinonStub) = cy.stub().returns(Promise.resolve(apiSections)); - mount(); + mount( + , + ); cy.get(LinkSelectorButtonSelector).click(); cy.get(DocumentLinkSelector).eq(0).find(DocumentTreeItemToggleSelector).click(); cy.get(PageLinkSelector).should('have.length', 3); @@ -92,7 +123,15 @@ describe('Link Selector', () => { (appBridge.getDocumentPagesByDocumentId as SinonStub) = cy.stub().returns(Promise.resolve(apiPages)); (appBridge.getDocumentSectionsByDocumentPageId as SinonStub) = cy.stub().returns(Promise.resolve(apiSections)); - mount(); + mount( + , + ); cy.get(LinkSelectorButtonSelector).click(); cy.get(DocumentLinkSelector).eq(0).find(DocumentTreeItemToggleSelector).click(); cy.get(PageLinkSelector).eq(0).find('button').click(); @@ -108,7 +147,15 @@ describe('Link Selector', () => { (appBridge.getDocumentPagesByDocumentId as SinonStub) = cy.stub().returns(Promise.resolve(apiPages)); (appBridge.getDocumentSectionsByDocumentPageId as SinonStub) = cy.stub().returns(Promise.resolve(apiSections)); - mount(); + mount( + , + ); cy.get(LinkSelectorButtonSelector).click(); cy.get(SectionLinkSelector).should('have.length', 4); }); @@ -122,7 +169,15 @@ describe('Link Selector', () => { (appBridge.getDocumentPagesByDocumentId as SinonStub) = cy.stub().returns(Promise.resolve(apiPages)); (appBridge.getDocumentSectionsByDocumentPageId as SinonStub) = cy.stub().returns(Promise.resolve(apiSections)); - mount(); + mount( + , + ); cy.get(LinkSelectorButtonSelector).click(); cy.get(DocumentLinkSelector).should('have.length', 2); cy.realPress('Tab'); diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx index 96a87314e..e9c6dc005 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx @@ -1,23 +1,27 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import type { AppBridgeBlock, AppBridgeTheme } from '@frontify/app-bridge'; +import type { Document, DocumentPage, DocumentSection } from '@frontify/app-bridge'; import { Button, ButtonEmphasis, ButtonSize, ButtonStyle, ButtonType, IconLink, Modal } from '@frontify/fondue'; import { useOverlayTriggerState } from '@react-stately/overlays'; import { KeyboardEvent, ReactElement, useEffect, useState } from 'react'; import { DocumentLinks } from './DocumentLinks'; type LinkSelectorProps = { - appBridge: AppBridgeBlock | AppBridgeTheme; url: string; onUrlChange?: (value: string) => void; buttonSize?: ButtonSize; + getAllDocuments: () => Promise; + getDocumentSectionsByDocumentPageId: (documentPageId: number) => Promise; + getDocumentPagesByDocumentId: (documentId: number) => Promise; }; export const LinkSelector = ({ - appBridge, url, onUrlChange, buttonSize = ButtonSize.Medium, + getAllDocuments, + getDocumentPagesByDocumentId, + getDocumentSectionsByDocumentPageId, }: LinkSelectorProps): ReactElement => { const { open: openLinkTree, isOpen: isLinkTreeOpen, close: closeLinkTree } = useOverlayTriggerState({}); const [selectedUrl, setSelectedUrl] = useState(url); @@ -58,7 +62,13 @@ export const LinkSelector = ({ closeLinkTree()} isOpen={isLinkTreeOpen} isDismissable> - + void; - appBridge: AppBridgeBlock | AppBridgeTheme; itemsToExpandInitially: InitiallyExpandedItems; + getDocumentSectionsByDocumentPageId: (documentPageId: number) => Promise; }; -export const PageLink = ({ page, selectedUrl, onSelectUrl, itemsToExpandInitially, appBridge }: DocumentLinkProps) => { +export const PageLink = ({ + page, + selectedUrl, + onSelectUrl, + itemsToExpandInitially, + getDocumentSectionsByDocumentPageId, +}: PageLinkProps) => { const [isExpanded, setIsExpanded] = useState(page.id === itemsToExpandInitially.documentId); + const [documentSections, setDocumentSections] = useState([]); const isActive = page.permanentLink === selectedUrl; - const { documentSections } = useDocumentSection(appBridge, page.id); - const sectionsArray = [...documentSections.values()]; - const hasSections = sectionsArray.length > 0; + + useEffect(() => { + const fetchDocumentSections = async () => { + const sections = await getDocumentSectionsByDocumentPageId(page.id); + setDocumentSections(sections); + }; + + fetchDocumentSections(); + }, [page.id, getDocumentSectionsByDocumentPageId]); useEffect(() => { if (page.id === itemsToExpandInitially.pageId) { @@ -31,6 +44,9 @@ export const PageLink = ({ page, selectedUrl, onSelectUrl, itemsToExpandInitiall } }, [itemsToExpandInitially, page.id]); + const sectionsArray = [...documentSections.values()]; + const hasSections = sectionsArray.length > 0; + return ( <>
{ cy.get(FlyoutButtonSelector).click(); cy.realPress('Tab'); cy.realPress('Tab'); + cy.realPress('Tab'); cy.get(FlyoutTriggerSelector).eq(0).should('have.class', 'focus-visible:tw-ring-blue'); cy.get(FlyoutTriggerSelector).eq(0).type('{enter}'); cy.get(MenuItemSelector).should('exist'); }); + + it('reorders items using only keyboard events', () => { + const onSortStub = cy.stub(); + mount( + , + ); + cy.get(FlyoutButtonSelector).click(); + cy.realPress('Tab'); + cy.realPress('Tab'); + cy.realPress('Tab'); + cy.get(DragHandleSelector).eq(0).type(' {downarrow}{downarrow} '); + cy.get(AttachmentItemSelector).eq(1).should('contain.text', 'Moved item'); + }); }); diff --git a/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx b/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx index 48966ff5e..968ea9a18 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx +++ b/packages/guideline-blocks-settings/src/components/Attachments/Attachments.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useEffect, useState } from 'react'; +import { MutableRefObject, useEffect, useState } from 'react'; import { DndContext, DragEndEvent, @@ -159,11 +159,15 @@ export const Attachments = ({ hug={false} fitContent legacyFooter={false} - trigger={ - + trigger={(triggerProps, triggerRef) => ( + } + >
{items.length > 0 ? items.length : 'Add'}
- } + )} >
{internalItems.length > 0 && ( diff --git a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx index 099f20b0d..7693dc07c 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx +++ b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentsButtonTrigger.tsx @@ -6,17 +6,25 @@ import { joinClassNames } from '../../utilities'; import { type AttachmentsTriggerProps } from './types'; -export const AttachmentsButtonTrigger = ({ children, isFlyoutOpen }: AttachmentsTriggerProps) => ( -
( +
+ ); diff --git a/packages/guideline-blocks-settings/src/components/Attachments/types.ts b/packages/guideline-blocks-settings/src/components/Attachments/types.ts index 452c13b46..d087065c8 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/types.ts +++ b/packages/guideline-blocks-settings/src/components/Attachments/types.ts @@ -1,11 +1,13 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { type AppBridgeBlock, type Asset } from '@frontify/app-bridge'; -import { type ReactNode } from 'react'; +import { HTMLAttributes, MutableRefObject, ReactElement, type ReactNode } from 'react'; export type AttachmentsTriggerProps = { children: ReactNode; isFlyoutOpen: boolean; + triggerProps: HTMLAttributes; + triggerRef: MutableRefObject; }; export type AttachmentsProps = { @@ -17,7 +19,7 @@ export type AttachmentsProps = { onUpload: (uploadedAttachments: Asset[]) => Promise; onBrowse: (browserAttachments: Asset[]) => void; onSorted: (sortedAttachments: Asset[]) => void; - triggerComponent?: (props: AttachmentsTriggerProps) => JSX.Element; + triggerComponent?: (props: AttachmentsTriggerProps) => ReactElement; } & ({ isOpen?: never; onOpenChange?: never } | { isOpen: boolean; onOpenChange: (isOpen: boolean) => void }); export type AttachmentItemProps = SortableAttachmentItemProps & { diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx index 4158b5879..e0f759df5 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx @@ -4,8 +4,10 @@ import { type ReactElement, useRef, useState } from 'react'; import { joinClassNames } from '../../utilities'; -import { Toolbar, type ToolbarItem } from './Toolbar'; +import { DEFAULT_MENU_BUTTON_ID, Toolbar, type ToolbarItem } from './Toolbar'; import { type BlockItemWrapperProps } from './types'; +import { DragPreviewContextProvider } from './Toolbar/context/DragPreviewContext'; +import { MultiFlyoutContextProvider } from './Toolbar/context/MultiFlyoutContext'; export const BlockItemWrapper = ({ children, @@ -13,14 +15,13 @@ export const BlockItemWrapper = ({ toolbarItems, shouldHideWrapper, shouldHideComponent = false, - isDragging, + isDragging = false, shouldFillContainer, outlineOffset = 2, shouldBeShown = false, showAttachments = false, }: BlockItemWrapperProps): ReactElement => { - const [isMenuFlyoutOpen, setIsMenuFlyoutOpen] = useState(shouldBeShown); - const [isAttachmentFlyoutOpen, setIsAttachmentFlyoutOpen] = useState(false); + const [openFlyoutIds, setOpenFlyoutIds] = useState(shouldBeShown ? [DEFAULT_MENU_BUTTON_ID] : []); const wrapperRef = useRef(null); if (shouldHideWrapper) { @@ -30,51 +31,50 @@ export const BlockItemWrapper = ({ const items = toolbarItems?.filter((item): item is ToolbarItem => item !== undefined); - const shouldToolbarBeVisible = isMenuFlyoutOpen || isAttachmentFlyoutOpen || shouldBeShown; + const shouldToolbarBeVisible = openFlyoutIds.length > 0 || shouldBeShown; return ( -
-
- + +
-
- {children} -
+ className={joinClassNames([ + 'tw-relative tw-group tw-outline-1 tw-outline-box-selected-inverse', + shouldFillContainer && 'tw-flex-1 tw-h-full tw-w-full', + 'hover:tw-outline focus-within:tw-outline', + shouldToolbarBeVisible && 'tw-outline', + shouldHideComponent && 'tw-opacity-0', + ])} + > +
+ +
+ {children} +
+ + ); }; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.spec.tsx new file mode 100644 index 000000000..ef1b5c76f --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.spec.tsx @@ -0,0 +1,96 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { AssetDummy, getAppBridgeBlockStub } from '@frontify/app-bridge'; +import { fireEvent, render, waitFor } from '@testing-library/react'; +import { beforeAll, describe, expect, it, vi } from 'vitest'; + +import { AttachmentsProvider } from '../../../../hooks/useAttachments'; +import { DragPreviewContextProvider } from '../context/DragPreviewContext'; +import { MultiFlyoutContextProvider } from '../context/MultiFlyoutContext'; + +import { AttachmentsToolbarButton } from './AttachmentsToolbarButton'; + +const TOOLBAR_BUTTON_ID = 'attachments-toolbar-button-trigger'; +const FLYOUT_CONTENT_ID = 'attachments-flyout-content'; +const TOOLTIP_ID = 'tooltip'; + +const TEST_FLYOUT_ID = 'flyout-id'; +const ASSET_ID = 'attachments'; + +const STUB_WITH_THREE_ASSETS = getAppBridgeBlockStub({ + blockId: 2, + blockAssets: { [ASSET_ID]: [AssetDummy.with(1), AssetDummy.with(2), AssetDummy.with(3)] }, + editorState: true, +}); + +/** + * @vitest-environment happy-dom + */ + +describe('AttachmentsToolbarButton', () => { + beforeAll(() => { + vi.stubGlobal( + 'Worker', + class Worker { + constructor() {} + addEventListener() {} + terminate() {} + }, + ); + }); + it('should disable tooltip and hide flyout when item is in drag preview context', async () => { + const { getByTestId, queryByTestId } = render( + + + + + + + , + ); + + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + + getByTestId(TOOLBAR_BUTTON_ID).focus(); + + await waitFor(() => { + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + expect(queryByTestId(FLYOUT_CONTENT_ID)).toBeNull(); + }); + }); + + it('should open flyout onClick', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + const { getByTestId } = render( + + + + + + + , + ); + + await fireEvent.click(getByTestId(TOOLBAR_BUTTON_ID)); + + expect(setOpenFlyoutIdsStub).toHaveBeenCalledOnce(); + const dispatchedStateResult = setOpenFlyoutIdsStub.mock.lastCall[0]([]); + expect(dispatchedStateResult).toEqual([TEST_FLYOUT_ID]); + }); + + it('should open tooltip when item is focused', async () => { + const { getByTestId } = render( + + + , + ); + + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + + getByTestId(TOOLTIP_ID).focus(); + + await waitFor(() => { + expect(getByTestId(TOOLTIP_ID)).not.toHaveClass('tw-opacity-0'); + }); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx new file mode 100644 index 000000000..574f92000 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButton.tsx @@ -0,0 +1,42 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useMemoizedId } from '@frontify/fondue'; + +import { useAttachmentsContext } from '../../../../hooks'; +import { Attachments } from '../../../Attachments'; +import { useMultiFlyoutState } from '../hooks/useMultiFlyoutState'; + +import { AttachmentsToolbarButtonTrigger } from './AttachmentsToolbarButtonTrigger'; +import { useDragPreviewContext } from '../context/DragPreviewContext'; + +export const DEFAULT_ATTACHMENTS_BUTTON_ID = 'attachments'; + +type AttachmentsToolbarButtonProps = { flyoutId?: string }; + +export const AttachmentsToolbarButton = ({ + flyoutId = DEFAULT_ATTACHMENTS_BUTTON_ID, +}: AttachmentsToolbarButtonProps) => { + const id = useMemoizedId(flyoutId); + + const { appBridge, attachments, onAttachmentsAdd, onAttachmentDelete, onAttachmentReplace, onAttachmentsSorted } = + useAttachmentsContext(); + + const { isOpen, onOpenChange } = useMultiFlyoutState(id); + const isDragPreview = useDragPreviewContext(); + + return ( + + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.spec.tsx new file mode 100644 index 000000000..e634ce995 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.spec.tsx @@ -0,0 +1,44 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { cleanup, fireEvent, render } from '@testing-library/react'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { AttachmentsToolbarButtonTrigger } from './AttachmentsToolbarButtonTrigger'; +import { MutableRefObject } from 'react'; + +const BUTTON_ID = 'attachments-toolbar-button-trigger'; + +describe('AttachmentsToolbarButtonTrigger', () => { + afterEach(() => { + cleanup(); + }); + + it('should apply active styles when flyout is open', async () => { + const { getByTestId } = render( + } + > + Button + , + ); + + expect(getByTestId(BUTTON_ID)).toHaveClass('tw-text-box-neutral-inverse-pressed'); + }); + it('should forward trigger props to button', async () => { + const onPointerUpStub = vi.fn(); + + const { getByTestId } = render( + } + > + Button + , + ); + await fireEvent.pointerUp(getByTestId(BUTTON_ID)); + + expect(onPointerUpStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx new file mode 100644 index 000000000..b648fffcb --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx @@ -0,0 +1,24 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { IconCaretDown12, IconPaperclip16 } from '@frontify/fondue'; +import { type AttachmentsTriggerProps } from '../../../Attachments/types'; + +import { BaseToolbarButton } from '../BaseToolbarButton'; + +export const AttachmentsToolbarButtonTrigger = ({ + children, + isFlyoutOpen, + triggerProps, + triggerRef, +}: AttachmentsTriggerProps) => ( + + + {children} + + +); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/index.ts new file mode 100644 index 000000000..fdfad36e2 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './AttachmentsToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.spec.tsx new file mode 100644 index 000000000..2502803f7 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.spec.tsx @@ -0,0 +1,40 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { cleanup, fireEvent, render } from '@testing-library/react'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { BaseToolbarButton } from './BaseToolbarButton'; + +const BUTTON_ID = 'base-toolbar-button'; + +describe('BaseToolbarButton', () => { + afterEach(() => { + cleanup(); + }); + it('should call onClick', async () => { + const onClickStub = vi.fn(); + const { getByTestId } = render(Button); + + await fireEvent.click(getByTestId(BUTTON_ID)); + + expect(onClickStub).toHaveBeenCalledOnce(); + }); + + it('should apply cursor styles', async () => { + const { getByTestId } = render(Button); + + expect(getByTestId(BUTTON_ID)).toHaveClass('!tw-cursor-grab'); + }); + + it('should apply active styles', async () => { + const { getByTestId } = render(Button); + + expect(getByTestId(BUTTON_ID)).toHaveClass('tw-text-box-neutral-inverse-pressed'); + }); + + it('should forward other attributes to button', async () => { + const BUTTON_TYPE = 'base'; + const { getByTestId } = render(Button); + + expect(getByTestId(BUTTON_ID).dataset.buttonType).toEqual(BUTTON_TYPE); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.tsx new file mode 100644 index 000000000..1d93cfe23 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/BaseToolbarButton.tsx @@ -0,0 +1,37 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type HTMLAttributes, type ReactNode, forwardRef } from 'react'; +import { getToolbarButtonClassNames } from './helpers'; + +type BaseToolbarButtonProps = { + children: ReactNode; + forceActiveStyle?: boolean; + cursor?: 'pointer' | 'grab'; + 'data-test-id'?: string; +} & HTMLAttributes; + +export const BaseToolbarButton = forwardRef( + ( + { + onClick, + children, + forceActiveStyle, + cursor = 'pointer', + 'data-test-id': dataTestId = 'base-toolbar-button', + ...props + }, + ref, + ) => ( + + ), +); + +BaseToolbarButton.displayName = 'BaseToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx new file mode 100644 index 000000000..45cfd3df7 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx @@ -0,0 +1,89 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { fireEvent, render, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import { DragHandleToolbarButton } from './DragHandleToolbarButton'; +import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { DragPreviewContextProvider } from '../context/DragPreviewContext'; + +const TOOLBAR_BUTTON_ID = 'block-item-wrapper-toolbar-btn'; +const TOOLTIP_ID = 'toolbar-button-tooltip'; + +const TOOLTIP_CONTENT = 'content'; + +/** + * @vitest-environment happy-dom + */ + +describe('DragHandleToolbarButton', () => { + it('should show tooltip and activeStyles when item is in drag preview context', async () => { + const { getByTestId } = render( + + } + draggableProps={{}} + /> + , + ); + + expect(getByTestId(TOOLTIP_ID)).not.toHaveClass('tw-opacity-0'); + expect(getByTestId(TOOLBAR_BUTTON_ID)).toHaveClass('tw-cursor-grabbing'); + }); + + it('should show tooltip when item is focused', async () => { + const { getByTestId } = render( + } draggableProps={{}} />, + ); + + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + expect(getByTestId(TOOLTIP_ID)).toHaveTextContent(TOOLTIP_CONTENT); + + getByTestId(TOOLBAR_BUTTON_ID).focus(); + + await waitFor(() => { + expect(getByTestId(TOOLTIP_ID)).not.toHaveClass('tw-opacity-0'); + }); + }); + + it('should forward draggableProps', async () => { + const onDragStub = vi.fn(); + + const { getByTestId } = render( + } + draggableProps={{ onDrag: onDragStub }} + />, + ); + + await fireEvent.drag(getByTestId(TOOLBAR_BUTTON_ID)); + + expect(onDragStub).toHaveBeenCalledOnce(); + }); + + it('should forward setActivatorNodeRef', async () => { + const setActivatorNodeRefStub = vi.fn(); + + render( + } + draggableProps={{}} + setActivatorNodeRef={setActivatorNodeRefStub} + />, + ); + + expect(setActivatorNodeRefStub).toHaveBeenCalledOnce(); + }); + + it('should display icon', async () => { + const { getByTestId } = render( + } draggableProps={{}} />, + ); + + const icons = [...getByTestId(TOOLBAR_BUTTON_ID).querySelectorAll('svg')]; + expect(icons).toHaveLength(1); + expect(icons[0].outerHTML).toMatch('IconAdobeCreativeCloud'); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.tsx new file mode 100644 index 000000000..c91de23ca --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.tsx @@ -0,0 +1,39 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { DEFAULT_DRAGGING_TOOLTIP, DEFAULT_DRAG_TOOLTIP } from '../../constants'; +import { useDragPreviewContext } from '../context/DragPreviewContext'; +import { BaseToolbarButton } from '../BaseToolbarButton'; +import { ToolbarButtonTooltip } from '../ToolbarButtonTooltip'; + +export type DragHandleToolbarButtonProps = { + icon: JSX.Element; + tooltip?: string; + draggableProps: Record; + setActivatorNodeRef?: (node: HTMLElement | null) => void; +}; + +export const DragHandleToolbarButton = ({ + tooltip, + icon, + setActivatorNodeRef, + draggableProps, +}: DragHandleToolbarButtonProps) => { + const isDragPreview = useDragPreviewContext(); + + return ( + {isDragPreview ? DEFAULT_DRAGGING_TOOLTIP : tooltip ?? DEFAULT_DRAG_TOOLTIP}
} + > + + {icon} + + + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/index.ts new file mode 100644 index 000000000..7a5671117 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './DragHandleToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx new file mode 100644 index 000000000..9046bacf8 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx @@ -0,0 +1,140 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { fireEvent, render, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import { FlyoutToolbarButton } from './FlyoutToolbarButton'; +import { MultiFlyoutContextProvider } from '../context/MultiFlyoutContext'; +import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { DragPreviewContextProvider } from '../context/DragPreviewContext'; + +const BUTTON_ID = 'block-item-wrapper-toolbar-flyout'; +const TOOLTIP_ID = 'toolbar-button-tooltip'; + +const TEST_FLYOUT_ID = 'test'; +const TEST_TOOLTIP = 'tooltip'; +/** + * @vitest-environment happy-dom + */ + +describe('FlyoutToolbarButton', () => { + it('should log error if not inside a flyout provider when opening', async () => { + vi.spyOn(console, 'error'); + const { getByTestId } = render( + } + tooltip={TEST_TOOLTIP} + content="screen" + />, + ); + + await fireEvent.click(getByTestId(BUTTON_ID)); + + expect(console.error).toBeCalled(); + }); + + it('should use flyoutId in flyout context', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getByTestId } = render( + + } + tooltip={TEST_TOOLTIP} + content="children" + /> + , + ); + + await fireEvent.click(getByTestId(BUTTON_ID)); + + expect(setOpenFlyoutIdsStub).toHaveBeenCalled(); + const dispatchedStateResult = setOpenFlyoutIdsStub.mock.lastCall[0]([]); + expect(dispatchedStateResult).toEqual([TEST_FLYOUT_ID]); + }); + + it('should display content', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getByTestId } = render( + + } + tooltip={TEST_TOOLTIP} + flyoutFooter={
Footer
} + flyoutHeader={
Header
} + content={
Content
} + /> +
, + ); + + expect(getByTestId('content')).toBeVisible(); + expect(getByTestId('header')).toBeVisible(); + expect(getByTestId('footer')).toBeVisible(); + }); + + it('should show tooltip content', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getByTestId } = render( + + } + tooltip={TEST_TOOLTIP} + content="children" + /> + , + ); + + getByTestId(BUTTON_ID).focus(); + + await waitFor(() => expect(getByTestId(TOOLTIP_ID)).not.toHaveClass('tw-opacity-0')); + expect(getByTestId(TOOLTIP_ID)).toHaveTextContent(TEST_TOOLTIP); + }); + + it('should use supplied icon', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getByTestId } = render( + + } + tooltip={TEST_TOOLTIP} + content="content" + /> + , + ); + + const icons = [...getByTestId(BUTTON_ID).querySelectorAll('svg')]; + expect(icons).toHaveLength(1); + expect(icons[0].outerHTML).toMatch('IconAdobeCreativeCloud'); + }); + + it('should disable tooltip and flyout when content is inside drag preview', async () => { + const { getByTestId, queryByTestId } = render( + + + } + tooltip={TEST_TOOLTIP} + content={
Content
} + /> +
+
, + ); + + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + + getByTestId(TOOLTIP_ID).focus(); + + await waitFor(() => { + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + expect(queryByTestId('content')).toBeNull(); + }); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.tsx new file mode 100644 index 000000000..19c138d5f --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.tsx @@ -0,0 +1,61 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type MutableRefObject, type ReactNode } from 'react'; +import { useDragPreviewContext } from '../context/DragPreviewContext'; +import { ToolbarButtonTooltip } from '../ToolbarButtonTooltip'; +import { Flyout, FlyoutPlacement, useMemoizedId } from '@frontify/fondue'; +import { BaseToolbarButton } from '../BaseToolbarButton'; +import { useMultiFlyoutState } from '../hooks/useMultiFlyoutState'; + +export type FlyoutToolbarButtonProps = { + content: ReactNode; + icon: ReactNode; + tooltip: ReactNode; + flyoutId: string; + flyoutFooter?: ReactNode; + flyoutHeader?: ReactNode; +}; + +export const FlyoutToolbarButton = ({ + content, + icon, + tooltip, + flyoutId, + flyoutFooter, + flyoutHeader, +}: FlyoutToolbarButtonProps) => { + const id = useMemoizedId(flyoutId); + + const { isOpen, onOpenChange } = useMultiFlyoutState(id); + + const isDragPreview = useDragPreviewContext(); + + return ( + +
+ ( + } + > + {icon} + + )} + > + {content} + +
+
+ ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/index.ts new file mode 100644 index 000000000..21ac4f20c --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './FlyoutToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx new file mode 100644 index 000000000..a7c0e65d2 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx @@ -0,0 +1,77 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { fireEvent, render, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { MenuToolbarButton } from '.'; +import { MultiFlyoutContextProvider } from '../context/MultiFlyoutContext'; + +const BUTTON_ID = 'block-item-wrapper-toolbar-flyout'; +const MENU_ITEM_ID = 'menu-item'; +const TOOLTIP_ID = 'toolbar-button-tooltip'; + +const TEST_FLYOUT_ID = 'test'; +const TEST_TOOLTIP = 'tooltip'; +/** + * @vitest-environment happy-dom + */ + +describe('MenuToolbarButton', () => { + it('should log error if not inside a flyout provider when opening', async () => { + vi.spyOn(console, 'error'); + const { getByTestId } = render(); + + await fireEvent.click(getByTestId(BUTTON_ID)); + + expect(console.error).toBeCalled(); + }); + + it('should use flyout Id in flyout context', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getByTestId } = render( + + + , + ); + + await fireEvent.click(getByTestId(BUTTON_ID)); + + expect(setOpenFlyoutIdsStub).toHaveBeenCalled(); + const dispatchedStateResult = setOpenFlyoutIdsStub.mock.lastCall[0]([]); + expect(dispatchedStateResult).toEqual([TEST_FLYOUT_ID]); + }); + + it('should display menu items', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getAllByTestId } = render( + + }], + [{ title: 'item-2', onClick: vi.fn(), icon: }], + ]} + flyoutId={TEST_FLYOUT_ID} + /> + , + ); + + expect(getAllByTestId(MENU_ITEM_ID)).toHaveLength(2); + }); + + it('should show tooltip content', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getByTestId } = render( + + + , + ); + + getByTestId(BUTTON_ID).focus(); + + await waitFor(() => expect(getByTestId(TOOLTIP_ID)).not.toHaveClass('tw-opacity-0')); + expect(getByTestId(TOOLTIP_ID)).toHaveTextContent(TEST_TOOLTIP); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.tsx new file mode 100644 index 000000000..cad955d7c --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.tsx @@ -0,0 +1,30 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { IconDotsHorizontal16, useMemoizedId } from '@frontify/fondue'; +import { ToolbarFlyoutMenu, ToolbarFlyoutMenuItem } from './ToolbarFlyoutMenu'; +import { FlyoutToolbarButton } from '../FlyoutToolbarButton/FlyoutToolbarButton'; + +export const DEFAULT_MENU_BUTTON_ID = 'menu'; + +export type MenuToolbarButtonProps = { + items: ToolbarFlyoutMenuItem[][]; + flyoutId?: string; + tooltip?: string; +}; + +export const MenuToolbarButton = ({ + items, + flyoutId = DEFAULT_MENU_BUTTON_ID, + tooltip = 'Options', +}: MenuToolbarButtonProps) => { + const id = useMemoizedId(flyoutId); + + return ( + } + tooltip={tooltip} + flyoutId={id} + content={} + /> + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.spec.tsx new file mode 100644 index 000000000..bff894384 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.spec.tsx @@ -0,0 +1,63 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { fireEvent, render } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { ToolbarFlyoutMenu } from './ToolbarFlyoutMenu'; +import { MultiFlyoutContextProvider } from '../context/MultiFlyoutContext'; + +const MENU_ITEM_ID = 'menu-item'; + +const TEST_FLYOUT_ID = 'test'; +/** + * @vitest-environment happy-dom + */ + +describe('ToolbarFlyoutMenu', () => { + it('should display menu items', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + + const { getAllByTestId } = render( + + }], + [{ title: 'item-2', onClick: vi.fn(), icon: }], + ]} + flyoutId={TEST_FLYOUT_ID} + /> + , + ); + + expect(getAllByTestId(MENU_ITEM_ID)).toHaveLength(2); + }); + + it('should close flyout onClick', async () => { + const setOpenFlyoutIdsStub = vi.fn(); + const onClickStub = vi.fn(); + + const { getByTestId } = render( + + , + }, + ], + ]} + flyoutId={TEST_FLYOUT_ID} + /> + , + ); + + expect(getByTestId(MENU_ITEM_ID)).toBeVisible(); + + await fireEvent.pointerUp(getByTestId(MENU_ITEM_ID)); + + expect(onClickStub).toHaveBeenCalledOnce(); + expect(setOpenFlyoutIdsStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.tsx new file mode 100644 index 000000000..38e762031 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/ToolbarFlyoutMenu.tsx @@ -0,0 +1,40 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { ActionMenu, MenuItemContentSize, MenuItemStyle } from '@frontify/fondue'; +import { useMultiFlyoutState } from '../hooks/useMultiFlyoutState'; + +export type ToolbarFlyoutMenuItem = { + title: string; + onClick: () => void; + icon: JSX.Element; + style?: MenuItemStyle; +}; + +export type ToolbarFlyoutMenuProps = { + items: ToolbarFlyoutMenuItem[][]; + flyoutId: string; +}; + +export const ToolbarFlyoutMenu = ({ items, flyoutId }: ToolbarFlyoutMenuProps) => { + const { onOpenChange } = useMultiFlyoutState(flyoutId); + + return ( + ({ + id: blockIndex.toString(), + menuItems: block.map((item, itemIndex) => ({ + id: blockIndex.toString() + itemIndex.toString(), + size: MenuItemContentSize.XSmall, + title: item.title, + style: item.style, + onClick: () => { + onOpenChange(false); + item.onClick(); + }, + initialValue: true, + decorator:
{item.icon}
, + })), + }))} + /> + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/index.ts new file mode 100644 index 000000000..a9d462766 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './MenuToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx index 19a6ee821..d277f54dc 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx @@ -7,6 +7,9 @@ import { beforeAll, describe, expect, it, vi } from 'vitest'; import { AttachmentsProvider } from '../../../hooks/useAttachments'; import { Toolbar } from './Toolbar'; +import { MultiFlyoutContextProvider } from './context/MultiFlyoutContext'; +import { DEFAULT_ATTACHMENTS_BUTTON_ID, DEFAULT_MENU_BUTTON_ID } from '.'; +import { DragPreviewContextProvider } from './context/DragPreviewContext'; /** * @vitest-environment happy-dom @@ -31,25 +34,13 @@ describe('Toolbar', () => { it('should not throw error if toolbar does not have attachments enabled', () => { expect(() => - render( - , - ), + render(), ).not.toThrowError(); }); it('should throw error if toolbar does have attachments enabled without provider', () => { expect(() => - render( - , - ), + render(), ).toThrowError(); }); @@ -61,26 +52,28 @@ describe('Toolbar', () => { }); const ToolbarWithAttachments = () => ( - -
, - onClick: vi.fn(), - }, + + + , + onClick: vi.fn(), + }, + ], ], - ], - isOpen: true, - onOpenChange: vi.fn(), - }} - attachments={{ isEnabled: true, isOpen: true, onOpenChange: vi.fn() }} - isDragging={false} - /> - + }} + attachments={{ isEnabled: true }} + /> + + ); const { baseElement } = render(, { container: document.body }); @@ -98,26 +91,30 @@ describe('Toolbar', () => { }); const ToolbarWithAttachments = () => ( - - , - onClick: vi.fn(), - }, - ], - ], - isOpen: true, - onOpenChange: vi.fn(), - }} - attachments={{ isEnabled: true, isOpen: true, onOpenChange: vi.fn() }} - isDragging - /> - + + + + , + onClick: vi.fn(), + }, + ], + ], + }} + attachments={{ isEnabled: true }} + /> + + + ); const { baseElement } = render(, { container: document.body }); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx index 8729cc481..2b9e30434 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.tsx @@ -1,133 +1,31 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { - ActionMenu, - Flyout, - IconDotsHorizontal16, - MenuItemContentSize, - LegacyTooltip as Tooltip, - TooltipPosition, -} from '@frontify/fondue'; - -import { DEFAULT_DRAGGING_TOOLTIP, DEFAULT_DRAG_TOOLTIP } from '../constants'; - import { ToolbarSegment } from './ToolbarSegment'; -import { ToolbarAttachments } from './ToolbarAttachments'; -import { getToolbarButtonClassNames } from './helpers'; +import { AttachmentsToolbarButton } from './AttachmentsToolbarButton'; import { type ToolbarProps } from './types'; +import { ToolbarButton } from './ToolbarButton'; +import { DragHandleToolbarButton } from './DragHandleToolbarButton'; +import { MenuToolbarButton } from './MenuToolbarButton'; -export const Toolbar = ({ items, flyoutMenu, attachments, isDragging }: ToolbarProps) => { - return ( -
- {attachments.isEnabled && ( - - - - )} +export const Toolbar = ({ items, flyoutMenu, attachments }: ToolbarProps) => ( +
+ {attachments.isEnabled && ( - {items.map((item, i) => - 'draggableProps' in item ? ( - - {isDragging ? DEFAULT_DRAGGING_TOOLTIP : item.tooltip ?? DEFAULT_DRAG_TOOLTIP} -
- } - triggerElement={ - - } - /> - ) : ( - {item.tooltip ?? ''}
} - triggerElement={ - - } - /> - ), - )} - {flyoutMenu.items.length > 0 && ( - Options} - triggerElement={ -
- - -
- } - > - ({ - id: blockIndex.toString(), - menuItems: block.map((item, itemIndex) => ({ - id: blockIndex.toString() + itemIndex.toString(), - size: MenuItemContentSize.XSmall, - title: item.title, - style: item.style, - onClick: () => { - flyoutMenu.onOpenChange(false); - item.onClick(); - }, - initialValue: true, - decorator:
{item.icon}
, - })), - }))} - /> - - - } - /> - )} + - - ); -}; + )} + + {items.map((item, i) => + 'draggableProps' in item ? ( + + ) : ( + + ), + )} + {flyoutMenu.items.length > 0 && } + + +); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx deleted file mode 100644 index b7a79b777..000000000 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachments.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { Attachments } from '../../Attachments'; -import { useAttachmentsContext } from '../../../hooks'; - -import { type ToolbarFlyoutState } from './types'; - -import { ToolbarAttachmentsTrigger } from './ToolbarAttachmentsTrigger'; - -export const ToolbarAttachments = ({ isOpen, onOpenChange }: ToolbarFlyoutState) => { - const { appBridge, attachments, onAttachmentsAdd, onAttachmentDelete, onAttachmentReplace, onAttachmentsSorted } = - useAttachmentsContext(); - - return ( - - ); -}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx deleted file mode 100644 index 3629e6fb3..000000000 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarAttachmentsTrigger.tsx +++ /dev/null @@ -1,14 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { IconCaretDown12, IconPaperclip16 } from '@frontify/fondue'; -import { type AttachmentsTriggerProps } from '../../Attachments/types'; - -import { getToolbarButtonClassNames } from './helpers'; - -export const ToolbarAttachmentsTrigger = ({ children, isFlyoutOpen }: AttachmentsTriggerProps) => ( -
- - {children} - -
-); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx new file mode 100644 index 000000000..7f6593f5c --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx @@ -0,0 +1,70 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { fireEvent, render, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import { ToolbarButton } from './ToolbarButton'; +import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { DragPreviewContextProvider } from '../context/DragPreviewContext'; + +const TOOLBAR_BUTTON_ID = 'block-item-wrapper-toolbar-btn'; +const TOOLTIP_ID = 'toolbar-button-tooltip'; + +const TOOLTIP_CONTENT = 'content'; + +/** + * @vitest-environment happy-dom + */ + +describe('ToolbarButton', () => { + it('should disable tooltip when item is in drag preview context', async () => { + const { getByTestId } = render( + + } /> + , + ); + + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + + getByTestId(TOOLTIP_ID).focus(); + + await waitFor(() => { + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + }); + }); + + it('should show tooltip when item is focused', async () => { + const { getByTestId } = render( + } />, + ); + + expect(getByTestId(TOOLTIP_ID)).toHaveClass('tw-opacity-0'); + expect(getByTestId(TOOLTIP_ID)).toHaveTextContent(TOOLTIP_CONTENT); + + getByTestId(TOOLTIP_ID).focus(); + + await waitFor(() => { + expect(getByTestId(TOOLTIP_ID)).not.toHaveClass('tw-opacity-0'); + }); + }); + + it('should trigger onClick', async () => { + const onClickStub = vi.fn(); + const { getByTestId } = render( + } />, + ); + + await fireEvent.click(getByTestId(TOOLBAR_BUTTON_ID)); + + expect(onClickStub).toHaveBeenCalledOnce(); + }); + + it('should display icon', async () => { + const { getByTestId } = render( + } />, + ); + + const icons = [...getByTestId(TOOLBAR_BUTTON_ID).querySelectorAll('svg')]; + expect(icons).toHaveLength(1); + expect(icons[0].outerHTML).toMatch('IconAdobeCreativeCloud'); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.tsx new file mode 100644 index 000000000..ba6bdc9cb --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.tsx @@ -0,0 +1,19 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useDragPreviewContext } from '../context/DragPreviewContext'; +import { BaseToolbarButton } from '../BaseToolbarButton'; +import { ToolbarButtonTooltip } from '../ToolbarButtonTooltip'; + +export type ToolbarButtonProps = { icon: JSX.Element; tooltip?: string; onClick: () => void }; + +export const ToolbarButton = ({ tooltip, icon, onClick }: ToolbarButtonProps) => { + const isDragPreview = useDragPreviewContext(); + + return ( + + + {icon} + + + ); +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/index.ts new file mode 100644 index 000000000..3edd21890 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './ToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.tsx new file mode 100644 index 000000000..f89183e4c --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButtonTooltip.tsx @@ -0,0 +1,25 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { LegacyTooltip as Tooltip, TooltipPosition } from '@frontify/fondue'; +import { ReactElement, ReactNode } from 'react'; + +type ToolbarButtonTooltipProps = { + content: ReactNode; + children: ReactElement; + open?: boolean; + disabled?: boolean; +}; + +export const ToolbarButtonTooltip = ({ open, content, children, disabled }: ToolbarButtonTooltipProps) => ( + {content}} + triggerElement={children} + data-test-id="toolbar-button-tooltip" + /> +); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.tsx new file mode 100644 index 000000000..f55cf43a3 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/context/DragPreviewContext.tsx @@ -0,0 +1,15 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type ReactNode, createContext, useContext } from 'react'; + +const DragPreviewContext = createContext(false); + +export const DragPreviewContextProvider = ({ + children, + isDragPreview, +}: { + children: ReactNode; + isDragPreview: boolean; +}) => {children}; + +export const useDragPreviewContext = () => useContext(DragPreviewContext); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.tsx new file mode 100644 index 000000000..03f8aa181 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/context/MultiFlyoutContext.tsx @@ -0,0 +1,25 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { Dispatch, ReactNode, SetStateAction, createContext, useContext, useMemo } from 'react'; + +export type MultiFlyoutContextType = { + openFlyoutIds: string[]; + setOpenFlyoutIds: Dispatch>; +}; + +const MultiFlyoutContext = createContext({ + openFlyoutIds: [], + setOpenFlyoutIds: () => console.error('No MultiFlyoutContext Provider found'), +}); + +export const MultiFlyoutContextProvider = ({ + children, + openFlyoutIds, + setOpenFlyoutIds, +}: { children: ReactNode } & MultiFlyoutContextType) => { + const memoizedContext = useMemo(() => ({ openFlyoutIds, setOpenFlyoutIds }), [openFlyoutIds, setOpenFlyoutIds]); + + return {children}; +}; + +export const useMultiFlyoutContext = () => useContext(MultiFlyoutContext); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts index 3801abe20..df7e81835 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/helpers.ts @@ -25,7 +25,7 @@ export const getToolbarButtonClassNames = (cursor: 'grab' | 'pointer', forceActi classNames.push( 'hover:tw-bg-box-neutral-hover active:tw-bg-box-neutral-pressed', 'tw-text-text-weak hover:tw-text-box-neutral-inverse-hover active:tw-text-box-neutral-inverse-pressed', - cursor === 'grab' ? 'tw-cursor-grab active:tw-cursor-grabbing' : 'tw-cursor-pointer', + cursor === 'grab' ? '!tw-cursor-grab active:tw-cursor-grabbing' : 'tw-cursor-pointer', ); } diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.spec.tsx new file mode 100644 index 000000000..4d0c17bb8 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.spec.tsx @@ -0,0 +1,59 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; +import { useMultiFlyoutState } from './useMultiFlyoutState'; +import { MultiFlyoutContextProvider, MultiFlyoutContextType } from '../context/MultiFlyoutContext'; + +const FLYOUT_ID = 'flyout'; + +const renderMultiFlyoutState = ({ openFlyoutIds, setOpenFlyoutIds }: MultiFlyoutContextType) => + renderHook(() => useMultiFlyoutState(FLYOUT_ID), { + wrapper: ({ children }) => ( + + {children} + + ), + }); + +describe('useMultiFlyoutState', () => { + it('should be open when flyout id in context array', () => { + const { result } = renderMultiFlyoutState({ openFlyoutIds: [FLYOUT_ID], setOpenFlyoutIds: vi.fn() }); + expect(result.current.isOpen).toEqual(true); + }); + + it('should be closed when flyout id is not in context array', () => { + const { result } = renderMultiFlyoutState({ openFlyoutIds: [], setOpenFlyoutIds: vi.fn() }); + expect(result.current.isOpen).toEqual(false); + }); + + it('should add id to array when opening', () => { + const setOpenFlyoutIdsStub = vi.fn(); + const { result } = renderMultiFlyoutState({ openFlyoutIds: [], setOpenFlyoutIds: setOpenFlyoutIdsStub }); + + result.current.onOpenChange(true); + const dispatchedResult = setOpenFlyoutIdsStub.mock.lastCall[0]([]); + + expect(dispatchedResult).toEqual([FLYOUT_ID]); + }); + + it('should remove id from array when closing', () => { + const setOpenFlyoutIdsStub = vi.fn(); + const { result } = renderMultiFlyoutState({ openFlyoutIds: [], setOpenFlyoutIds: setOpenFlyoutIdsStub }); + + result.current.onOpenChange(false); + const dispatchedResult = setOpenFlyoutIdsStub.mock.lastCall[0]([FLYOUT_ID]); + + expect(dispatchedResult).toEqual([]); + }); + + it('should remove duplicates from array', () => { + const setOpenFlyoutIdsStub = vi.fn(); + const { result } = renderMultiFlyoutState({ openFlyoutIds: [], setOpenFlyoutIds: setOpenFlyoutIdsStub }); + + result.current.onOpenChange(true); + const dispatchedResult = setOpenFlyoutIdsStub.mock.lastCall[0]([FLYOUT_ID, FLYOUT_ID, FLYOUT_ID]); + + expect(dispatchedResult).toEqual([FLYOUT_ID]); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.ts new file mode 100644 index 000000000..1de15b5e7 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/hooks/useMultiFlyoutState.ts @@ -0,0 +1,24 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useCallback } from 'react'; +import { useMultiFlyoutContext } from '../context/MultiFlyoutContext'; + +export const useMultiFlyoutState = (flyoutId: string) => { + const { openFlyoutIds, setOpenFlyoutIds } = useMultiFlyoutContext(); + + const onOpenChange = useCallback( + (isFlyoutOpen: boolean) => { + setOpenFlyoutIds((currentIds) => { + const filteredIds = currentIds.filter((id) => id !== flyoutId); + if (!isFlyoutOpen) { + return filteredIds; + } else { + return [...filteredIds, flyoutId]; + } + }); + }, + [flyoutId, setOpenFlyoutIds], + ); + + return { isOpen: openFlyoutIds.includes(flyoutId), onOpenChange }; +}; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts index 56eaa7e39..0ca44156d 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/index.ts @@ -1,4 +1,8 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './Toolbar'; +export * from './AttachmentsToolbarButton'; +export * from './DragHandleToolbarButton'; +export * from './FlyoutToolbarButton'; +export * from './MenuToolbarButton'; export * from './types'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts index fdae73bfd..b87e962e8 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/types.ts @@ -1,38 +1,19 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type MenuItemStyle } from '@frontify/fondue'; +import { type ToolbarButtonProps } from './ToolbarButton'; +import { type ToolbarFlyoutMenuItem } from './MenuToolbarButton/ToolbarFlyoutMenu'; +import { DragHandleToolbarButtonProps } from '.'; export type ToolbarProps = { items: ToolbarItem[]; - flyoutMenu: ToolbarFlyoutState & { items: FlyoutToolbarItem[][] }; - attachments: ToolbarFlyoutState & { isEnabled: boolean }; - isDragging?: boolean; + flyoutMenu: { items: ToolbarFlyoutMenuItem[][] }; + attachments: { isEnabled: boolean }; }; -export type ToolbarFlyoutState = { - isOpen: boolean; - onOpenChange: (isOpen: boolean) => void; -}; +export type DraghandleToolbarItem = DragHandleToolbarButtonProps; -type BaseToolbarItem = { - icon: JSX.Element; - tooltip?: string; -}; +export type ButtonToolbarItem = ToolbarButtonProps; -type DraghandleToolbarItem = BaseToolbarItem & { - draggableProps: Record; - setActivatorNodeRef?: (node: HTMLElement | null) => void; -}; - -type ButtonToolbarItem = BaseToolbarItem & { - onClick: () => void; -}; +export type FlyoutToolbarItem = ToolbarFlyoutMenuItem; export type ToolbarItem = DraghandleToolbarItem | ButtonToolbarItem; - -export type FlyoutToolbarItem = { - title: string; - onClick: () => void; - icon: JSX.Element; - style?: MenuItemStyle; -}; diff --git a/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.spec.ts b/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.spec.ts index f33fbd9ef..1a31d3b1e 100644 --- a/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.spec.ts +++ b/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.spec.ts @@ -2,6 +2,7 @@ import { describe, expect, it } from 'vitest'; import { mapAppBridgeColorPalettesToFonduePalettes } from './mapColorPalettes'; +import { ColorDummy } from '@frontify/app-bridge'; describe('mapAppBridgeColorPalettesToFonduePalettes', () => { it('should map app bridge color palette to fondue palette', () => { @@ -10,107 +11,7 @@ describe('mapAppBridgeColorPalettesToFonduePalettes', () => { id: 19, name: 'Awesome color palette', description: 'This is an awesome color palette', - colors: [ - { - id: 6, - name: 'Tarawera', - sort: 1, - nameCss: 'tarawera', - hex: '0b486b', - red: 11, - green: 72, - blue: 107, - alpha: 255, - hue: 202, - saturation: 81, - lightness: 23, - c: 90, - m: 33, - y: 0, - k: 58, - pantone: null, - ral: null, - oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, - ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, - hks: null, - threeM: null, - lab: null, - }, - { - id: 7, - name: 'Oracle', - sort: 2, - nameCss: 'oracle', - hex: '3b8686', - red: 59, - green: 134, - blue: 134, - alpha: 255, - hue: 180, - saturation: 39, - lightness: 38, - c: 56, - m: 0, - y: 0, - k: 47, - pantone: null, - ral: null, - oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, - ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, - hks: null, - threeM: null, - lab: null, - }, - { - id: 8, - name: 'Silver Tree', - sort: 3, - nameCss: 'silver-tree', - hex: '79bd9a', - red: 121, - green: 189, - blue: 154, - alpha: 255, - hue: 149, - saturation: 34, - lightness: 61, - c: 36, - m: 0, - y: 19, - k: 26, - pantone: null, - ral: null, - oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, - ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, - hks: null, - threeM: null, - lab: null, - }, - ], + colors: [ColorDummy.green(), ColorDummy.yellow(), ColorDummy.red()], }, ]); expect(result).toEqual([ @@ -120,24 +21,24 @@ describe('mapAppBridgeColorPalettesToFonduePalettes', () => { colors: [ { alpha: 1, - red: 11, - green: 72, - blue: 107, - name: 'Tarawera', + blue: 0, + green: 255, + red: 0, + name: 'Green', }, { alpha: 1, - red: 59, - green: 134, - blue: 134, - name: 'Oracle', + blue: 0, + green: 255, + red: 255, + name: 'Yellow', }, { alpha: 1, - red: 121, - green: 189, - blue: 154, - name: 'Silver Tree', + blue: 0, + green: 0, + red: 255, + name: 'Red', }, ], }, diff --git a/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.ts b/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.ts index ff475ffea..01180ab5e 100644 --- a/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.ts +++ b/packages/guideline-blocks-settings/src/helpers/mapColorPalettes.ts @@ -3,20 +3,63 @@ import { ColorPalette } from '@frontify/app-bridge'; import { Palette } from '@frontify/fondue'; +type Nullable = T | null; + +type V3Color = { + id: number; + name: Nullable; + red: Nullable; + green: Nullable; + blue: Nullable; + alpha: Nullable; +}; + +type V4Color = { + id: number; + title: Nullable; + revision: { + rgba: { + red: Nullable; + green: Nullable; + blue: Nullable; + alpha: Nullable; + }; + }; +}; + +type Color = V3Color | V4Color; + export const mapAppBridgeColorPalettesToFonduePalettes = (colorPalettes: ColorPalette[]): Palette[] => { return colorPalettes.map(mapAppBridgeColorPaletteToFonduePalette); }; - export const mapAppBridgeColorPaletteToFonduePalette = (colorPalette: ColorPalette): Palette => { return { id: colorPalette.id, title: colorPalette.name, - colors: colorPalette.colors.map((color) => ({ - alpha: color.alpha ? color.alpha / 255 : 1, - red: color.red ?? 0, - green: color.green ?? 0, - blue: color.blue ?? 0, - name: color.name ?? '', - })), + colors: colorPalette.colors.map(mapColor), + }; +}; + +const isV4Color = (color: Color): color is V4Color => { + return 'revision' in color; +}; + +const mapColor = (color: Color) => { + if (isV4Color(color)) { + const { title, revision } = color; + return { + alpha: revision.rgba.alpha ? revision.rgba.alpha / 255 : 1, + red: revision.rgba.red ?? 0, + green: revision.rgba.green ?? 0, + blue: revision.rgba.blue ?? 0, + name: title ?? '', + }; + } + return { + alpha: color.alpha ? color.alpha / 255 : 1, + red: color.red ?? 0, + green: color.green ?? 0, + blue: color.blue ?? 0, + name: color.name ?? '', }; }; diff --git a/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx b/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx index ddf5c1851..717b8dab9 100644 --- a/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx +++ b/packages/guideline-blocks-settings/src/hooks/useAttachments.spec.tsx @@ -26,6 +26,7 @@ describe('useAttachments', async () => { const STUB_WITH_THREE_ASSETS = getAppBridgeBlockStub({ blockId: 2, blockAssets: { [MOCK_SETTINGS_ID]: [AssetDummy.with(1), AssetDummy.with(2), AssetDummy.with(3)] }, + editorState: true, }); const { result } = renderHook(() => useAttachments(STUB_WITH_THREE_ASSETS, MOCK_SETTINGS_ID)); diff --git a/packages/guideline-blocks-settings/tsconfig.json b/packages/guideline-blocks-settings/tsconfig.json index 4ba37ef8d..b8274abd4 100644 --- a/packages/guideline-blocks-settings/tsconfig.json +++ b/packages/guideline-blocks-settings/tsconfig.json @@ -22,6 +22,6 @@ "skipLibCheck": true, "types": ["cypress", "node", "cypress-real-events"] }, - "include": ["src/**/*"], + "include": ["src/**/*", "./setupTests.ts"], "exclude": ["node_modules", "dist"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ab86dba3..f330af995 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -278,6 +278,9 @@ importers: '@frontify/eslint-config-typescript': specifier: ^0.16.2 version: 0.16.2(eslint@8.54.0)(prettier@3.1.0)(typescript@5.3.2) + '@testing-library/jest-dom': + specifier: ^6.4.2 + version: 6.4.2(vitest@0.34.6) '@testing-library/react': specifier: ^14.1.2 version: 14.1.2(react-dom@18.2.0)(react@18.2.0) @@ -453,6 +456,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /@adobe/css-tools@4.3.3: + resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} + dev: true + /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -3921,6 +3928,38 @@ packages: pretty-format: 27.5.1 dev: true + /@testing-library/jest-dom@6.4.2(vitest@0.34.6): + resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + peerDependencies: + '@jest/globals': '>= 28' + '@types/bun': latest + '@types/jest': '>= 28' + jest: '>= 28' + vitest: '>= 0.32' + peerDependenciesMeta: + '@jest/globals': + optional: true + '@types/bun': + optional: true + '@types/jest': + optional: true + jest: + optional: true + vitest: + optional: true + dependencies: + '@adobe/css-tools': 4.3.3 + '@babel/runtime': 7.21.0 + aria-query: 5.1.3 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + vitest: 0.34.6(happy-dom@12.10.3) + dev: true + /@testing-library/react@14.1.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==} engines: {node: '>=14'} @@ -7607,6 +7646,14 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -8258,6 +8305,10 @@ packages: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} dev: true + /dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dev: true + /dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} dependencies: From 029dd26b26734539e80af86bcaa49d2caf9a7771 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Fri, 16 Feb 2024 12:56:57 +0100 Subject: [PATCH 014/327] feat: add new color type (#734) * feat: add new color type and use it for getColors * replace all Color with ProjectColor * feat: ProjectColor should be Color * revert: changes that shouldn't happen * fix colorPatch * fix: cleaner color type * add changeset * fix: improved type * suffix new types * add partialDeep for patch * improve color type * fix: change key to black * fix: dummy * remove redundancy * fix typecheck * fix ColorPatch --- .changeset/polite-eels-shake.md | 5 + packages/app-bridge/src/tests/ColorDummy.ts | 235 +++++++++++--------- packages/app-bridge/src/types/Color.ts | 65 ++++-- 3 files changed, 181 insertions(+), 124 deletions(-) create mode 100644 .changeset/polite-eels-shake.md diff --git a/.changeset/polite-eels-shake.md b/.changeset/polite-eels-shake.md new file mode 100644 index 000000000..ee9ca6583 --- /dev/null +++ b/.changeset/polite-eels-shake.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: adjust the color type to have a revision diff --git a/packages/app-bridge/src/tests/ColorDummy.ts b/packages/app-bridge/src/tests/ColorDummy.ts index 03b22d1d2..ca59cc7d8 100644 --- a/packages/app-bridge/src/tests/ColorDummy.ts +++ b/packages/app-bridge/src/tests/ColorDummy.ts @@ -6,108 +6,127 @@ export class ColorDummy { static red(id = 767): Color { return { id, - name: 'Red', sort: 1, - nameCss: 'red', - hex: 'ff0000', - red: 255, - green: 0, - blue: 0, - alpha: 255, - hue: 361, - saturation: 100, - lightness: 46, - c: 0, - m: 100, - y: 100, - k: 0, - pantone: null, - ral: null, - oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, - ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, - hks: null, - threeM: null, - lab: null, + title: 'Red', + revision: { + nameCss: 'red', + hex: 'ff0000', + hue: 361, + saturation: 100, + lightness: 46, + rgba: { red: 255, green: 0, blue: 0, alpha: 255 }, + cmyk: { + cyan: 0, + magenta: 100, + yellow: 100, + black: 0, + coated: null, + uncoated: null, + newspaper: null, + }, + pantone: { + code: null, + coated: null, + uncoated: null, + cp: null, + plastics: null, + textile: null, + }, + ral: null, + oracal: null, + ncs: null, + hks: null, + threeM: null, + lab: null, + }, }; } static yellow(id = 768): Color { return { id, - name: 'Yellow', sort: 2, - nameCss: 'yellow', - red: 255, - green: 255, - blue: 0, - hex: 'ffff00', - alpha: 255, - hue: 361, - saturation: 100, - lightness: 46, - c: 0, - m: 0, - y: 100, - k: 0, - pantone: null, - ral: null, - oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, - ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, - hks: null, - threeM: null, - lab: null, + title: 'Yellow', + revision: { + nameCss: 'yellow', + hex: 'ffff00', + hue: 361, + saturation: 100, + lightness: 46, + ral: null, + oracal: null, + ncs: null, + hks: null, + threeM: null, + lab: null, + rgba: { + red: 255, + green: 255, + blue: 0, + alpha: 255, + }, + cmyk: { + cyan: 0, + magenta: 0, + yellow: 100, + black: 0, + coated: null, + uncoated: null, + newspaper: null, + }, + pantone: { + code: null, + coated: null, + uncoated: null, + cp: null, + plastics: null, + textile: null, + }, + }, }; } static green(id = 769): Color { return { id, - name: 'Green', sort: 3, - nameCss: 'green', - red: 0, - green: 255, - blue: 0, - hex: '00ff00', - alpha: 255, - hue: 361, - saturation: 100, - lightness: 46, - c: 100, - m: 0, - y: 100, - k: 0, - pantone: null, - ral: null, - oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, - ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, - hks: null, - threeM: null, - lab: null, + title: 'Green', + revision: { + nameCss: 'green', + hex: '00ff00', + ral: null, + oracal: null, + ncs: null, + hks: null, + threeM: null, + lab: null, + hue: 361, + saturation: 100, + lightness: 46, + rgba: { + red: 0, + green: 255, + blue: 0, + alpha: 255, + }, + cmyk: { + cyan: 100, + magenta: 0, + yellow: 100, + black: 0, + coated: null, + uncoated: null, + newspaper: null, + }, + pantone: { + code: null, + coated: null, + uncoated: null, + cp: null, + plastics: null, + textile: null, + }, + }, }; } } @@ -127,32 +146,38 @@ export class ColorCreateDummy { export class ColorPatchDummy { static red(): ColorPatch { return { - name: 'Red', + title: 'Red', sort: 1, nameCss: 'red', - red: 255, - green: 0, - blue: 0, - alpha: 255, - c: 0, - m: 100, - y: 100, - k: 0, - pantone: null, ral: null, oracal: null, - pantoneCoated: null, - pantoneUncoated: null, - cmykCoated: null, - cmykUncoated: null, - cmykNewspaper: null, ncs: null, - pantoneCp: null, - pantonePlastics: null, - pantoneTextile: null, hks: null, threeM: null, lab: null, + rgba: { + red: 255, + green: 0, + blue: 0, + alpha: 255, + }, + cmyk: { + cyan: 0, + magenta: 100, + yellow: 100, + black: 0, + coated: null, + uncoated: null, + newspaper: null, + }, + pantone: { + code: null, + coated: null, + uncoated: null, + cp: null, + plastics: null, + textile: null, + }, }; } } diff --git a/packages/app-bridge/src/types/Color.ts b/packages/app-bridge/src/types/Color.ts index 8bb3f210a..de12bf1e6 100644 --- a/packages/app-bridge/src/types/Color.ts +++ b/packages/app-bridge/src/types/Color.ts @@ -1,5 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { PartialDeep } from 'type-fest'; + export type ColorApi = { id: number; creator: number; @@ -94,36 +96,30 @@ export type ColorApiPatch = Partial<{ export type Color = { id: number; - name: Nullable; sort: number; +} & ColorAsset; + +// This type should be evolved to Asset in the long run +export type ColorAsset = { + title: Nullable; + revision: ColorRevision; +}; + +export type ColorRevision = { nameCss: Nullable; hex: Nullable; - red: Nullable; - green: Nullable; - blue: Nullable; - alpha: Nullable; hue: number; saturation: number; lightness: Nullable; - c: Nullable; - m: Nullable; - y: Nullable; - k: Nullable; - pantone: Nullable; ral: Nullable; oracal: Nullable; - pantoneCoated: Nullable; - pantoneUncoated: Nullable; - cmykCoated: Nullable; - cmykUncoated: Nullable; - cmykNewspaper: Nullable; ncs: Nullable; - pantoneCp: Nullable; - pantonePlastics: Nullable; - pantoneTextile: Nullable; hks: Nullable; threeM: Nullable; lab: Nullable; + cmyk: CmykColor; + rgba: RgbaColor; + pantone: PantoneColor; }; export type ColorCreate = { @@ -134,4 +130,35 @@ export type ColorCreate = { alpha: number; }; -export type ColorPatch = Partial>; +export type ColorPatch = PartialDeep< + Omit & { + title: Nullable; + sort: number; + } +>; + +type RgbaColor = { + red: Nullable; + green: Nullable; + blue: Nullable; + alpha: Nullable; +}; + +type CmykColor = { + cyan: Nullable; + magenta: Nullable; + yellow: Nullable; + black: Nullable; + coated: Nullable; + uncoated: Nullable; + newspaper: Nullable; +}; + +type PantoneColor = { + code: Nullable; + coated: Nullable; + uncoated: Nullable; + cp: Nullable; + plastics: Nullable; + textile: Nullable; +}; From 40094fab0577bdf94ba39d5226daf4121911611b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 Feb 2024 13:05:28 +0100 Subject: [PATCH 015/327] chore: release packages (alpha) (#762) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 7d6d188c3..9bec720a9 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -11,6 +11,7 @@ "changesets": [ "kind-fishes-flash", "pink-bugs-behave", + "polite-eels-shake", "stale-hairs-wash" ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 833e76c0d..cdcacc607 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.3 + +### Patch Changes + +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision + ## 4.0.0-alpha.2 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index fee4710ec..48c46c97a 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.2", + "version": "4.0.0-alpha.3", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 0b815c99ff2ecdc28ab134dac149064491394acb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Feb 2024 23:37:09 +0100 Subject: [PATCH 016/327] chore: release packages (alpha) (#768) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 9bec720a9..d380cbb63 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -10,6 +10,7 @@ }, "changesets": [ "kind-fishes-flash", + "orange-jokes-listen", "pink-bugs-behave", "polite-eels-shake", "stale-hairs-wash" diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index c3ede16ab..15c1e16a9 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.4 + +### Patch Changes + +- Merge main into dev + ## 3.3.1 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 5317ce05a..efa639070 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.3", + "version": "4.0.0-alpha.4", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From a4822db8bb86c2516241395963979369e0311a7a Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Tue, 20 Feb 2024 15:41:41 +0100 Subject: [PATCH 017/327] fix: document page duplication return type (#769) * fix: document page duplication return type * chore: changeset --------- Co-authored-by: Samuel Alev --- .changeset/cuddly-pets-hammer.md | 5 +++++ packages/app-bridge/src/AppBridgeTheme.ts | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 .changeset/cuddly-pets-hammer.md diff --git a/.changeset/cuddly-pets-hammer.md b/.changeset/cuddly-pets-hammer.md new file mode 100644 index 000000000..b2bab11a7 --- /dev/null +++ b/.changeset/cuddly-pets-hammer.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +fix: document page duplication return type diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts index e1acddfb8..9de29e220 100644 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ b/packages/app-bridge/src/AppBridgeTheme.ts @@ -41,7 +41,6 @@ import type { DocumentLinkCreate, DocumentLinkUpdate, DocumentPage, - DocumentPageApi, DocumentPageCreate, DocumentPageTargets, DocumentPageUpdate, @@ -256,7 +255,7 @@ export interface AppBridgeTheme< documentCategoryId?: number, ): Promise; - duplicateDocumentPage(documentPageId: number): Promise; + duplicateDocumentPage(documentPageId: number): Promise; createCoverPage(coverPage: CoverPageCreate): Promise; From 5e4178c1e1028cec2af73bd34fedf56078f8b42c Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Tue, 20 Feb 2024 09:53:52 -0500 Subject: [PATCH 018/327] chore: add changeset --- .changeset/neat-plants-smile.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/neat-plants-smile.md diff --git a/.changeset/neat-plants-smile.md b/.changeset/neat-plants-smile.md new file mode 100644 index 000000000..1003ebd33 --- /dev/null +++ b/.changeset/neat-plants-smile.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +Merge main into dev From e9419508b37c5a66a3a83603f0e035574b2b344a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 16:02:28 +0100 Subject: [PATCH 019/327] chore: release packages (alpha) (#771) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 ++ packages/app-bridge/CHANGELOG.md | 8 ++++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index d380cbb63..60e60cbad 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -9,7 +9,9 @@ "@frontify/platform-app": "0.0.5" }, "changesets": [ + "cuddly-pets-hammer", "kind-fishes-flash", + "neat-plants-smile", "orange-jokes-listen", "pink-bugs-behave", "polite-eels-shake", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f01fc2c7e..45c80d028 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,13 @@ # @frontify/app-bridge +## 4.0.0-alpha.5 + +### Patch Changes + +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type + +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev + ## 3.3.2 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index efa639070..cfefae22f 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.4", + "version": "4.0.0-alpha.5", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 3e44c596628abcad11414eb26a954f4cb6eea097 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 21 Feb 2024 15:37:14 +0100 Subject: [PATCH 020/327] feat: switch to v4 (#772) * chore: switch to v43 * Create lovely-books-hear.md --- .changeset/lovely-books-hear.md | 5 +++++ packages/app-bridge/src/AppBridgePlatformApp.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/lovely-books-hear.md diff --git a/.changeset/lovely-books-hear.md b/.changeset/lovely-books-hear.md new file mode 100644 index 000000000..d272a7449 --- /dev/null +++ b/.changeset/lovely-books-hear.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: switch to platformAppBridge to v4 diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index 074ba69b7..f61a60c28 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -123,7 +123,7 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { notify(Topic.Init, PUBSUB_CHECKSUM, { token: getQueryParameters(window.location.href).token, - appBridgeVersion: 'v3', + appBridgeVersion: 'v4', }); subscribe(Topic.Init, PUBSUB_CHECKSUM).then(({ statePort, apiPort, context, state }) => { From 7a80244b2ebf075f93a492513970b3ee2c92dc80 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 21 Feb 2024 16:56:56 +0100 Subject: [PATCH 021/327] feat: Adjust PlatformAppContext (#774) * chore: add platformAppContext * Create nervous-walls-repair.md --- .changeset/nervous-walls-repair.md | 6 ++++ .../app-bridge/src/AppBridgePlatformApp.ts | 33 +++++++++---------- 2 files changed, 22 insertions(+), 17 deletions(-) create mode 100644 .changeset/nervous-walls-repair.md diff --git a/.changeset/nervous-walls-repair.md b/.changeset/nervous-walls-repair.md new file mode 100644 index 000000000..88164ccee --- /dev/null +++ b/.changeset/nervous-walls-repair.md @@ -0,0 +1,6 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: Adjust PlatformAppContext +refactor: rename from type to surface diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index f61a60c28..4127bb8db 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -50,24 +50,22 @@ type AppBaseProps = { token: string; marketplaceServiceAppId: string; connected: boolean; + settings: { [key: string]: string }; + brandId: number; + domain: string; + parentId: string; }; -export type PlatformAppContext = AppBaseProps & - ( - | { - brandId: string; - domain: string; - parentId: string; - type: 'assetCreation'; - } - | { - assetId: string; - brandId: string; - domain: string; - parentId: string; - type: 'assetAction'; - } - ); +export type AssetActionContext = { + surface: 'assetAction'; + assetId: string; +} & AppBaseProps; + +export type AssetCreationContext = { + surface: 'assetCreation'; +} & AppBaseProps; + +export type PlatformAppContext = AssetActionContext | AssetCreationContext; export type PlatformAppEvent = EventNameValidator< StateAsEventName & @@ -91,8 +89,9 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { 'Context.brandId': new Map(), 'Context.parentId': new Map(), 'Context.domain': new Map(), - 'Context.type': new Map(), + 'Context.surface': new Map(), 'Context.connected': new Map(), + 'Context.settings': new Map(), }; api( From 4ca4225fbe3b5715def912d2fd076668dfe9df64 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 17:27:17 +0100 Subject: [PATCH 022/327] chore: release packages (alpha) (#773) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 ++ packages/app-bridge/CHANGELOG.md | 9 +++++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 60e60cbad..8042a37d3 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -11,7 +11,9 @@ "changesets": [ "cuddly-pets-hammer", "kind-fishes-flash", + "lovely-books-hear", "neat-plants-smile", + "nervous-walls-repair", "orange-jokes-listen", "pink-bugs-behave", "polite-eels-shake", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 45c80d028..b8c05b09e 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,14 @@ # @frontify/app-bridge +## 4.0.0-alpha.6 + +### Patch Changes + +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 + +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface + ## 4.0.0-alpha.5 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index cfefae22f..52996c5f7 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.5", + "version": "4.0.0-alpha.6", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 40b18c473478750ce04eb18a7ff290e34b65b94f Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Fri, 23 Feb 2024 10:34:35 +0000 Subject: [PATCH 023/327] feat: add open/close search dialog commands (#775) (#780) * feat: add open/close search dialog commands * refactor: update emitter type * refactor: update export order * Create giant-shrimps-dream.md * Update giant-shrimps-dream.md * Update giant-shrimps-dream.md --- .changeset/giant-shrimps-dream.md | 5 +++++ packages/app-bridge/src/AppBridgeTheme.ts | 5 ++++- .../src/registries/commands/CommandRegistry.ts | 4 ++++ .../src/registries/commands/SearchDialog.ts | 12 ++++++++++++ packages/app-bridge/src/registries/commands/index.ts | 5 +++-- packages/app-bridge/src/types/Emitter.ts | 3 +++ 6 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 .changeset/giant-shrimps-dream.md create mode 100644 packages/app-bridge/src/registries/commands/SearchDialog.ts diff --git a/.changeset/giant-shrimps-dream.md b/.changeset/giant-shrimps-dream.md new file mode 100644 index 000000000..f26a59dcf --- /dev/null +++ b/.changeset/giant-shrimps-dream.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": minor +--- + +feat: add open/close search dialog commands to AppBridgeTheme diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts index 9de29e220..ee3ceab05 100644 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ b/packages/app-bridge/src/AppBridgeTheme.ts @@ -57,7 +57,10 @@ import type { export type ThemeApiMethod = ApiMethodNameValidator>; export type ThemeCommand = CommandNameValidator< - Pick + Pick< + CommandRegistry, + 'closeAssetChooser' | 'openAssetChooser' | 'openNavigationManager' | 'openSearchDialog' | 'closeSearchDialog' + > >; export type TemplateContext = { templateId: string; type: ThemeTemplate } & ( diff --git a/packages/app-bridge/src/registries/commands/CommandRegistry.ts b/packages/app-bridge/src/registries/commands/CommandRegistry.ts index 48683d70c..bc05fb4fc 100644 --- a/packages/app-bridge/src/registries/commands/CommandRegistry.ts +++ b/packages/app-bridge/src/registries/commands/CommandRegistry.ts @@ -10,6 +10,8 @@ type OpenTemplateChooser = void; type CloseTemplateChooser = void; type OpenNavigationManager = void; type DownloadAsset = Asset; +type OpenSearchDialog = void; +type CloseSearchDialog = void; export type CommandRegistry = CommandNameValidator<{ openAssetChooser?: OpenAssetChooserPayload; @@ -20,4 +22,6 @@ export type CommandRegistry = CommandNameValidator<{ downloadAsset: DownloadAsset; openNavigationManager: OpenNavigationManager; openNewPublication: OpenNewPublicationPayload; + openSearchDialog: OpenSearchDialog; + closeSearchDialog: CloseSearchDialog; }>; diff --git a/packages/app-bridge/src/registries/commands/SearchDialog.ts b/packages/app-bridge/src/registries/commands/SearchDialog.ts new file mode 100644 index 000000000..91054417f --- /dev/null +++ b/packages/app-bridge/src/registries/commands/SearchDialog.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import type { DispatchHandlerParameter } from '../../AppBridge'; +import type { CommandRegistry } from './CommandRegistry'; + +export const openSearchDialog = (): DispatchHandlerParameter<'openSearchDialog', CommandRegistry> => ({ + name: 'openSearchDialog', +}); + +export const closeSearchDialog = (): DispatchHandlerParameter<'closeSearchDialog', CommandRegistry> => ({ + name: 'closeSearchDialog', +}); diff --git a/packages/app-bridge/src/registries/commands/index.ts b/packages/app-bridge/src/registries/commands/index.ts index 2f778b7a3..193300e42 100644 --- a/packages/app-bridge/src/registries/commands/index.ts +++ b/packages/app-bridge/src/registries/commands/index.ts @@ -3,8 +3,9 @@ export * from './AssetChooser'; export * from './AssetViewer'; export * from './CommandRegistry'; +export * from './Connection'; export * from './DownloadAsset'; export * from './NavigationManager'; -export * from './TemplateChooser'; export * from './NewPublication'; -export * from './Connection'; +export * from './SearchDialog'; +export * from './TemplateChooser'; diff --git a/packages/app-bridge/src/types/Emitter.ts b/packages/app-bridge/src/types/Emitter.ts index 8f9c6f2ed..20ddf3cc7 100644 --- a/packages/app-bridge/src/types/Emitter.ts +++ b/packages/app-bridge/src/types/Emitter.ts @@ -99,6 +99,9 @@ export type EmitterEvents = { 'AppBridge:OpenNavigationManager': void; + 'AppBridge:OpenSearchDialog': void; + 'AppBridge:CloseSearchDialog': void; + 'AppBridge:GuidelineDocumentPage:Action': | { documentPage: DocumentPage; From 336a3240c6996237676cf791f06ef71f0059c43b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 10:57:22 +0000 Subject: [PATCH 024/327] chore: release packages (alpha) (#782) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 8042a37d3..26a316575 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -10,6 +10,7 @@ }, "changesets": [ "cuddly-pets-hammer", + "giant-shrimps-dream", "kind-fishes-flash", "lovely-books-hear", "neat-plants-smile", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index b8c05b09e..9382120f3 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.7 + +### Minor Changes + +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme + ## 4.0.0-alpha.6 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 52996c5f7..3828b03a8 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.6", + "version": "4.0.0-alpha.7", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From b5d1cb8a376ccada20d0234913584a6bdba0cba9 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 23 Feb 2024 14:28:56 +0100 Subject: [PATCH 025/327] fix: add retry to subscription (#777) * chore: add retry function to subscription * Create strong-tools-check.md * Update .changeset/strong-tools-check.md --- .changeset/strong-tools-check.md | 6 +++ .../app-bridge/src/AppBridgePlatformApp.ts | 39 ++++++++++++------- 2 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 .changeset/strong-tools-check.md diff --git a/.changeset/strong-tools-check.md b/.changeset/strong-tools-check.md new file mode 100644 index 000000000..77a0e1b5c --- /dev/null +++ b/.changeset/strong-tools-check.md @@ -0,0 +1,6 @@ +--- +"@frontify/app-bridge": patch +"@frontify/guideline-blocks-settings": patch +--- + +Fix: add retry to subscription diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index 4127bb8db..2b8521ed5 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -78,6 +78,7 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { private initialized: boolean = false; private localContext?: PlatformAppContext; private localState: PlatformAppState = { settings: {} }; + private maxRetries: number = 5; private readonly subscribeMap: SubscribeMap = { 'State.*': new Map(), @@ -118,25 +119,37 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { return; } - const PUBSUB_CHECKSUM = generateRandomString(); + const checksum = generateRandomString(); - notify(Topic.Init, PUBSUB_CHECKSUM, { + notify(Topic.Init, checksum, { token: getQueryParameters(window.location.href).token, appBridgeVersion: 'v4', }); - subscribe(Topic.Init, PUBSUB_CHECKSUM).then(({ statePort, apiPort, context, state }) => { - this.apiMessageBus = new MessageBus(apiPort); - this.stateMessageBus = new MessageBus(statePort); - - this.localContext = context; - this.localState = state; - this.initialized = true; + await this.attemptSubscription(1, checksum); + } + } - this.callSubscribedTopic('Context.connected', [true, false]); - this.callSubscribedTopic('Context.*', [this.localContext, this.localContext]); - this.callSubscribedTopic('State.*', [this.localState, this.localState]); - }); + private async attemptSubscription(attempt: number, checksum: string): Promise { + try { + const { statePort, apiPort, context, state } = await subscribe(Topic.Init, checksum); + + this.apiMessageBus = new MessageBus(apiPort); + this.stateMessageBus = new MessageBus(statePort); + + this.localContext = context; + this.localState = state; + this.initialized = true; + + this.callSubscribedTopic('Context.connected', [true, false]); + this.callSubscribedTopic('Context.*', [this.localContext, this.localContext]); + this.callSubscribedTopic('State.*', [this.localState, this.localState]); + } catch (error) { + if (attempt < this.maxRetries) { + await this.attemptSubscription(attempt + 1, checksum); + } else { + console.error('Could not connect to the platform.'); + } } } From 33ad8da08fb9629d456840930f47d83454a04648 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Fri, 23 Feb 2024 16:01:46 +0100 Subject: [PATCH 026/327] fix: changeset remove guideline-blocks-settings (#784) --- .changeset/strong-tools-check.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.changeset/strong-tools-check.md b/.changeset/strong-tools-check.md index 77a0e1b5c..de01291df 100644 --- a/.changeset/strong-tools-check.md +++ b/.changeset/strong-tools-check.md @@ -1,6 +1,5 @@ --- "@frontify/app-bridge": patch -"@frontify/guideline-blocks-settings": patch --- Fix: add retry to subscription From 524432c8ea9f4b2e0793b17ff2efff7fff00f532 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 23 Feb 2024 16:37:37 +0100 Subject: [PATCH 027/327] chore: update to 4 and downgrade to 0.0.5 (#785) --- packages/cli/templates/platform-app-css-modules/package.json | 4 ++-- packages/cli/templates/platform-app-css/package.json | 4 ++-- packages/cli/templates/platform-app-tailwind/package.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index 35b750d30..f9a7a9aed 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -10,10 +10,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "^3.3.0", + "@frontify/app-bridge": "4.0.0-alpha.6", "@frontify/fondue": "12.0.0-beta.404", "@frontify/fondue-tokens": "^3.4.0", - "@frontify/platform-app": "^0.0.6", + "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index 66f16f836..c5b82e79d 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -10,10 +10,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "^3.3.0", + "@frontify/app-bridge": "4.0.0-alpha.6", "@frontify/fondue": "12.0.0-beta.404", "@frontify/fondue-tokens": "^3.4.0", - "@frontify/platform-app": "^0.0.6", + "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index 0e6daf35b..870ce1d0c 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -10,10 +10,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "^3.3.0", + "@frontify/app-bridge": "4.0.0-alpha.6", "@frontify/fondue": "12.0.0-beta.404", "@frontify/fondue-tokens": "^3.4.0", - "@frontify/platform-app": "^0.0.6", + "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, From 99aa6379da5a2608bd3ac9aef4e022799ed0871d Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 23 Feb 2024 16:50:25 +0100 Subject: [PATCH 028/327] fix: adjust templates (#786) * chore: adjust css imports * Create curly-foxes-heal.md --- .changeset/curly-foxes-heal.md | 5 +++++ packages/cli/templates/platform-app-tailwind/src/index.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/curly-foxes-heal.md diff --git a/.changeset/curly-foxes-heal.md b/.changeset/curly-foxes-heal.md new file mode 100644 index 000000000..b5b0625dc --- /dev/null +++ b/.changeset/curly-foxes-heal.md @@ -0,0 +1,5 @@ +--- +"@frontify/frontify-cli": patch +--- + +Fix: adjust templates diff --git a/packages/cli/templates/platform-app-tailwind/src/index.ts b/packages/cli/templates/platform-app-tailwind/src/index.ts index f617df614..cf4224097 100644 --- a/packages/cli/templates/platform-app-tailwind/src/index.ts +++ b/packages/cli/templates/platform-app-tailwind/src/index.ts @@ -1,8 +1,8 @@ import { App } from './App'; import { defineApp } from '@frontify/platform-app'; import { settings } from './settings'; -import 'tailwindcss/tailwind.css'; import '@frontify/fondue/style'; +import 'tailwindcss/tailwind.css'; import './main.css'; export default defineApp({ From dcb1856d7ae08e4f2c19c0101d7cd030d6038fc5 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Fri, 23 Feb 2024 17:26:39 +0100 Subject: [PATCH 029/327] fix: revert #786 and #785 (#787) * Revert "fix: adjust templates (#786)" This reverts commit 99aa6379da5a2608bd3ac9aef4e022799ed0871d. * Revert "chore: update to 4 and downgrade to 0.0.5 (#785)" This reverts commit 524432c8ea9f4b2e0793b17ff2efff7fff00f532. --- .changeset/curly-foxes-heal.md | 5 ----- packages/cli/templates/platform-app-css-modules/package.json | 4 ++-- packages/cli/templates/platform-app-css/package.json | 4 ++-- packages/cli/templates/platform-app-tailwind/package.json | 4 ++-- packages/cli/templates/platform-app-tailwind/src/index.ts | 2 +- 5 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 .changeset/curly-foxes-heal.md diff --git a/.changeset/curly-foxes-heal.md b/.changeset/curly-foxes-heal.md deleted file mode 100644 index b5b0625dc..000000000 --- a/.changeset/curly-foxes-heal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@frontify/frontify-cli": patch ---- - -Fix: adjust templates diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index f9a7a9aed..35b750d30 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -10,10 +10,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "4.0.0-alpha.6", + "@frontify/app-bridge": "^3.3.0", "@frontify/fondue": "12.0.0-beta.404", "@frontify/fondue-tokens": "^3.4.0", - "@frontify/platform-app": "^0.0.5", + "@frontify/platform-app": "^0.0.6", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index c5b82e79d..66f16f836 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -10,10 +10,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "4.0.0-alpha.6", + "@frontify/app-bridge": "^3.3.0", "@frontify/fondue": "12.0.0-beta.404", "@frontify/fondue-tokens": "^3.4.0", - "@frontify/platform-app": "^0.0.5", + "@frontify/platform-app": "^0.0.6", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index 870ce1d0c..0e6daf35b 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -10,10 +10,10 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "4.0.0-alpha.6", + "@frontify/app-bridge": "^3.3.0", "@frontify/fondue": "12.0.0-beta.404", "@frontify/fondue-tokens": "^3.4.0", - "@frontify/platform-app": "^0.0.5", + "@frontify/platform-app": "^0.0.6", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/cli/templates/platform-app-tailwind/src/index.ts b/packages/cli/templates/platform-app-tailwind/src/index.ts index cf4224097..f617df614 100644 --- a/packages/cli/templates/platform-app-tailwind/src/index.ts +++ b/packages/cli/templates/platform-app-tailwind/src/index.ts @@ -1,8 +1,8 @@ import { App } from './App'; import { defineApp } from '@frontify/platform-app'; import { settings } from './settings'; -import '@frontify/fondue/style'; import 'tailwindcss/tailwind.css'; +import '@frontify/fondue/style'; import './main.css'; export default defineApp({ From 45ffaed9d02e2d69db82d1a8e4b5c8b733ef5876 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:19:35 +0100 Subject: [PATCH 030/327] chore: release packages (alpha) (#783) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 +- packages/app-bridge/CHANGELOG.md | 70 ++++++++++++++++++-------------- packages/app-bridge/package.json | 2 +- 3 files changed, 43 insertions(+), 33 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 26a316575..b1559a901 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -18,6 +18,8 @@ "orange-jokes-listen", "pink-bugs-behave", "polite-eels-shake", - "stale-hairs-wash" + "stale-hairs-wash", + "strong-tools-check", + "warm-hounds-refuse" ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index ff296c265..1575cad48 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,146 +1,154 @@ # @frontify/app-bridge +## 4.0.0-alpha.8 + +### Patch Changes + +- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription + +- Merge main into dev + ## 3.4.1 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM ## 3.4.0 ### Minor Changes -- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.7 ### Minor Changes -- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.6 ### Patch Changes -- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 -- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext - refactor: rename from type to surface +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface ## 4.0.0-alpha.5 ### Patch Changes -- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type -- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 3.3.2 ### Patch Changes -- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type ## 4.0.0-alpha.4 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.3.1 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 4.0.0-alpha.3 ### Patch Changes -- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision ## 4.0.0-alpha.2 ### Patch Changes -- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 4.0.0-alpha.1 ### Patch Changes -- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme ## 3.3.0 ### Minor Changes -- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 ### Minor Changes -- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context ## 4.0.0-alpha.0 ### Major Changes -- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock ## 3.1.0 ### Minor Changes -- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. - You will need to update the import paths in your tests: +- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. + You will need to update the import paths in your tests: - ```git - - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; - + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; - ``` + ```git + - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; + + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; + ``` ## 3.0.4 ### Patch Changes -- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json +- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json ## 3.0.3 ### Patch Changes -- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order +- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order ## 3.0.2 ### Patch Changes -- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions ## 3.0.1 ### Patch Changes -- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings ## 3.0.0 ### Major Changes -- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release +- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release ## 3.0.0-beta.32 ### Patch Changes -- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions +- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions ## 3.0.0-beta.31 ### Minor Changes -- Add Brandportal link +- Add Brandportal link diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 58a94ab01..f4040e5b7 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.7", + "version": "4.0.0-alpha.8", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 84dfdfd138adad802c4f489bb19320c740b6fa40 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Feb 2024 20:44:40 +0100 Subject: [PATCH 031/327] chore: release packages (alpha) (#792) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index b1559a901..61adb2f71 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -12,6 +12,7 @@ "cuddly-pets-hammer", "giant-shrimps-dream", "kind-fishes-flash", + "light-crews-report", "lovely-books-hear", "neat-plants-smile", "nervous-walls-repair", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 90eed1f63..f536860d8 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.9 + +### Patch Changes + +- Merge main into dev + ## 3.4.2 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index f4040e5b7..4b950a653 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.8", + "version": "4.0.0-alpha.9", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 4529beb4b9f20ba94c7d6226257b422d6b560d5a Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Wed, 6 Mar 2024 14:34:15 +0100 Subject: [PATCH 032/327] feat: add navigateToDocumentSection command to AppBridgeTheme (#807) (#808) * feat: add navigateToDocumentSection command to AppBridgeTheme * changeset --- .changeset/wild-bags-judge.md | 5 +++++ packages/app-bridge/src/AppBridgeTheme.ts | 7 ++++++- .../src/registries/commands/CommandRegistry.ts | 2 ++ .../registries/commands/NavigateToDocumentSection.ts | 11 +++++++++++ packages/app-bridge/src/registries/commands/index.ts | 1 + 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .changeset/wild-bags-judge.md create mode 100644 packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts diff --git a/.changeset/wild-bags-judge.md b/.changeset/wild-bags-judge.md new file mode 100644 index 000000000..e01123abd --- /dev/null +++ b/.changeset/wild-bags-judge.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": minor +--- + +feat: add navigateToDocumentSection command to AppBridgeTheme diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts index ee3ceab05..4b3a860a4 100644 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ b/packages/app-bridge/src/AppBridgeTheme.ts @@ -59,7 +59,12 @@ export type ThemeApiMethod = ApiMethodNameValidator >; diff --git a/packages/app-bridge/src/registries/commands/CommandRegistry.ts b/packages/app-bridge/src/registries/commands/CommandRegistry.ts index bc05fb4fc..7e5c651ab 100644 --- a/packages/app-bridge/src/registries/commands/CommandRegistry.ts +++ b/packages/app-bridge/src/registries/commands/CommandRegistry.ts @@ -12,6 +12,7 @@ type OpenNavigationManager = void; type DownloadAsset = Asset; type OpenSearchDialog = void; type CloseSearchDialog = void; +type NavigateToDocumentSection = number | string; export type CommandRegistry = CommandNameValidator<{ openAssetChooser?: OpenAssetChooserPayload; @@ -24,4 +25,5 @@ export type CommandRegistry = CommandNameValidator<{ openNewPublication: OpenNewPublicationPayload; openSearchDialog: OpenSearchDialog; closeSearchDialog: CloseSearchDialog; + navigateToDocumentSection: NavigateToDocumentSection; }>; diff --git a/packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts b/packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts new file mode 100644 index 000000000..33fb1a7b0 --- /dev/null +++ b/packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts @@ -0,0 +1,11 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import type { DispatchHandlerParameter } from '../../AppBridge'; +import type { CommandRegistry } from './CommandRegistry'; + +export const navigateToDocumentSection = ( + sectionId: CommandRegistry['navigateToDocumentSection'], +): DispatchHandlerParameter<'navigateToDocumentSection', CommandRegistry> => ({ + name: 'navigateToDocumentSection', + payload: sectionId, +}); diff --git a/packages/app-bridge/src/registries/commands/index.ts b/packages/app-bridge/src/registries/commands/index.ts index 193300e42..d1e78f8e6 100644 --- a/packages/app-bridge/src/registries/commands/index.ts +++ b/packages/app-bridge/src/registries/commands/index.ts @@ -9,3 +9,4 @@ export * from './NavigationManager'; export * from './NewPublication'; export * from './SearchDialog'; export * from './TemplateChooser'; +export * from './NavigateToDocumentSection'; From 0ac69eaa52ba58a5be06ce75afa63cf5838e958b Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Wed, 6 Mar 2024 17:10:20 +0100 Subject: [PATCH 033/327] feat: merge main into dev (#810) * feat(*): update plate to v30 (#750) feat(*): update plate to v30 --------- Co-authored-by: Samuel Alev Co-authored-by: Rafael Giezendanner * chore: release packages (#795) Co-authored-by: github-actions[bot] * chore(deps): update dependency vitest to v1.3.1 (#556) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency cypress to v13.6.6 (#793) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: bump fondue (#796) * chore: bump fondue * Create breezy-dolls-compete.md * chore: release packages (#797) Co-authored-by: github-actions[bot] * chore: bump @frontify/fondue to @12.0.0-beta.410 (#800) * update fondue * bump fondue in all packages * add second changeset * revert change * perf: stabilize RichTextEditor props (#801) * stabilize rte props * update props * chore: release packages (#802) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] * feat: replace content with floating modal wrapper (#803) * feat(RichTextEditor): replace content with floating modal wrapper * add changeset * update packages * update lockfile * add update * fix: flaky useUngroupedDocuments and useGroupedDocuments tests (#806) * fix: flaky useUngroupedDocuments and useGroupedDocuments tests * changeset * feat: add navigateToDocumentSection command to AppBridgeTheme (#807) * feat: add navigateToDocumentSection command to AppBridgeTheme * changeset --------- Signed-off-by: Sam Creasey Co-authored-by: Daniel Fulop Co-authored-by: Samuel Alev Co-authored-by: Rafael Giezendanner Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sam Creasey --- .changeset/pretty-items-marry.md | 5 + package.json | 7 +- .../src/react/useGroupedDocuments.spec.ts | 80 +- .../src/react/useUngroupedDocuments.spec.ts | 72 +- packages/cli/CHANGELOG.md | 18 + packages/cli/package.json | 2 +- .../platform-app-css-modules/package.json | 2 +- .../templates/platform-app-css/package.json | 2 +- .../platform-app-tailwind/package.json | 2 +- .../guideline-blocks-settings/CHANGELOG.md | 33 + .../guideline-blocks-settings/package.json | 9 +- .../Link/LinkSelector/LinkSelector.tsx | 6 +- .../Link/LinkSelector/SectionLink.tsx | 2 +- .../src/components/Link/utils/getUrl.ts | 2 +- .../RichTextEditor/RichTextEditor.spec.ct.tsx | 4 +- .../RichTextEditor/RichTextEditor.tsx | 33 +- .../ButtonMarkupElementNode.tsx | 30 +- .../ButtonPlugin/components/ButtonButton.tsx | 47 +- .../components/ButtonToolbarButton.tsx | 61 +- .../FloatingButton/CustomFloatingButton.tsx | 38 +- .../EditButtonModal/EditModal.tsx | 44 +- .../FloatingButton/FloatingButton.tsx | 37 - .../FloatingButtonEditButton.tsx | 22 - .../FloatingButton/FloatingButtonUrlInput.tsx | 30 - .../InsertButtonModal/useInsertModal.ts | 5 +- .../FloatingButton/UnlinkButton.tsx | 31 - .../FloatingButton/floatingButtonStore.ts | 2 +- .../components/FloatingButton/index.ts | 4 - .../FloatingButton/useFloatingButtonEdit.ts | 22 +- .../FloatingButton/useFloatingButtonEnter.ts | 2 +- .../FloatingButton/useFloatingButtonEscape.ts | 4 +- .../FloatingButton/useFloatingButtonInsert.ts | 16 +- .../useVirtualFloatingButton.ts | 7 +- .../ButtonPlugin/createButtonPlugin.ts | 5 +- .../ButtonPlugin/transforms/insertButton.ts | 2 +- .../transforms/submitFloatingButton.ts | 4 +- .../ButtonPlugin/transforms/unwrapButton.ts | 2 +- .../ButtonPlugin/transforms/upsertButton.ts | 5 +- .../transforms/upsertButtonText.ts | 2 +- .../ButtonPlugin/transforms/wrapButton.ts | 2 +- .../plugins/ButtonPlugin/types.ts | 2 +- .../ButtonPlugin/utils/createButtonNode.ts | 2 +- .../ButtonPlugin/utils/getButtonStyle.ts | 2 +- .../plugins/ButtonPlugin/utils/getUrl.ts | 2 +- .../utils/triggerFloatingButton.ts | 2 +- .../utils/triggerFloatingButtonEdit.ts | 2 +- .../utils/triggerFloatingButtonInsert.ts | 3 +- .../plugins/ButtonPlugin/withButton.ts | 9 +- .../FloatingLink/CustomFloatingLink.tsx | 62 +- .../FloatingLink/EditLinkModal/EditModal.tsx | 56 +- .../FloatingLink/EditLinkModal/index.ts | 1 - .../EditLinkModal/useFloatingLinkEdit.ts | 113 - .../LinkPlugin/FloatingLink/FloatingLink.tsx | 45 - .../InsertLinkModal/InsertLinkModal.tsx | 3 +- .../InsertLinkModal/InsertModal.tsx | 19 +- .../FloatingLink/InsertLinkModal/index.ts | 1 - .../InsertLinkModal/useFloatingLinkInsert.ts | 73 - .../InsertLinkModal/useInsertModal.ts | 37 +- .../plugins/LinkPlugin/LinkButton.tsx | 19 +- .../LinkMarkupElementNode.tsx | 39 +- .../LinkPlugin/LinkMarkupElement/index.ts | 11 +- .../plugins/LinkPlugin/LinkToolbarButton.tsx | 35 + .../plugins/LinkPlugin/index.ts | 26 +- .../plugins/LinkPlugin/types.ts | 2 +- .../plugins/LinkPlugin/utils/getUrl.ts | 30 + .../plugins/LinkPlugin/utils/index.ts | 3 + .../TextStylePlugins/custom1Plugin.tsx | 7 +- .../TextStylePlugins/custom2Plugin.tsx | 7 +- .../TextStylePlugins/custom3Plugin.tsx | 8 +- .../TextStylePlugins/heading1Plugin.tsx | 8 +- .../TextStylePlugins/heading2Plugin.tsx | 7 +- .../TextStylePlugins/heading3Plugin.tsx | 7 +- .../TextStylePlugins/heading4Plugin.tsx | 7 +- .../TextStylePlugins/imageCaptionPlugin.tsx | 7 +- .../TextStylePlugins/imageTitlePlugin.tsx | 7 +- .../TextStylePlugins/paragraphPlugin.tsx | 13 +- .../plugins/TextStylePlugins/quotePlugin.tsx | 9 +- packages/platform-app/CHANGELOG.md | 21 + packages/platform-app/package.json | 2 +- packages/sidebar-settings/CHANGELOG.md | 18 + packages/sidebar-settings/package.json | 4 +- patches/@udecode__plate-emoji@30.7.0.patch | 17 + pnpm-lock.yaml | 4050 ++++------------- 83 files changed, 1635 insertions(+), 3866 deletions(-) create mode 100644 .changeset/pretty-items-marry.md delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.tsx delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.tsx delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.tsx delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.tsx delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.ts delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.tsx delete mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.ts create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/index.ts create mode 100644 patches/@udecode__plate-emoji@30.7.0.patch diff --git a/.changeset/pretty-items-marry.md b/.changeset/pretty-items-marry.md new file mode 100644 index 000000000..d7a034a0f --- /dev/null +++ b/.changeset/pretty-items-marry.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +fix: useGroupedDocuments and useUngroupedDocuments flaky tests diff --git a/package.json b/package.json index c33bd5162..74e239d2e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", "@cypress/vite-dev-server": "^5.0.7", - "@frontify/fondue": "12.0.0-beta.404", + "@frontify/fondue": "12.0.0-beta.411", "@vitejs/plugin-react": "^4.2.1", "cypress": "^13.6.4", "cypress-real-events": "^1.12.0", @@ -33,5 +33,10 @@ "typescript": "^5.3.3", "vite": "^4.5.2", "vitest": "^1.3.0" + }, + "pnpm": { + "patchedDependencies": { + "@udecode/plate-emoji@30.7.0": "patches/@udecode__plate-emoji@30.7.0.patch" + } } } diff --git a/packages/app-bridge/src/react/useGroupedDocuments.spec.ts b/packages/app-bridge/src/react/useGroupedDocuments.spec.ts index cc60ba557..421a11cc6 100644 --- a/packages/app-bridge/src/react/useGroupedDocuments.spec.ts +++ b/packages/app-bridge/src/react/useGroupedDocuments.spec.ts @@ -29,18 +29,18 @@ describe('useGroupedDocument', () => { const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1)); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); await waitFor(() => { expect(result.current.isLoading).toBe(false); - - expect(result.current.documents).toEqual([ - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), - ]); + expect(spy).toHaveBeenCalledOnce(); }); + + expect(result.current.documents).toEqual([ + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), + ]); }); it('should not fetch grouped documents on mount if not enabled', () => { @@ -71,18 +71,18 @@ describe('useGroupedDocument', () => { rerender(); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); await waitFor(() => { expect(result.current.isLoading).toBe(false); - - expect(result.current.documents).toEqual([ - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), - ]); + expect(spy).toHaveBeenCalledOnce(); }); + + expect(result.current.documents).toEqual([ + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), + ]); }); it('should update document if a page is added', async () => { @@ -101,18 +101,18 @@ describe('useGroupedDocument', () => { const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => { expect(result.current.isLoading).toBe(false); - expect(result.current.documents).toEqual([ - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), - OLD_DOCUMENT, - ]); + expect(spy).toHaveBeenCalledOnce(); }); + expect(result.current.documents).toEqual([ + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), + OLD_DOCUMENT, + ]); + // Mock the response of the second call spy.mockImplementationOnce(() => Promise.resolve([ @@ -168,9 +168,11 @@ describe('useGroupedDocument', () => { const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => expect(result.current.isLoading).toBe(false)); + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledOnce(); + }); // Mock the response of the second call spy.mockImplementationOnce(() => @@ -217,18 +219,19 @@ describe('useGroupedDocument', () => { const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); await waitFor(() => { expect(result.current.isLoading).toBe(false); - expect(result.current.documents).toEqual([ - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), - OLD_DOCUMENT, - ]); + expect(spy).toHaveBeenCalledOnce(); }); + expect(result.current.documents).toEqual([ + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), + OLD_DOCUMENT, + ]); + // Mock the response of the second call spy.mockImplementationOnce(() => Promise.resolve([ @@ -284,9 +287,11 @@ describe('useGroupedDocument', () => { const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => expect(result.current.isLoading).toBe(false)); + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledOnce(); + }); // Mock the response of the second call spy.mockImplementationOnce(() => @@ -347,13 +352,14 @@ describe('useGroupedDocument', () => { const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); await waitFor(() => { expect(result.current.isLoading).toBe(false); - expect(result.current.documents).toEqual([DOCUMENT_1, DOCUMENT_2, DOCUMENT_3, DOCUMENT_4]); + expect(spy).toHaveBeenCalledOnce(); }); + expect(result.current.documents).toEqual([DOCUMENT_1, DOCUMENT_2, DOCUMENT_3, DOCUMENT_4]); + // Trigger a "document category added" event in the specified document window.emitter.emit('AppBridge:GuidelineDocument:MoveEvent', { action: 'movePreview', diff --git a/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts b/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts index fe7ed1d6b..a6c9a7faf 100644 --- a/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts +++ b/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts @@ -73,18 +73,19 @@ describe('useUngroupedDocuments', () => { rerender(); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); await waitFor(() => { expect(result.current.isLoading).toBe(false); - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - DocumentDummy.with(DOCUMENT_ID_4), - DocumentDummy.with(DOCUMENT_ID_5), - ]); + expect(spy).toHaveBeenCalledOnce(); }); + + expect(result.current.documents).toEqual([ + DocumentDummy.with(DOCUMENT_ID_1), + DocumentDummy.with(DOCUMENT_ID_2), + DocumentDummy.with(DOCUMENT_ID_3), + DocumentDummy.with(DOCUMENT_ID_4), + DocumentDummy.with(DOCUMENT_ID_5), + ]); }); it('should update document if a page is added', async () => { @@ -113,18 +114,18 @@ describe('useUngroupedDocuments', () => { const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => { expect(result.current.isLoading).toBe(false); - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]); + expect(spy).toHaveBeenCalledOnce(); }); + expect(result.current.documents).toEqual([ + DocumentDummy.with(DOCUMENT_ID_1), + DocumentDummy.with(DOCUMENT_ID_2), + DocumentDummy.with(DOCUMENT_ID_3), + OLD_DOCUMENT, + ]); + // Mock the response of the second call spy.mockImplementationOnce(() => Promise.resolve([ @@ -180,9 +181,11 @@ describe('useUngroupedDocuments', () => { const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => expect(result.current.isLoading).toBe(false)); + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledOnce(); + }); // Mock the response of the second call spy.mockImplementationOnce(() => @@ -239,18 +242,19 @@ describe('useUngroupedDocuments', () => { const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); await waitFor(() => { expect(result.current.isLoading).toBe(false); - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]); + expect(spy).toHaveBeenCalledOnce(); }); + expect(result.current.documents).toEqual([ + DocumentDummy.with(DOCUMENT_ID_1), + DocumentDummy.with(DOCUMENT_ID_2), + DocumentDummy.with(DOCUMENT_ID_3), + OLD_DOCUMENT, + ]); + // Mock the response of the second call spy.mockImplementationOnce(() => Promise.resolve([ @@ -306,9 +310,11 @@ describe('useUngroupedDocuments', () => { const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => expect(result.current.isLoading).toBe(false)); + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledOnce(); + }); // Mock the response of the second call spy.mockImplementationOnce(() => @@ -378,9 +384,11 @@ describe('useUngroupedDocuments', () => { const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => expect(result.current.isLoading).toBe(false)); + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledOnce(); + }); // Trigger a "document category added" event in the specified document window.emitter.emit('AppBridge:GuidelineDocument:MoveEvent', { @@ -436,9 +444,11 @@ describe('useUngroupedDocuments', () => { const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - await waitFor(() => expect(result.current.isLoading).toBe(false)); + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledOnce(); + }); // Trigger a "document category added" event in the specified document window.emitter.emit('AppBridge:GuidelineDocumentGroup:MoveEvent', { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 98f17ba30..79972c18b 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,23 @@ # @frontify/frontify-cli +## 5.6.8 + +### Patch Changes + +- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 + +## 5.6.7 + +### Patch Changes + +- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue + +## 5.6.6 + +### Patch Changes + +- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue + ## 5.6.5 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 17e70203f..612d20130 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "author": "Frontify Developers ", - "version": "5.6.5", + "version": "5.6.8", "bin": { "frontify-cli": "dist/index.mjs" }, diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index f9a7a9aed..c819ddf62 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.6", - "@frontify/fondue": "12.0.0-beta.404", + "@frontify/fondue": "12.0.0-beta.411", "@frontify/fondue-tokens": "^3.4.0", "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index c5b82e79d..3ef778711 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.6", - "@frontify/fondue": "12.0.0-beta.404", + "@frontify/fondue": "12.0.0-beta.411", "@frontify/fondue-tokens": "^3.4.0", "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index 870ce1d0c..1c8e0609b 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.6", - "@frontify/fondue": "12.0.0-beta.404", + "@frontify/fondue": "12.0.0-beta.411", "@frontify/fondue-tokens": "^3.4.0", "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index fe8d7d422..fce61c406 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,38 @@ # @frontify/guideline-blocks-settings +## 0.34.2 + +### Patch Changes + +- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 + +- [#801](https://github.com/Frontify/brand-sdk/pull/801) [`51d5537`](https://github.com/Frontify/brand-sdk/commit/51d55375a86547f1036c4c892da97f6cb64b1e88) Thanks [@SamCreasey](https://github.com/SamCreasey)! - perf(RichTextEditor): Stabilize props to avoid unneccessary rerenders. + +- Updated dependencies [[`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c)]: + - @frontify/sidebar-settings@0.9.9 + +## 0.34.1 + +### Patch Changes + +- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue + +- Updated dependencies [[`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce)]: + - @frontify/sidebar-settings@0.9.8 + +## 0.34.0 + +### Minor Changes + +- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): update fondue which comes with plate v30 + + @udecode/plate libraries are no longer used as a direct dependency, instead all required parts are now imported from @frontify/fondue + +### Patch Changes + +- Updated dependencies [[`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32)]: + - @frontify/sidebar-settings@0.9.7 + ## 0.33.5 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 51ea82a01..c44daae6f 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "0.33.5", + "version": "0.34.2", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { @@ -47,13 +47,10 @@ "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", - "@frontify/fondue": "12.0.0-beta.404", + "@frontify/fondue": "12.0.0-beta.411", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.14.0", - "@react-stately/overlays": "^3.6.1", - "@udecode/plate": "^21.5.0", - "slate": "^0.94.1", - "slate-react": "^0.98.3" + "@react-stately/overlays": "^3.6.1" }, "devDependencies": { "@babel/core": "^7.23.9", diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx index e9c6dc005..5a9357fbc 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/LinkSelector.tsx @@ -48,7 +48,11 @@ export const LinkSelector = ({ }; return ( -
+
event.preventDefault()} + data-test-id="internal-link-selector" + onKeyDown={onPressEnter} + > - { + unwrapButton(editor); + focusEditor(editor, editor.selection ?? undefined); + }} tabIndex={0} data-test-id="remove-button-button" className="tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1" > - - - - + + -
+ ); }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.tsx deleted file mode 100644 index ee1600394..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButton.tsx +++ /dev/null @@ -1,37 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { HTMLPropsAs, UseVirtualFloatingOptions, createComponentAs, createElementAs } from '@udecode/plate'; -import { useFloatingButtonEdit } from './useFloatingButtonEdit'; -import { useFloatingButtonInsert } from './useFloatingButtonInsert'; -import { FloatingButtonEditButton } from './FloatingButtonEditButton'; -import { UnlinkButton } from './UnlinkButton'; - -export type FloatingButtonProps = HTMLPropsAs<'div'> & { - floatingOptions?: UseVirtualFloatingOptions; -}; - -export const FloatingButtonEditRoot = createComponentAs((props) => { - const htmlProps = useFloatingButtonEdit(props); - - if (htmlProps.style?.display === 'none') { - return null; - } - - return createElementAs('div', htmlProps); -}); - -export const FloatingButtonInsertRoot = createComponentAs((props) => { - const htmlProps = useFloatingButtonInsert(props); - - if (htmlProps.style?.display === 'none') { - return null; - } - return createElementAs('div', htmlProps); -}); - -export const FloatingButton = { - EditRoot: FloatingButtonEditRoot, - InsertRoot: FloatingButtonInsertRoot, - EditButton: FloatingButtonEditButton, - UnlinkButton, -}; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.tsx deleted file mode 100644 index bd6aebf55..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonEditButton.tsx +++ /dev/null @@ -1,22 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useCallback } from 'react'; -import { AsProps, HTMLPropsAs, createComponentAs, createElementAs, useEditorRef } from '@udecode/plate'; -import { triggerFloatingButtonEdit } from '../../utils/triggerFloatingButtonEdit'; - -export const useFloatingButtonEditButton = (props: HTMLPropsAs<'button'>): HTMLPropsAs<'button'> => { - const editor = useEditorRef(); - - return { - onClick: useCallback(() => { - triggerFloatingButtonEdit(editor); - }, [editor]), - ...props, - }; -}; - -export const FloatingButtonEditButton = createComponentAs>((props) => { - const htmlProps = useFloatingButtonEditButton(props); - - return createElementAs('button', htmlProps); -}); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.tsx deleted file mode 100644 index 2ade5d34f..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/FloatingButtonUrlInput.tsx +++ /dev/null @@ -1,30 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { ChangeEventHandler, useCallback, useEffect, useRef } from 'react'; -import { HTMLPropsAs, mergeProps, useComposedRef } from '@udecode/plate'; -import { floatingButtonActions, floatingButtonSelectors, useFloatingButtonSelectors } from './floatingButtonStore'; - -export const useFloatingButtonUrlInput = (props: HTMLPropsAs<'input'>): HTMLPropsAs<'input'> => { - const updated = useFloatingButtonSelectors().updated(); - const ref = useRef(null); - - useEffect(() => { - if (ref.current && updated) { - setTimeout(() => { - ref.current?.focus(); - }, 0); - } - }, [updated]); - - const onChange: ChangeEventHandler = useCallback((e) => { - floatingButtonActions.url(e.target.value); - }, []); - - return mergeProps( - { - onChange, - defaultValue: floatingButtonSelectors.url(), - }, - { ...props, ref: useComposedRef(props.ref, ref) }, - ); -}; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts index bb4be61a1..3dc1fe600 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { Dispatch, Reducer, useEffect, useReducer } from 'react'; -import { getPluginOptions, useEditorRef, useHotkeys } from '@udecode/plate'; +import { CheckboxState, getPluginOptions, useEditorRef, useHotkeys } from '@frontify/fondue'; import { InsertModalDispatchType, InsertModalStateProps } from './types'; import { floatingButtonActions, floatingButtonSelectors } from '../floatingButtonStore'; import { ELEMENT_BUTTON } from '../../../createButtonPlugin'; @@ -9,7 +9,6 @@ import { submitFloatingButton } from '../../../transforms/submitFloatingButton'; import { RichTextButtonStyle } from '../../../types'; import { getButtonStyle } from '../../../utils/getButtonStyle'; import { AppBridgeBlock } from '@frontify/app-bridge'; -import { CheckboxState } from '@frontify/fondue'; import { addHttps } from '../../../../../../../helpers'; import { isValidUrlOrEmpty } from '../../../../../../Link/utils/url'; @@ -95,7 +94,7 @@ export const useInsertModal = () => { }; const onCancel = () => { - floatingButtonActions.hide(); + floatingButtonActions.reset(); }; const onSave = (event: React.MouseEvent | KeyboardEvent | undefined) => { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.tsx deleted file mode 100644 index 4d6e7bbb5..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/UnlinkButton.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useCallback } from 'react'; -import { - AsProps, - Button, - HTMLPropsAs, - createComponentAs, - createElementAs, - focusEditor, - useEditorRef, -} from '@udecode/plate'; -import { unwrapButton } from '../../transforms/index'; - -export const useUnlinkButton = (props: HTMLPropsAs<'button'>): HTMLPropsAs<'button'> => { - const editor = useEditorRef(); - - return { - onClick: useCallback(() => { - unwrapButton(editor); - focusEditor(editor, editor.selection ?? undefined); - }, [editor]), - ...props, - }; -}; - -export const UnlinkButton = createComponentAs>((props) => { - const htmlProps = useUnlinkButton(props); - - return createElementAs(Button, htmlProps); -}); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts index be6773363..b47778454 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createStore } from '@udecode/plate'; +import { createStore } from '@frontify/fondue'; import { RichTextButtonStyle } from '../../types'; export type FloatingButtonMode = '' | 'insert' | 'edit'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/index.ts index a0fb55c36..8d683528f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/index.ts @@ -1,9 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -export * from './FloatingButton'; -export * from './FloatingButtonEditButton'; -export * from './FloatingButtonUrlInput'; -export * from './UnlinkButton'; export * from './floatingButtonStore'; export * from './useFloatingButtonEdit'; export * from './useFloatingButtonEnter'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts index 58f20a1c1..ddd40568f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { - HTMLPropsAs, + UseVirtualFloatingOptions, getAboveNode, getDefaultBoundingClientRect, getEndPoint, @@ -12,15 +12,14 @@ import { someNode, useComposedRef, useEditorRef, + useEditorVersion, useHotkeys, - usePlateSelectors, -} from '@udecode/plate'; -import { useCallback, useEffect } from 'react'; +} from '@frontify/fondue'; +import { type Ref, useCallback, useEffect } from 'react'; import { ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin'; import { getUrlFromEditor } from '../../utils'; import { triggerFloatingButtonEdit } from '../../utils/triggerFloatingButtonEdit'; import { - FloatingButtonProps, floatingButtonActions, floatingButtonSelectors, useFloatingButtonEnter, @@ -29,11 +28,13 @@ import { useVirtualFloatingButton, } from '.'; -export const useFloatingButtonEdit = ({ floatingOptions, ...props }: FloatingButtonProps): HTMLPropsAs<'div'> => { +export const useFloatingButtonEdit = ( + floatingOptions: UseVirtualFloatingOptions, +): React.HTMLAttributes & { ref: Ref } => { const editor = useEditorRef(); - const keyEditor = usePlateSelectors(editor.id).keyEditor(); const mode = useFloatingButtonSelectors().mode(); const open = useFloatingButtonSelectors().isOpen(editor.id); + const version = useEditorVersion(); const { triggerFloatingButtonHotkeys } = getPluginOptions(editor, ELEMENT_BUTTON); @@ -79,9 +80,9 @@ export const useFloatingButtonEdit = ({ floatingOptions, ...props }: FloatingBut } if (floatingButtonSelectors.mode() === 'edit') { - floatingButtonActions.hide(); + floatingButtonActions.reset(); } - }, [editor, keyEditor, update]); + }, [editor, version, update]); useHotkeys( triggerFloatingButtonHotkeys, @@ -107,7 +108,6 @@ export const useFloatingButtonEdit = ({ floatingOptions, ...props }: FloatingBut ...style, zIndex: 1000, }, - ...props, - ref: useComposedRef(props.ref, floating), + ref: useComposedRef(floating), }; }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts index 45bf359d3..45b67eeca 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useEditorRef, useHotkeys } from '@udecode/plate'; +import { useEditorRef, useHotkeys } from '@frontify/fondue'; import { submitFloatingButton } from '../../transforms/submitFloatingButton'; export const useFloatingButtonEnter = () => { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts index e32b03a6b..6425e1646 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { focusEditor, useEditorRef, useHotkeys } from '@udecode/plate'; +import { focusEditor, useEditorRef, useHotkeys } from '@frontify/fondue'; import { floatingButtonActions, floatingButtonSelectors } from './floatingButtonStore'; export const useFloatingButtonEscape = () => { @@ -19,7 +19,7 @@ export const useFloatingButtonEscape = () => { return; } - floatingButtonActions.hide(); + floatingButtonActions.reset(); }, { enableOnFormTags: ['INPUT'], diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts index afc3ff7e7..fb82dfda3 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts @@ -1,26 +1,27 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { - HTMLPropsAs, + UseVirtualFloatingOptions, getPluginOptions, getSelectionBoundingClientRect, useComposedRef, useEditorRef, + useFocused, useHotkeys, -} from '@udecode/plate'; -import { useEffect } from 'react'; -import { useFocused } from 'slate-react'; +} from '@frontify/fondue'; +import { type Ref, useEffect } from 'react'; import { ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin'; import { triggerFloatingButtonInsert } from '../../utils/triggerFloatingButtonInsert'; import { - FloatingButtonProps, floatingButtonActions, useFloatingButtonEscape, useFloatingButtonSelectors, useVirtualFloatingButton, } from '.'; -export const useFloatingButtonInsert = ({ floatingOptions, ...props }: FloatingButtonProps): HTMLPropsAs<'div'> => { +export const useFloatingButtonInsert = ( + floatingOptions: UseVirtualFloatingOptions, +): React.HTMLAttributes & { ref: Ref } => { const editor = useEditorRef(); const focused = useFocused(); const mode = useFloatingButtonSelectors().mode(); @@ -65,7 +66,6 @@ export const useFloatingButtonInsert = ({ floatingOptions, ...props }: FloatingB ...style, zIndex: 1000, }, - ...props, - ref: useComposedRef(props.ref, floating), + ref: useComposedRef(floating), }; }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts index 28c93a0f4..595d1d91f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts @@ -1,12 +1,15 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { UseVirtualFloatingOptions, flip, offset, useVirtualFloating } from '@udecode/plate'; +import { UseVirtualFloatingOptions, flip, offset, useVirtualFloating } from '@frontify/fondue'; +import { CSSProperties, type Ref } from 'react'; const OFFSET_Y = 12; const OFFSET_X = -22; const PADDING = 96; -export const useVirtualFloatingButton = (floatingOptions?: UseVirtualFloatingOptions) => +export const useVirtualFloatingButton = ( + floatingOptions?: UseVirtualFloatingOptions, +): { style: CSSProperties; update: () => void; floating: Ref } => useVirtualFloating({ placement: 'bottom-start', middleware: [ diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts index b9b55190e..bc1aee647 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts @@ -1,8 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { AppBridgeBlock } from '@frontify/app-bridge'; -import { Plugin, PluginProps } from '@frontify/fondue'; -import { RangeBeforeOptions, createPluginFactory } from '@udecode/plate'; +import { PlatePlugin, Plugin, PluginProps, RangeBeforeOptions, createPluginFactory } from '@frontify/fondue'; import type { CSSProperties } from 'react'; import { isValidUrl } from '../../../Link/utils/url'; import { ButtonMarkupElement } from './ButtonMarkupElement'; @@ -57,7 +56,7 @@ export interface ButtonPlugin { /** * Enables support for hyperlinks. */ -export const createButtonPlugin = (appBridge: AppBridgeBlock) => +export const createButtonPlugin = (appBridge: AppBridgeBlock): PlatePlugin => createPluginFactory({ key: ELEMENT_BUTTON, isElement: true, diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts index ee975ee78..56030c7cc 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { InsertNodesOptions, PlateEditor, TText, Value, insertNodes } from '@udecode/plate'; +import { InsertNodesOptions, PlateEditor, TText, Value, insertNodes } from '@frontify/fondue'; import { TButtonElement } from '../types'; import { CreateButtonNodeOptions, createButtonNode } from '../utils/index'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts index dd9af8082..2eac5a7d9 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, Value, focusEditor, getPluginOptions } from '@udecode/plate'; +import { PlateEditor, Value, focusEditor, getPluginOptions } from '@frontify/fondue'; import { floatingButtonActions, floatingButtonSelectors } from '../components/FloatingButton/floatingButtonStore'; import { ButtonPlugin, ELEMENT_BUTTON } from '../createButtonPlugin'; import { upsertButton } from '.'; @@ -22,7 +22,7 @@ export const submitFloatingButton = (editor: PlateEditor) => const buttonStyle = floatingButtonSelectors.buttonStyle(); const target = floatingButtonSelectors.newTab() ? undefined : '_self'; - floatingButtonActions.hide(); + floatingButtonActions.reset(); upsertButton(editor, { url, diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts index f5fc4a099..55a647e71 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts @@ -10,7 +10,7 @@ import { splitNodes, unwrapNodes, withoutNormalizing, -} from '@udecode/plate'; +} from '@frontify/fondue'; import { ELEMENT_BUTTON } from '../createButtonPlugin'; /** diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts index f860d9f11..33a34fc27 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts @@ -2,6 +2,7 @@ import { InsertNodesOptions, + Path, PlateEditor, TNode, TNodeEntry, @@ -19,8 +20,8 @@ import { isExpanded, removeNodes, setNodes, -} from '@udecode/plate'; -import { Path } from 'slate'; +} from '@frontify/fondue'; + import { ButtonPlugin, ELEMENT_BUTTON } from '../createButtonPlugin'; import { RichTextButtonStyle, TButtonElement } from '../types'; import { CreateButtonNodeOptions } from '../utils/index'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts index d771349af..3fb9d4a85 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts @@ -8,7 +8,7 @@ import { getEditorString, getPluginType, replaceNodeChildren, -} from '@udecode/plate'; +} from '@frontify/fondue'; import { ELEMENT_BUTTON, TButtonElement } from '..'; import { UpsertButtonOptions } from './upsertButton'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts index f6dcd34f5..5783608bb 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, Value, WrapNodesOptions, getPluginType, wrapNodes } from '@udecode/plate'; +import { PlateEditor, Value, WrapNodesOptions, getPluginType, wrapNodes } from '@frontify/fondue'; import { ELEMENT_BUTTON, RichTextButtonStyle, TButtonElement } from '..'; export interface WrapButtonOptions extends WrapNodesOptions { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts index bbfeb6ffe..ce5d29183 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { TLinkElement } from '@udecode/plate'; +import { TLinkElement } from '@frontify/fondue'; export type TButtonElement = TLinkElement & { chosenLink?: { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts index 2af64c2d1..2bf0f41e9 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, TText, Value, getPluginType } from '@udecode/plate'; +import { PlateEditor, TText, Value, getPluginType } from '@frontify/fondue'; import { RichTextButtonStyle, TButtonElement } from '..'; import { ELEMENT_BUTTON } from '../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts index 1ceb16b82..c2d86abb0 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, getAboveNode } from '@udecode/plate'; +import { PlateEditor, getAboveNode } from '@frontify/fondue'; import { ELEMENT_BUTTON, RichTextButtonStyle, TButtonElement } from '..'; export const getButtonStyle = (editor: PlateEditor): RichTextButtonStyle => { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts index a14e36ec5..c5ee99222 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, getAboveNode } from '@udecode/plate'; +import { PlateEditor, getAboveNode } from '@frontify/fondue'; import { ELEMENT_BUTTON, TButtonElement } from '..'; const getLinkNode = (editor: PlateEditor, cb: (link: TButtonElement) => string): string => { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts index 7c855c9ad..d52acda1f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, Value } from '@udecode/plate'; +import { PlateEditor, Value } from '@frontify/fondue'; import { floatingButtonSelectors } from '../components'; import { triggerFloatingButtonEdit, triggerFloatingButtonInsert } from '.'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts index 12db46875..8b98ea90a 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, Value, findNode, getEditorString, getPluginType } from '@udecode/plate'; +import { PlateEditor, Value, findNode, getEditorString, getPluginType } from '@frontify/fondue'; import { ELEMENT_BUTTON, TButtonElement } from '..'; import { floatingButtonActions } from '../components/FloatingButton/floatingButtonStore'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts index 005b9ec5c..6b893edf0 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateEditor, Value, getEditorString, getPluginType, isRangeAcrossBlocks, someNode } from '@udecode/plate'; +import { PlateEditor, Value, getEditorString, getPluginType, isRangeAcrossBlocks, someNode } from '@frontify/fondue'; import { floatingButtonActions, floatingButtonSelectors } from '../components/FloatingButton/floatingButtonStore'; import { ELEMENT_BUTTON } from '../createButtonPlugin'; @@ -39,7 +39,6 @@ export const triggerFloatingButtonInsert = ( if (hasButton) { return; } - floatingButtonActions.text(getEditorString(editor, editor.selection)); floatingButtonActions.show('insert', editor.id); }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts index cbf50ecce..5f5ae123f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts @@ -1,9 +1,11 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { - AnyObject, EText, + Path, PlateEditor, + Point, + Range, Value, WithOverride, getAboveNode, @@ -17,8 +19,7 @@ import { mockPlugin, select, withRemoveEmptyNodes, -} from '@udecode/plate'; -import { Path, Point, Range } from 'slate'; +} from '@frontify/fondue'; import { ELEMENT_BUTTON } from './createButtonPlugin'; /** @@ -99,7 +100,7 @@ export const withButton: WithOverride = (editor, { type }) => { return withRemoveEmptyNodes>( editor, - mockPlugin>({ + mockPlugin, Value, PlateEditor>({ options: { types: type }, }), ); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx index dbc2b91b9..35c79b713 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx @@ -1,26 +1,70 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { TEditableProps, useFloatingLinkSelectors } from '@udecode/plate'; - +import { + LinkFloatingToolbarState, + UseVirtualFloatingOptions, + flip, + offset, + useFloatingLinkEdit, + useFloatingLinkEditState, + useFloatingLinkInsert, + useFloatingLinkInsertState, +} from '@frontify/fondue'; import { EditModal } from './EditLinkModal'; -import { FloatingLink } from './FloatingLink'; import { InsertLinkModal } from './InsertLinkModal/InsertLinkModal'; -export const CustomFloatingLink = ({ readOnly }: TEditableProps) => { - const isEditing = useFloatingLinkSelectors().isEditing(); +const floatingOptions: UseVirtualFloatingOptions = { + placement: 'bottom-start', + strategy: 'absolute', + middleware: [ + offset(12), + flip({ + padding: 12, + fallbackPlacements: ['bottom-end', 'top-start', 'top-end'], + }), + ], +}; + +export type LinkFloatingToolbarProps = { + state?: LinkFloatingToolbarState; +}; + +export const CustomFloatingLink = () => { + const insertState = useFloatingLinkInsertState({ + floatingOptions, + }); + const { props: insertProps, ref: insertRef, hidden } = useFloatingLinkInsert(insertState); + + const editState = useFloatingLinkEditState({ + floatingOptions, + }); - if (readOnly) { + const { props: editProps, ref: editRef, editButtonProps, unlinkButtonProps } = useFloatingLinkEdit(editState); + + if (hidden) { return null; } const input = ; - const editContent = isEditing ? input : ; + const editContent = editState.isEditing ? ( + input + ) : ( + + ); return ( <> - {input} + {insertState.isOpen && !editState.isOpen && ( +
+ {input} +
+ )} - {editContent} + {editState.isOpen && ( +
+ {editContent} +
+ )} ); }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx index 0a52ee785..f504a44db 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx @@ -1,43 +1,47 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconPen16, IconTrashBin16 } from '@frontify/fondue'; -import { useFloatingLinkUrlInput } from '@udecode/plate'; -import { FloatingLink } from '../FloatingLink'; +import { MouseEvent } from 'react'; +import { FloatingModalWrapper, IconPen16, IconTrashBin16, useLinkOpenButtonState } from '@frontify/fondue'; +import { getUrlFromLinkOrLegacyLink } from '../../../../../Link'; -export const EditModal = () => { - const urlHtmlProps = useFloatingLinkUrlInput({}); +type EditModalProps = { + editButtonProps: { + onClick: () => void; + }; + unlinkButtonProps: { + onMouseDown: (e: MouseEvent) => void; + onClick: () => void; + }; +}; + +export const EditModal = ({ editButtonProps, unlinkButtonProps }: EditModalProps) => { + const { element } = useLinkOpenButtonState(); + const url = element ? getUrlFromLinkOrLegacyLink(element) : ''; return ( -
- - {urlHtmlProps.defaultValue} + + + {url} - - - - - + + - - - - - + + -
+ ); }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/index.ts index ab2acf583..874cccf5f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/index.ts @@ -1,4 +1,3 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './EditModal'; -export * from './useFloatingLinkEdit'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.ts deleted file mode 100644 index bcc020b57..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/useFloatingLinkEdit.ts +++ /dev/null @@ -1,113 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - ELEMENT_LINK, - FloatingLinkProps, - HTMLPropsAs, - LinkPlugin, - floatingLinkActions, - floatingLinkSelectors, - getAboveNode, - getDefaultBoundingClientRect, - getEndPoint, - getPluginOptions, - getPluginType, - getRangeBoundingClientRect, - getStartPoint, - someNode, - triggerFloatingLinkEdit, - useComposedRef, - useEditorRef, - useFloatingLinkEnter, - useFloatingLinkEscape, - useFloatingLinkSelectors, - useHotkeys, - usePlateSelectors, - useVirtualFloatingLink, -} from '@udecode/plate'; -import { useCallback, useEffect } from 'react'; -import { getLinkFromEditor } from '../../../../../Link'; - -export const useFloatingLinkEdit = ({ floatingOptions, ...props }: FloatingLinkProps): HTMLPropsAs<'div'> => { - const editor = useEditorRef(); - const keyEditor = usePlateSelectors().keyEditor(); - const mode = useFloatingLinkSelectors().mode(); - const open = useFloatingLinkSelectors().isOpen(editor.id); - - const { triggerFloatingLinkHotkeys = 'command+k, ctrl+k' } = getPluginOptions(editor, ELEMENT_LINK); - - const getBoundingClientRect = useCallback(() => { - const entry = getAboveNode(editor, { - match: { type: getPluginType(editor, ELEMENT_LINK) }, - }); - - if (entry) { - const [, path] = entry; - return getRangeBoundingClientRect(editor, { - anchor: getStartPoint(editor, path), - focus: getEndPoint(editor, path), - }); - } - - return getDefaultBoundingClientRect(); - }, [editor]); - - const isOpen = open && mode === 'edit'; - - const { update, style, floating } = useVirtualFloatingLink({ - editorId: editor.id, - open: isOpen, - getBoundingClientRect, - ...floatingOptions, - }); - - useEffect(() => { - const url = getLinkFromEditor(editor); - if (url) { - floatingLinkActions.url(url); - } - - if ( - editor.selection && - someNode(editor, { - match: { type: getPluginType(editor, ELEMENT_LINK) }, - }) - ) { - floatingLinkActions.show('edit', editor.id); - update(); - return; - } - - if (floatingLinkSelectors.mode() === 'edit') { - floatingLinkActions.hide(); - } - }, [editor, keyEditor, update]); - - useHotkeys( - triggerFloatingLinkHotkeys, - (e) => { - e.preventDefault(); - - if (floatingLinkSelectors.mode() === 'edit') { - triggerFloatingLinkEdit(editor); - } - }, - { - enableOnContentEditable: true, - }, - [], - ); - - useFloatingLinkEnter(); - - useFloatingLinkEscape(); - - return { - style: { - ...style, - zIndex: 1000, - }, - ...props, - ref: useComposedRef(props.ref, floating), - }; -}; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.tsx deleted file mode 100644 index 979ced885..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/FloatingLink.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - FloatingLinkProps, - FloatingLink as PlateFloatingLink, - createComponentAs, - createElementAs, -} from '@udecode/plate'; -import { useFloatingLinkEdit } from './EditLinkModal'; -import { useFloatingLinkInsert } from './InsertLinkModal/useFloatingLinkInsert'; - -const FloatingLinkInsertRoot = createComponentAs((props) => { - const htmlProps = useFloatingLinkInsert({ - ...props, - floatingOptions: { - strategy: 'absolute', - }, - }); - - if (htmlProps.style?.display === 'none') { - return null; - } - - return createElementAs('div', htmlProps); -}); - -const FloatingLinkEditRoot = createComponentAs((props) => { - const htmlProps = useFloatingLinkEdit({ - ...props, - floatingOptions: { - strategy: 'absolute', - }, - }); - - if (htmlProps.style?.display === 'none') { - return null; - } - - return createElementAs('div', htmlProps); -}); - -PlateFloatingLink.EditRoot = FloatingLinkEditRoot; -PlateFloatingLink.InsertRoot = FloatingLinkInsertRoot; - -export const FloatingLink = PlateFloatingLink; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx index e125374e8..26e5c4ad1 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertLinkModal.tsx @@ -1,5 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { InsertModal, useInsertModal } from '.'; +import { InsertModal } from './InsertModal'; +import { useInsertModal } from './useInsertModal'; export const InsertLinkModal = () => ; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx index 1cc276e42..e5556ac76 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx @@ -1,26 +1,27 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { MouseEvent, ReactElement, ReactNode } from 'react'; import { AppBridgeBlock } from '@frontify/app-bridge'; import { Button, ButtonEmphasis, ButtonSize, ButtonStyle, + FloatingModalWrapper, FormControl, IconCheckMark20, TextInput, } from '@frontify/fondue'; -import { FC, ReactNode } from 'react'; import { InsertModalStateProps } from './types'; -import { LinkInput } from '../../../../../Link/LinkInput'; +import { LinkInput } from '../../../../../Link'; -type InsertModalProps = { +type Props = { state: InsertModalStateProps; onTextChange: (value: string) => void; onUrlChange: (value: string) => void; onToggleTab: (checked: boolean) => void; onCancel: () => void; - onSave: (event: React.MouseEvent | KeyboardEvent | undefined) => void; + onSave: (event: MouseEvent | KeyboardEvent | undefined) => void; hasValues: boolean; isValidUrlOrEmpty: (url: string) => boolean; testId?: string; @@ -28,7 +29,7 @@ type InsertModalProps = { appBridge: AppBridgeBlock; }; -export const InsertModal: FC = ({ +export const InsertModal = ({ state, onTextChange, onUrlChange, @@ -40,8 +41,8 @@ export const InsertModal: FC = ({ testId, appBridge, children, -}) => ( -
+}: Props): ReactElement => ( + = ({ onClick={onSave} size={ButtonSize.Medium} icon={} - disabled={!hasValues || !isValidUrlOrEmpty(state?.url)} + disabled={!isValidUrlOrEmpty(state?.url) || !hasValues} > Save
- + ); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/index.ts index 14a959997..1a4686a57 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/index.ts @@ -1,4 +1,3 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './InsertModal'; -export * from './useInsertModal'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.ts deleted file mode 100644 index ca6452706..000000000 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.ts +++ /dev/null @@ -1,73 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - ELEMENT_LINK, - FloatingLinkProps, - HTMLPropsAs, - LinkPlugin, - floatingLinkActions, - getPluginOptions, - getSelectionBoundingClientRect, - triggerFloatingLinkInsert, - useComposedRef, - useEditorRef, - useFloatingLinkEscape, - useFloatingLinkSelectors, - useHotkeys, - useVirtualFloatingLink, -} from '@udecode/plate'; -import { useEffect } from 'react'; -import { useFocused } from 'slate-react'; - -export const useFloatingLinkInsert = ({ floatingOptions, ...props }: FloatingLinkProps): HTMLPropsAs<'div'> => { - const editor = useEditorRef(); - const focused = useFocused(); - const mode = useFloatingLinkSelectors().mode(); - const open = useFloatingLinkSelectors().isOpen(editor.id); - - const { triggerFloatingLinkHotkeys } = getPluginOptions(editor, ELEMENT_LINK); - - useHotkeys( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - triggerFloatingLinkHotkeys!, - (e) => { - if (triggerFloatingLinkInsert(editor, { focused })) { - e.preventDefault(); - } - }, - { - enableOnContentEditable: true, - }, - [focused], - ); - - const { update, style, floating } = useVirtualFloatingLink({ - editorId: editor.id, - open: open && mode === 'insert', - getBoundingClientRect: getSelectionBoundingClientRect, - // eslint-disable-next-line @typescript-eslint/no-empty-function - whileElementsMounted: () => {}, - ...floatingOptions, - }); - - // wait for update before focusing input - useEffect(() => { - if (open) { - update(); - floatingLinkActions.updated(true); - } else { - floatingLinkActions.updated(false); - } - }, [open, update]); - - useFloatingLinkEscape(); - - return { - style: { - ...style, - zIndex: 1000, - }, - ...props, - ref: useComposedRef(props.ref, floating), - }; -}; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts index 065dadebb..5bd50893f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts @@ -1,8 +1,8 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { AppBridgeBlock } from '@frontify/app-bridge'; -import { CheckboxState } from '@frontify/fondue'; +import { Dispatch, MouseEvent, Reducer, useEffect, useReducer } from 'react'; import { + CheckboxState, ELEMENT_LINK, floatingLinkActions, floatingLinkSelectors, @@ -10,12 +10,13 @@ import { submitFloatingLink, useEditorRef, useHotkeys, -} from '@udecode/plate'; -import { Dispatch, Reducer, useEffect, useReducer } from 'react'; -import { getLegacyUrl, getUrl } from '../../../../../Link/utils'; +} from '@frontify/fondue'; + import { InsertModalDispatchType, InsertModalStateProps } from './types'; +import { AppBridgeBlock } from '@frontify/app-bridge'; +import { getLegacyUrl, getUrl } from '../../utils'; +import { isValidUrlOrEmpty } from '../../../../../Link'; import { addHttps } from '../../../../../../helpers'; -import { isValidUrlOrEmpty } from '../../../../../Link/utils/url'; const initialState: InsertModalStateProps = { url: '', @@ -60,12 +61,12 @@ export const useInsertModal = () => { useEffect(() => { const legacyUrl = getLegacyUrl(editor); const url = getUrl(editor); - + const isNewTab = floatingLinkSelectors.newTab(); dispatch({ type: 'INIT', payload: { text: floatingLinkSelectors.text(), - newTab: floatingLinkSelectors.newTab() ? CheckboxState.Checked : CheckboxState.Unchecked, + newTab: isNewTab ? CheckboxState.Checked : CheckboxState.Unchecked, url: legacyUrl && url === '' ? legacyUrl : floatingLinkSelectors.url(), }, }); @@ -90,18 +91,16 @@ export const useInsertModal = () => { }; const onCancel = () => { - floatingLinkActions.hide(); + floatingLinkActions.reset(); }; - const onSave = (event: React.MouseEvent | KeyboardEvent | undefined) => { + const onSave = (event: MouseEvent | KeyboardEvent | undefined) => { if (!isValidUrlOrEmpty(state.url) || !hasValues) { return; } - const urlToSave = addHttps(state.url); - floatingLinkActions.text(state.text); - floatingLinkActions.url(urlToSave); + floatingLinkActions.url(addHttps(state.url)); floatingLinkActions.newTab(state.newTab === CheckboxState.Checked); if (submitFloatingLink(editor)) { @@ -122,15 +121,5 @@ export const useInsertModal = () => { [], ); - return { - state, - onTextChange, - onUrlChange, - onToggleTab, - onCancel, - onSave, - hasValues, - isValidUrlOrEmpty, - appBridge, - }; + return { state, onTextChange, onUrlChange, onToggleTab, onCancel, onSave, hasValues, isValidUrlOrEmpty, appBridge }; }; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx index bd5f3e9d3..7ef5ed488 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx @@ -1,17 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { - IconLink, - IconSize, PluginButtonProps, - getButtonClassNames, getHotkeyByPlatform, getTooltip, + isRangeInSameBlock, + useEditorState, + useEventPlateId, } from '@frontify/fondue'; -import { LinkToolbarButton, isRangeInSameBlock, useEventPlateId, usePlateEditorState } from '@udecode/plate'; +import { LinkToolbarButton } from './LinkToolbarButton'; export const LinkButton = ({ id, editorId }: PluginButtonProps) => { - const editor = usePlateEditorState(useEventPlateId(editorId)); + const editor = useEditorState(useEventPlateId(editorId)); const isEnabled = !!isRangeInSameBlock(editor, { at: editor.selection, }); @@ -19,19 +19,12 @@ export const LinkButton = ({ id, editorId }: PluginButtonProps) => { return (
- - - } - classNames={getButtonClassNames(isEnabled)} - styles={{ root: { width: '24px', height: '24px' } }} - actionHandler="onMouseDown" />
); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx index e5b5dc0e7..818a5a784 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx @@ -1,35 +1,30 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { HTMLPropsAs, LinkRootProps, useElementProps } from '@udecode/plate'; -import type { MouseEvent } from 'react'; -import { TLinkElement } from '../types'; -import { BlockStyles } from '../../styles'; +import { + type PlateRenderElementProps, + TLinkElement as TPlateLinkElement, + useRichTextEditorContext, +} from '@frontify/fondue'; import { LINK_PLUGIN } from '../id'; -const useLink = (props: LinkRootProps): HTMLPropsAs<'a'> => { - const _props = useElementProps({ - ...props, - elementToAttributes: (element) => ({ - href: element.url || element.chosenLink?.searchResult?.link || '', - target: element.target || '_self', - }), - }); - - return { - ..._props, - // quick fix: hovering
with href loses the editor focus - onMouseOver: (event: MouseEvent) => { - event.stopPropagation(); - }, +export type TLinkElement = TPlateLinkElement & { + chosenLink?: { + searchResult?: { + link?: string; + }; + openInNewTab?: boolean; }; }; -export const LinkMarkupElementNode = (props: LinkRootProps) => { - const htmlProps = useLink(props); +export const LinkMarkupElementNode = (props: PlateRenderElementProps & { element: TLinkElement }) => { const { attributes, children } = props; + const { styles } = useRichTextEditorContext(); + const href = props.element.url || props.element.chosenLink?.searchResult?.link || ''; + const target = props.element.target || '_self'; + return ( - + {children} ); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts index b7321e470..aa3ff4ce6 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts @@ -1,11 +1,14 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { MarkupElement } from '@frontify/fondue'; -import { ELEMENT_LINK } from '@udecode/plate'; -import { LinkMarkupElementNode } from './LinkMarkupElementNode'; +import { ELEMENT_LINK, MarkupElement, type PlateRenderElementProps } from '@frontify/fondue'; + +import { LinkMarkupElementNode, TLinkElement } from './LinkMarkupElementNode'; export class LinkMarkupElement extends MarkupElement { - constructor(id = ELEMENT_LINK, node = LinkMarkupElementNode) { + constructor( + id = ELEMENT_LINK, + node: (props: PlateRenderElementProps & { element: TLinkElement }) => JSX.Element = LinkMarkupElementNode, + ) { super(id, node); } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx new file mode 100644 index 000000000..6dc429b49 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx @@ -0,0 +1,35 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { + IconLink16, + IconStylingWrapper, + ToolbarButton, + focusEditor, + useEditorRef, + useLinkToolbarButton, + useLinkToolbarButtonState, +} from '@frontify/fondue'; + +import { ReactNode, forwardRef } from 'react'; + +export const LinkToolbarButton = forwardRef( + (rootProps, ref) => { + const editor = useEditorRef(); + const state = useLinkToolbarButtonState(); + const { props } = useLinkToolbarButton(state); + return ( + { + focusEditor(editor, editor.selection ?? editor.prevSelection ?? undefined); + }} + ref={ref} + {...props} + {...rootProps} + > + } /> + + ); + }, +); + +LinkToolbarButton.displayName = 'LinkToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts index aa9d35b4d..14acfa7e5 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts @@ -1,18 +1,23 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import type { CSSProperties } from 'react'; +import { CSSProperties } from 'react'; import { AppBridgeBlock } from '@frontify/app-bridge'; -import { Plugin, PluginProps } from '@frontify/fondue'; -import { createLinkPlugin as createPlateLinkPlugin, createPluginFactory } from '@udecode/plate'; +import { + PlatePlugin, + Plugin, + PluginProps, + createLinkPlugin as createPlateLinkPlugin, + createPluginFactory, +} from '@frontify/fondue'; import { CustomFloatingLink } from './FloatingLink/CustomFloatingLink'; import { LINK_PLUGIN } from './id'; import { LinkButton } from './LinkButton'; import { LinkMarkupElement } from './LinkMarkupElement'; -import { isValidUrl } from '../../../Link/utils/url'; import { BlockStyles } from '../styles'; +import { isValidUrl } from '../../../Link'; -export const createLinkPlugin = (appBridge: AppBridgeBlock) => +export const createLinkPlugin = (appBridge: AppBridgeBlock): PlatePlugin => createPluginFactory({ ...createPlateLinkPlugin(), renderAfterEditable: CustomFloatingLink, @@ -23,7 +28,8 @@ export const createLinkPlugin = (appBridge: AppBridgeBlock) => skipInvalid: true, afterMatch: true, }, - triggerFloatingLinkHotkeys: 'command+k, ctrl+k', + triggerFloatingLinkHotkeys: 'meta+k, ctrl+k', + keepSelectedTextOnPaste: true, appBridge, }, })(); @@ -31,19 +37,19 @@ export const createLinkPlugin = (appBridge: AppBridgeBlock) => export type LinkPluginProps = PluginProps & { appBridge: AppBridgeBlock }; export class LinkPlugin extends Plugin { - private appBridge: AppBridgeBlock; public styles: CSSProperties = {}; - constructor(props?: LinkPluginProps, styles = BlockStyles[LINK_PLUGIN]) { + private appBridge: AppBridgeBlock; + constructor({ styles = BlockStyles[LINK_PLUGIN], ...props }: LinkPluginProps) { super(LINK_PLUGIN, { button: LinkButton, markupElement: new LinkMarkupElement(), ...props, }); this.styles = styles; - this.appBridge = props?.appBridge as AppBridgeBlock; + this.appBridge = props.appBridge; } - plugins() { + plugins(): PlatePlugin[] { return [createLinkPlugin(this.appBridge)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts index ab8e7fa2c..73278f8b4 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { TLinkElement as TPlateLinkElement } from '@udecode/plate'; +import { TLinkElement as TPlateLinkElement } from '@frontify/fondue'; export type TLinkElement = TPlateLinkElement & { chosenLink?: { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts new file mode 100644 index 000000000..0e8e45df8 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts @@ -0,0 +1,30 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { ELEMENT_LINK, PlateEditor, getAboveNode } from '@frontify/fondue'; +import { TLinkElement } from '../types'; + +const getLinkNode = (editor: PlateEditor, cb: (link: TLinkElement) => string): string => { + const linkNode = getAboveNode(editor, { match: { type: ELEMENT_LINK } }); + + if (!Array.isArray(linkNode)) { + return ''; + } + + return cb(linkNode[0]); +}; + +export const getLegacyUrl = (editor: PlateEditor) => { + return getLinkNode(editor, (link) => link.chosenLink?.searchResult?.link || ''); +}; + +export const getUrl = (editor: PlateEditor) => { + return getLinkNode(editor, (link) => link.url || ''); +}; + +export const getUrlFromLinkOrLegacyLink = (link: TLinkElement): string => { + return link.url || link.chosenLink?.searchResult?.link || ''; +}; + +export const getUrlFromEditor = (editor: PlateEditor) => { + return getLinkNode(editor, getUrlFromLinkOrLegacyLink); +}; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/index.ts new file mode 100644 index 000000000..9ed780f5b --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './getUrl'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx index f2d21f0af..5352f9a08 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-custom1-plugin'; @@ -26,7 +27,7 @@ export class Custom1Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createCustom1Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx index 040610541..9ea4e3871 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-custom2-plugin'; @@ -26,7 +27,7 @@ export class Custom2Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createCustom2Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx index 7cee0bed3..aca7bbe56 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx @@ -1,17 +1,19 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateRenderElementProps, createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, + type PlateRenderElementProps, Plugin, PluginProps, TextStyleRenderElementProps, TextStyles, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles } from '../styles'; const ID = 'textstyle-custom3-plugin'; @@ -27,7 +29,7 @@ export class Custom3Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createCustom3Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx index b21aa6005..4568e95fd 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx @@ -1,16 +1,18 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { PlateRenderElementProps, createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, + type PlateRenderElementProps, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-heading1-plugin'; @@ -25,7 +27,7 @@ export class Heading1Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createHeading1Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx index dbc26b339..8bcecdf30 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-heading2-plugin'; @@ -25,7 +26,7 @@ export class Heading2Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createHeading2Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx index 21dc7d5e7..e6ea1f735 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-heading3-plugin'; @@ -26,7 +27,7 @@ export class Heading3Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createHeading3Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx index dbe1cd69f..cfd9d1c9d 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-heading4-plugin'; @@ -26,7 +27,7 @@ export class Heading4Plugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createHeading4Plugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx index 8bb8e30a6..02362255d 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-imageCaption-plugin'; @@ -26,7 +27,7 @@ export class ImageCaptionPlugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createImageCaptionPlugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx index 78bb83fd8..7c997a3f5 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-imageTitle-plugin'; @@ -26,7 +27,7 @@ export class ImageTitlePlugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createImageTitlePlugin(this.styles)]; } } diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx index 7cb7eb1e6..7d4b5c55f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx @@ -1,20 +1,23 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createParagraphPlugin as createPlateParagraphPlugin, createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createParagraphPlugin as createPlateParagraphPlugin, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; + import { BlockStyles, TextStyles } from '../styles'; +import { CSSProperties } from 'react'; export class ParagraphPlugin extends Plugin { - public styles: CSSProperties = {}; + public styles = {}; constructor({ styles = BlockStyles.p, ...props }: PluginProps = {}) { super(TextStyles.p, { markupElement: new ParagraphMarkupElement(), @@ -24,7 +27,7 @@ export class ParagraphPlugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createParagraphPlugin(this.styles)]; } } @@ -47,7 +50,7 @@ export class ParagraphMarkupElement extends MarkupElement { } } -export const createParagraphPlugin = (styles: CSSProperties) => +export const createParagraphPlugin = (styles: CSSProperties): PlatePlugin => createPluginFactory({ ...createPlateParagraphPlugin(), key: TextStyles.p, diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx index 4d68fd376..d9024aa10 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx @@ -1,16 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createPluginFactory } from '@udecode/plate'; -import type { CSSProperties } from 'react'; import { MarkupElement, + PlatePlugin, Plugin, PluginProps, TextStyleRenderElementProps, alignmentClassnames, + createPluginFactory, getColumnBreakClasses, merge, } from '@frontify/fondue'; +import type { CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; const ID = 'textstyle-quote-plugin'; @@ -26,7 +27,7 @@ export class QuotePlugin extends Plugin { this.styles = styles; } - plugins() { + plugins(): PlatePlugin[] { return [createQuotePlugin(this.styles)]; } } @@ -50,7 +51,7 @@ export const QuoteMarkupElementNode = ({ element, attributes, children, styles } ); }; -export const createQuotePlugin = (styles: CSSProperties) => +export const createQuotePlugin = (styles: CSSProperties): PlatePlugin => createPluginFactory({ key: TextStyles.quote, isElement: true, diff --git a/packages/platform-app/CHANGELOG.md b/packages/platform-app/CHANGELOG.md index b4b977aef..eac6d50b9 100644 --- a/packages/platform-app/CHANGELOG.md +++ b/packages/platform-app/CHANGELOG.md @@ -1,5 +1,26 @@ # @frontify/platform-app +## 0.0.13 + +### Patch Changes + +- Updated dependencies [[`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c)]: + - @frontify/sidebar-settings@0.9.9 + +## 0.0.12 + +### Patch Changes + +- Updated dependencies [[`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce)]: + - @frontify/sidebar-settings@0.9.8 + +## 0.0.11 + +### Patch Changes + +- Updated dependencies [[`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32)]: + - @frontify/sidebar-settings@0.9.7 + ## 0.0.10 ### Patch Changes diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json index a4ba62a3b..a0e0e62a5 100644 --- a/packages/platform-app/package.json +++ b/packages/platform-app/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/platform-app", "type": "module", - "version": "0.0.10", + "version": "0.0.13", "description": "Provides the types for the Apps", "author": "Frontify Developers ", "repository": { diff --git a/packages/sidebar-settings/CHANGELOG.md b/packages/sidebar-settings/CHANGELOG.md index cf561a6ac..18e0e272e 100644 --- a/packages/sidebar-settings/CHANGELOG.md +++ b/packages/sidebar-settings/CHANGELOG.md @@ -1,5 +1,23 @@ # @frontify/sidebar-settings +## 0.9.9 + +### Patch Changes + +- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 + +## 0.9.8 + +### Patch Changes + +- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue + +## 0.9.7 + +### Patch Changes + +- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue + ## 0.9.6 ### Patch Changes diff --git a/packages/sidebar-settings/package.json b/packages/sidebar-settings/package.json index 9656add19..660c1a828 100644 --- a/packages/sidebar-settings/package.json +++ b/packages/sidebar-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/sidebar-settings", "type": "module", - "version": "0.9.6", + "version": "0.9.9", "description": "Provides types and helpers for the settings sidebar", "author": "Frontify Developers ", "repository": { @@ -33,7 +33,7 @@ "react-dom": "^18" }, "dependencies": { - "@frontify/fondue": "12.0.0-beta.404" + "@frontify/fondue": "12.0.0-beta.411" }, "devDependencies": { "@babel/core": "^7.23.9", diff --git a/patches/@udecode__plate-emoji@30.7.0.patch b/patches/@udecode__plate-emoji@30.7.0.patch new file mode 100644 index 000000000..df9877a22 --- /dev/null +++ b/patches/@udecode__plate-emoji@30.7.0.patch @@ -0,0 +1,17 @@ +diff --git a/dist/index.mjs b/dist/index.mjs +index efc12cbd4f1e8f06dc724d8921b5d7d9c244de33..69173eec772ff448d0cee3fce922ab76f0edca75 100644 +--- a/dist/index.mjs ++++ b/dist/index.mjs +@@ -348,10 +348,10 @@ var EmojiFloatingGridBuilder = class { + }; + + // src/utils/EmojiLibrary/EmojiFloatingLibrary.ts +-import emojiMartData2 from "@emoji-mart/data"; ++import emojiMartData2 from "@emoji-mart/data" assert { type: "json" }; + + // src/utils/EmojiLibrary/EmojiInlineLibrary.ts +-import emojiMartData from "@emoji-mart/data"; ++import emojiMartData from "@emoji-mart/data" assert { type: "json" }; + var EmojiInlineLibrary = class { + constructor(library = emojiMartData) { + this._hash = {}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a84239684..e4cc175c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + '@udecode/plate-emoji@30.7.0': + hash: dh5teqvvykulbav3j7foi74cke + path: patches/@udecode__plate-emoji@30.7.0.patch + importers: .: @@ -18,17 +23,17 @@ importers: specifier: ^5.0.7 version: 5.0.7 '@frontify/fondue': - specifier: 12.0.0-beta.404 - version: 12.0.0-beta.404(@babel/core@7.23.9)(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@3.7.2) + specifier: 12.0.0-beta.411 + version: 12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@4.5.2) cypress: specifier: ^13.6.4 - version: 13.6.4 + version: 13.6.6 cypress-real-events: specifier: ^1.12.0 - version: 1.12.0(cypress@13.6.4) + version: 1.12.0(cypress@13.6.6) glob: specifier: ^10.3.10 version: 10.3.10 @@ -52,7 +57,7 @@ importers: version: 4.5.2(@types/node@18.19.18) vitest: specifier: ^1.3.0 - version: 1.3.0(@types/node@18.19.18) + version: 1.3.1(@types/node@18.19.18)(@vitest/ui@1.3.1)(happy-dom@13.4.1) packages/app-bridge: dependencies: @@ -251,8 +256,8 @@ importers: specifier: ^3.0.0 || ^4.0.0-alpha.0 version: link:../app-bridge '@frontify/fondue': - specifier: 12.0.0-beta.404 - version: 12.0.0-beta.404(@babel/core@7.23.9)(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@3.7.2) + specifier: 12.0.0-beta.411 + version: 12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -262,15 +267,6 @@ importers: '@react-stately/overlays': specifier: ^3.6.1 version: 3.6.1(react@18.2.0) - '@udecode/plate': - specifier: ^21.5.0 - version: 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dnd-html5-backend@16.0.1)(react-dnd@16.0.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - slate: - specifier: ^0.94.1 - version: 0.94.1 - slate-react: - specifier: ^0.98.3 - version: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) devDependencies: '@babel/core': specifier: ^7.23.9 @@ -286,7 +282,7 @@ importers: version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: 14.5.2 - version: 14.5.2(@testing-library/dom@9.0.0) + version: 14.5.2(@testing-library/dom@9.3.4) '@types/node': specifier: ^18.19.18 version: 18.19.18 @@ -412,8 +408,8 @@ importers: packages/sidebar-settings: dependencies: '@frontify/fondue': - specifier: 12.0.0-beta.404 - version: 12.0.0-beta.404(@babel/core@7.23.9)(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@3.7.2) + specifier: 12.0.0-beta.411 + version: 12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) devDependencies: '@babel/core': specifier: ^7.23.9 @@ -508,10 +504,10 @@ packages: '@babel/helpers': 7.23.9 '@babel/parser': 7.23.9 '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9(supports-color@5.5.0) + '@babel/traverse': 7.23.9 '@babel/types': 7.23.9 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -527,12 +523,6 @@ packages: '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} @@ -617,7 +607,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9(supports-color@5.5.0) + '@babel/traverse': 7.23.9 '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color @@ -675,6 +665,13 @@ packages: engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 + dev: true + + /@babel/runtime@7.23.9: + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 /@babel/template@7.23.9: resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} @@ -684,7 +681,7 @@ packages: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - /@babel/traverse@7.23.9(supports-color@5.5.0): + /@babel/traverse@7.23.9: resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} dependencies: @@ -696,7 +693,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -949,8 +946,8 @@ packages: resolution: {integrity: sha512-e9nEVehVJwkymQpkGhdSNzLT2Lr9UTTby+JePq4Z2SxBbOQjY7pLgSouAaXvfaGQVSAaY0U4eJdwfSDmCbItcw==} engines: {node: '>=14'} - /@cypress/request@3.0.0: - resolution: {integrity: sha512-GKFCqwZwMYmL3IBoNeR2MM1SnxRIGERsQOTWeQKoYBt2JLqcqiy7JXqO894FLrpjZYqGxW92MNwRH2BN56obdQ==} + /@cypress/request@3.0.1: + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} dependencies: aws-sign2: 0.7.0 @@ -976,7 +973,7 @@ packages: /@cypress/vite-dev-server@5.0.7: resolution: {integrity: sha512-OeVsEvDtoWV/CnvnUEjWny7tsuw84DF78tvnibOWNTOuZzav62U3A07QKK2JDuGAoXQlVTiDWzcCObKIEcOGGg==} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) find-up: 6.3.0 node-html-parser: 5.3.3 semver: 7.5.4 @@ -1045,7 +1042,7 @@ packages: react: '>=16.8.0' dependencies: react: 18.2.0 - tslib: 2.6.1 + tslib: 2.6.2 /@emoji-mart/data@1.1.2: resolution: {integrity: sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg==} @@ -1057,25 +1054,11 @@ packages: '@emotion/memoize': 0.7.4 optional: true - /@emotion/is-prop-valid@1.2.0: - resolution: {integrity: sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==} - dependencies: - '@emotion/memoize': 0.8.0 - /@emotion/memoize@0.7.4: resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} requiresBuild: true optional: true - /@emotion/memoize@0.8.0: - resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} - - /@emotion/stylis@0.8.5: - resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==} - - /@emotion/unitless@0.7.5: - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} - /@esbuild/aix-ppc64@0.19.12: resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -1479,7 +1462,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.19.0 ignore: 5.2.4 @@ -1525,13 +1508,15 @@ packages: fast-json-stringify: 5.9.1 dev: false - /@floating-ui/core@1.3.0: - resolution: {integrity: sha512-vX1WVAdPjZg9DkDkC+zEx/tKtnST6/qcNpwcjeBgco3XRNHz5PUA+ivi/yr6G3o0kMR60uKBJcfOdfzOFI7PMQ==} + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + dependencies: + '@floating-ui/utils': 0.2.1 /@floating-ui/dom@1.3.0: resolution: {integrity: sha512-qIAwejE3r6NeA107u4ELDKkH8+VtgRKdXqtSPaKflL2S2V+doyN+Wt9s5oHKXPDo4E8TaVXaHT3+6BbagH31xw==} dependencies: - '@floating-ui/core': 1.3.0 + '@floating-ui/core': 1.6.0 /@floating-ui/react-dom@1.3.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==} @@ -1565,34 +1550,37 @@ packages: react-dom: 18.2.0(react@18.2.0) tabbable: 6.1.2 + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + /@formatjs/ecma402-abstract@1.14.3: resolution: {integrity: sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==} dependencies: '@formatjs/intl-localematcher': 0.2.32 - tslib: 2.6.1 + tslib: 2.6.2 /@formatjs/fast-memoize@2.0.1: resolution: {integrity: sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 /@formatjs/icu-messageformat-parser@2.3.0: resolution: {integrity: sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==} dependencies: '@formatjs/ecma402-abstract': 1.14.3 '@formatjs/icu-skeleton-parser': 1.3.18 - tslib: 2.6.1 + tslib: 2.6.2 /@formatjs/icu-skeleton-parser@1.3.18: resolution: {integrity: sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==} dependencies: '@formatjs/ecma402-abstract': 1.14.3 - tslib: 2.6.1 + tslib: 2.6.2 /@formatjs/intl-localematcher@0.2.32: resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 /@frontify/eslint-config-basic@0.18.0(eslint@8.56.0)(prettier@3.2.5): resolution: {integrity: sha512-HQQXvkksqbQL8arLqWzYwoWFDYLhILrzaHgzvJWqqCK0NxeFuo9vjo0AthcD9wd/nNwFIFDKErzkuhmHVHKQvw==} @@ -1738,8 +1726,8 @@ packages: transitivePeerDependencies: - ts-node - /@frontify/fondue@12.0.0-beta.404(@babel/core@7.23.9)(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(styled-components@5.3.6)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@3.7.2): - resolution: {integrity: sha512-CpxgJYUFUQ7t4F+yj8y+9wFtpt3NWZr7zOuAYzJa4ahR3hf3OWiwjc14apXVWVMicvulFURtu+Wz1FZXMcdgZg==} + /@frontify/fondue@12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1): + resolution: {integrity: sha512-DhYiqJ66jR+5DUE2r7bpb4B/f5Bekk4lihlqEVbre4NMh4x/Ilt1dJMU22akCWYu3TF3B9yaqngpwsLkKC1tIQ==} engines: {node: '>=18'} peerDependencies: react: ^18 @@ -1752,6 +1740,9 @@ packages: '@dnd-kit/utilities': 3.2.2(react@18.2.0) '@frontify/fondue-tokens': 3.3.0-next.8(ts-node@10.9.2) '@popperjs/core': 2.11.8 + '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@react-aria/accordion': 3.0.0-alpha.17(react@18.2.0) '@react-aria/aria-modal-polyfill': 3.7.1(react@18.2.0) '@react-aria/breadcrumbs': 3.5.2(react@18.2.0) @@ -1787,8 +1778,28 @@ packages: '@react-types/dialog': 3.4.5(react@18.2.0) '@react-types/shared': 3.16.0(react@18.2.0) '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.1) - '@udecode/plate': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dnd-html5-backend@16.0.1)(react-dnd@16.0.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/zustood': 1.1.3(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@3.7.2) + '@udecode/plate-alignment': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-autoformat': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-basic-marks': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-break': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-code-block': 30.7.0(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-combobox': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-core': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-emoji': 30.7.0(patch_hash=dh5teqvvykulbav3j7foi74cke)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-floating': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-indent': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-link': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-list': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-mention': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-normalizers': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-paragraph': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 24.3.0 + '@udecode/zustood': 2.0.0(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.1) '@xstate/immer': 0.3.1(immer@9.0.12)(xstate@4.28.1) '@xstate/react': 1.6.3(@types/react@18.2.58)(react@18.2.0)(xstate@4.28.1) date-fns: 3.3.1 @@ -1809,32 +1820,21 @@ packages: remark-gfm: 3.0.1 remark-parse: 10.0.2 scheduler: 0.23.0 - slate: 0.94.1 - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) + slate: 0.102.0 + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) unified: 10.1.2 unist-util-visit: 5.0.0 xstate: 4.28.1 transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - '@types/hoist-non-react-statics' - '@types/node' - '@types/react' - '@types/react-dom' + - '@udecode/plate-common' - '@xstate/fsm' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - react-native - slate-history - slate-hyperscript - - styled-components - supports-color - tailwindcss - ts-node @@ -1845,7 +1845,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -1945,7 +1945,7 @@ packages: /@manypkg/find-root@1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -2020,7 +2020,7 @@ packages: '@open-draft/until': 1.0.3 '@types/debug': 4.1.7 '@xmldom/xmldom': 0.8.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) headers-polyfill: 3.2.5 outvariant: 1.4.0 strict-event-emitter: 0.2.8 @@ -2072,7 +2072,7 @@ packages: is-glob: 4.0.3 open: 9.1.0 picocolors: 1.0.0 - tslib: 2.6.1 + tslib: 2.6.2 dev: true /@polka/url@1.0.0-next.24: @@ -2085,7 +2085,7 @@ packages: /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} @@ -2100,7 +2100,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.58 '@types/react-dom': 18.2.19 @@ -2120,7 +2120,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) @@ -2139,7 +2139,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/react': 18.2.58 react: 18.2.0 @@ -2152,7 +2152,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/react': 18.2.58 react: 18.2.0 @@ -2165,12 +2165,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/react': 18.2.58 react: 18.2.0 - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2182,7 +2182,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) @@ -2193,32 +2193,6 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-dropdown-menu@2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.21.0 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-menu': 2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@types/react': 18.2.58 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: @@ -2228,12 +2202,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/react': 18.2.58 react: 18.2.0 - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2245,7 +2219,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) @@ -2263,13 +2237,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 react: 18.2.0 - /@radix-ui/react-menu@2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA==} + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2281,23 +2255,20 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 '@types/react-dom': 18.2.19 aria-hidden: 1.2.3 @@ -2305,8 +2276,8 @@ packages: react-dom: 18.2.0(react@18.2.0) react-remove-scroll: 2.5.5(@types/react@18.2.58)(react@18.2.0) - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2318,7 +2289,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) @@ -2334,8 +2305,8 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2347,7 +2318,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.58 '@types/react-dom': 18.2.19 @@ -2367,7 +2338,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 @@ -2388,7 +2359,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 '@types/react-dom': 18.2.19 @@ -2408,7 +2379,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) @@ -2423,6 +2394,26 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 + '@types/react-dom': 18.2.19 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + /@radix-ui/react-slot@1.0.2(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: @@ -2432,10 +2423,115 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + '@types/react-dom': 18.2.19 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + '@types/react-dom': 18.2.19 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 + '@types/react-dom': 18.2.19 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.58 + '@types/react-dom': 18.2.19 react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} @@ -2446,7 +2542,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/react': 18.2.58 react: 18.2.0 @@ -2459,7 +2555,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 react: 18.2.0 @@ -2473,7 +2569,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 react: 18.2.0 @@ -2487,7 +2583,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@types/react': 18.2.58 react: 18.2.0 @@ -2500,7 +2596,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/rect': 1.0.1 '@types/react': 18.2.58 react: 18.2.0 @@ -2514,15 +2610,35 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@types/react': 18.2.58 react: 18.2.0 + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 + '@types/react-dom': 18.2.19 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 /@react-aria/accordion@3.0.0-alpha.17(react@18.2.0): resolution: {integrity: sha512-Kp1AYZ+iPcsLRZ7JHVagaViHXblszAtyU0nglT97/a90eC0TcdTrmt/APNK+ltZzvFhkaBQu4Anf99l9q9g1HQ==} @@ -2569,7 +2685,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/utils': 3.19.0(react@18.2.0) @@ -2597,7 +2713,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/label': 3.5.1(react@18.2.0) '@react-aria/toggle': 3.6.0(react@18.2.0) '@react-aria/utils': 3.19.0(react@18.2.0) @@ -2613,7 +2729,7 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/i18n': 3.8.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/listbox': 3.7.2(react@18.2.0) @@ -2637,7 +2753,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/overlays': 3.12.1(react-dom@18.2.0)(react@18.2.0) '@react-aria/utils': 3.19.0(react@18.2.0) @@ -2715,7 +2831,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/utils': 3.19.0(react@18.2.0) '@react-types/shared': 3.19.0(react@18.2.0) react: 18.2.0 @@ -2747,7 +2863,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/utils': 3.19.0(react@18.2.0) @@ -2773,7 +2889,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/label': 3.5.1(react@18.2.0) @@ -2813,7 +2929,7 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/i18n': 3.8.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/overlays': 3.12.1(react-dom@18.2.0)(react@18.2.0) @@ -2855,7 +2971,7 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/i18n': 3.8.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) @@ -2894,7 +3010,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/i18n': 3.8.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) @@ -2911,7 +3027,7 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/i18n': 3.8.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/label': 3.5.1(react@18.2.0) @@ -2932,7 +3048,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/i18n': 3.8.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) @@ -2972,7 +3088,7 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/grid': 3.7.0(react-dom@18.2.0)(react@18.2.0) '@react-aria/i18n': 3.8.0(react@18.2.0) @@ -3022,7 +3138,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/focus': 3.14.0(react@18.2.0) '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/utils': 3.19.0(react@18.2.0) @@ -3036,7 +3152,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/ssr': 3.7.1(react@18.2.0) '@react-stately/utils': 3.7.0(react@18.2.0) '@react-types/shared': 3.19.0(react@18.2.0) @@ -3060,7 +3176,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-aria/interactions': 3.17.0(react@18.2.0) '@react-aria/utils': 3.19.0(react@18.2.0) '@react-types/shared': 3.19.0(react@18.2.0) @@ -3105,7 +3221,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-types/shared': 3.19.0(react@18.2.0) react: 18.2.0 @@ -3123,7 +3239,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/list': 3.8.0(react@18.2.0) '@react-stately/menu': 3.5.1(react@18.2.0) '@react-stately/select': 3.5.0(react@18.2.0) @@ -3178,7 +3294,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/collections': 3.7.0(react@18.2.0) '@react-stately/selection': 3.13.0(react@18.2.0) '@react-stately/utils': 3.7.0(react@18.2.0) @@ -3226,7 +3342,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/utils': 3.7.0(react@18.2.0) '@react-types/overlays': 3.8.1(react@18.2.0) react: 18.2.0 @@ -3246,7 +3362,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/utils': 3.7.0(react@18.2.0) '@react-types/radio': 3.4.1(react@18.2.0) '@react-types/shared': 3.19.0(react@18.2.0) @@ -3268,7 +3384,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/collections': 3.7.0(react@18.2.0) '@react-stately/list': 3.8.0(react@18.2.0) '@react-stately/menu': 3.5.1(react@18.2.0) @@ -3309,7 +3425,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/collections': 3.7.0(react@18.2.0) '@react-stately/grid': 3.6.0(react@18.2.0) '@react-stately/selection': 3.13.0(react@18.2.0) @@ -3337,7 +3453,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/utils': 3.7.0(react@18.2.0) '@react-types/checkbox': 3.4.3(react@18.2.0) '@react-types/shared': 3.19.0(react@18.2.0) @@ -3359,7 +3475,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/overlays': 3.6.1(react@18.2.0) '@react-stately/utils': 3.7.0(react@18.2.0) '@react-types/tooltip': 3.4.0(react@18.2.0) @@ -3381,7 +3497,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@react-stately/collections': 3.7.0(react@18.2.0) '@react-stately/selection': 3.13.0(react@18.2.0) '@react-stately/utils': 3.7.0(react@18.2.0) @@ -3788,7 +3904,7 @@ packages: /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 /@swc/helpers@0.5.1: resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} @@ -3817,6 +3933,20 @@ packages: pretty-format: 27.5.1 dev: true + /@testing-library/dom@9.3.4: + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} + engines: {node: '>=14'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/runtime': 7.23.9 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + /@testing-library/jest-dom@6.4.2(vitest@1.3.1): resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} @@ -3863,25 +3993,15 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@testing-library/user-event@14.5.2(@testing-library/dom@9.0.0): + /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4): resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@testing-library/dom': 9.0.0 + '@testing-library/dom': 9.3.4 dev: true - /@tippyjs/react@4.2.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-91RicDR+H7oDSyPycI13q3b7o4O60wa2oRbjlz2fyRLmHImc4vyDwuUP8NtZaN0VARJY5hybvDYrFzhY9+Lbyw==} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - tippy.js: 6.3.7 - /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -3902,6 +4022,10 @@ packages: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: true + /@types/aria-query@5.0.4: + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + dev: true + /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: @@ -3944,16 +4068,13 @@ packages: resolution: {integrity: sha512-nDKoaKJYbnn1MZxUY0cA1bPmmgZbg0cTq7Rh13d0KWYNOiKbqoR+2d89SnRPszGh7ROzSwZ/GOjZ4jPbmmZ6Eg==} dev: true - /@types/is-hotkey@0.1.7: - resolution: {integrity: sha512-yB5C7zcOM7idwYZZ1wKQ3pTfjA9BbvFqRWvKB46GFddxnJtHwi/b9y84ykQtxQPg5qhdpg4Q/kWU3EGoCTmLzQ==} + /@types/is-hotkey@0.1.10: + resolution: {integrity: sha512-RvC8KMw5BCac1NvRRyaHgMMEtBaZ6wh0pyPTBu7izn4Sj/AX9Y4aXU5c7rX8PnM/knsuUpC1IeoBkANtxBypsQ==} /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true - /@types/js-cookie@2.2.7: - resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} - /@types/js-levenshtein@1.1.1: resolution: {integrity: sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==} dev: true @@ -3974,6 +4095,10 @@ packages: /@types/lodash@4.14.192: resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==} + dev: true + + /@types/lodash@4.14.202: + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} /@types/mdast@3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} @@ -4002,6 +4127,12 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.11.20: + resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -4038,7 +4169,7 @@ packages: /@types/set-cookie-parser@2.4.3: resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} dependencies: - '@types/node': 18.19.18 + '@types/node': 20.11.20 dev: true /@types/sinon@17.0.3: @@ -4055,8 +4186,8 @@ packages: resolution: {integrity: sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==} dev: true - /@types/sizzle@2.3.3: - resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==} + /@types/sizzle@2.3.8: + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} dev: true /@types/unist@2.0.6: @@ -4071,8 +4202,8 @@ packages: '@types/node': 18.19.18 dev: true - /@types/yauzl@2.10.0: - resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: '@types/node': 18.19.18 @@ -4096,7 +4227,7 @@ packages: '@typescript-eslint/type-utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 @@ -4125,12 +4256,12 @@ packages: '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -4151,7 +4282,7 @@ packages: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: @@ -4172,7 +4303,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 typescript: 5.3.3 transitivePeerDependencies: @@ -4207,7 +4338,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) '@typescript-eslint/utils': 6.12.0(eslint@8.56.0)(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 ts-api-utils: 1.0.1(typescript@5.3.3) typescript: 5.3.3 @@ -4227,7 +4358,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 ts-api-utils: 1.0.1(typescript@5.3.3) typescript: 5.3.3 @@ -4256,7 +4387,7 @@ packages: dependencies: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -4277,7 +4408,7 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -4300,2372 +4431,511 @@ packages: '@typescript-eslint/scope-manager': 6.12.0 '@typescript-eslint/types': 6.12.0 '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@6.12.0: - resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.12.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@udecode/plate-alignment@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-gbcMYwxsLQryXiSvWNgW9VEOndPz9YJ0bgr641jZLQ66uMHADzb2tV585arefKqLifYnxLmXXGijCR3x42jJew==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-autoformat@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-ekwohyLREz53unJvPCwKUW8gte+QNXWu70BWCZDIbRtVMe8Fbtji2Wzuw/4Dm2/Wh5rE1K6TgA03uwGPsbro7w==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-basic-elements@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-tB+MSDArmpKr+/EBlNpjIj5Tv9Fj3zB1ICxLVGieJ5BVXo8Qu8JYWbKI8juV1W7muf+HltC+N2hIedojA+r2Kg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-block-quote': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-code-block': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-heading': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-paragraph': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-basic-marks@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-15zTwE4+pu3duVnnb7DKCUeiKlEfdSzCMspViP3I5fPRFQFnWZVGPoN1tQskb1oxvzBGddlpz/6GCSeBW2JN6Q==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-block-quote@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-JNksR8F6yw7qgzGBZtolMWaFbseYcLKNo3z8AEBkcUCt95VSbBQP7P24/6aFoMkaAH1eD7DNRCegic9Kanru/w==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-break@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-MotPRnMOthyHgX+sOWVhY9z/FnivkvWOhb/MM+xgK/B5PMFgz9GlHSlJIjyTOm3HzIhfo968shOYW8Z+9PAo5g==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-button@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-lH8MjPFtWdOPUUVFUgvKIu9VR7bNo6SQhoBfAaGQPhPARqBQ+IrPlKAA2mC8IZr3ECFtuPDjg2uqGQoUTAedZQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-code-block@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-ZaioZnfBmFMFZWzulMGfoDLb3l9nOIcfbfleGNDBjTRiqorbzGuz1K9MKWTjPZacS+Zt035ncC/bouMXnppP1w==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - prismjs: 1.29.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-combobox@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-LLMec+quBxG7P5IKFrqRrpBsJm4FPTVzKLQnd+TAh6h8yw0wLLMw90McnpIhmp9xfyHUsZa99ymnHrkYf7+8QQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-floating': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - downshift: 6.1.12(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-comments@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-65ciYGs+NdkRoNwXyO/gS8Zl9R1IXICrk6kXzyrukgrCGnbA3nayoV3KI5zG0rO7s5PbJhYmQxyEX8CVhZ2HgA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-common@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-jEkgcbSP2Kgk0vzmKMzhxqi7bfw9oaBGX5xuds0j9l079BKIRzvj/hBnPBneC5i5B+YqU+m+xI+mfbbNcaVgAA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-core': 21.5.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-utils': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/slate': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/slate-react': 21.4.1(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/slate-utils': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/utils': 19.7.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-core@21.5.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-A5qKsIORSvMTb8AdehNWHyVDKNTCXnTJ86p/qgfYG9WAerNxfbKNGqaPEyg3R72ZtHa0I3aTT4uNO7jEpWCQQQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/slate': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/slate-react': 21.4.1(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/utils': 19.7.1 - '@udecode/zustood': 1.1.3(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@3.7.2) - clsx: 1.2.1 - jotai: 1.13.1(@babel/core@7.23.9)(react@18.2.0) - lodash: 4.17.21 - nanoid: 3.3.7 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-hotkeys-hook: 4.4.0(react-dom@18.2.0)(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - use-deep-compare: 1.1.0(react@18.2.0) - zustand: 3.7.2(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-emoji@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-rFL5E8QwwadpUrdhP8qT7G5fyjLTz0WVQHmaiQaUKyCw6Xlzt4R/OLmFfsX4UI2614/cGbO7tor0OSKedC46UQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@emoji-mart/data': 1.1.2 - '@udecode/plate-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-find-replace@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-ZMreo/MDeZG4vICdtgsWgF//ugs2bdjNwLROM/cPaEzC2LygfJCwA6dFaPh+7DjeMhIgxfIiGA+e+ZFzJzLsEQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-floating@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-nBEXyqsdxEDkopetcbA3+wfPDZI04VNT0TCMv/ZUgc0KgjZrLK10TIo0cp3HU7okrKwkRE0bQjOEze2fPxQWSA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@floating-ui/react': 0.22.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-dropdown-menu': 2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-font@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-suPdGeRCKlDep8FZCmZ0TbYNeUd7cHcnuY6YwrGfs7KUNv2WyklQH3RxPSLtio7Ei55SYHl5FcrSy8tfvpUHfA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-heading@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-4+6fKS5fXyiwuVxwwxM3Pu8d8zdxOGodJ8PsDSjfI4ZtrZGMnfa889tOnKw2FEtH/mgFl03Yk+ftUhDZPuNwhg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-headless@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-KFEEQ/NdMs3HIzidv2yz44SReVnxZmMip8JGyERe+PU5oAvhcQcp8ACvF0CQuK2xBk041/DCJbznF6WG7rBEcg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-alignment': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-autoformat': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-basic-elements': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-basic-marks': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-block-quote': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-break': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-code-block': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-comments': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-emoji': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-find-replace': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-floating': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-font': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-heading': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-highlight': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-horizontal-rule': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-indent': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-indent-list': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-kbd': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-line-height': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-link': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-list': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-media': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-mention': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-node-id': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-normalizers': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-paragraph': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-reset-node': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-select': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-serializer-csv': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-serializer-docx': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-serializer-html': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-serializer-md': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-suggestion': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-tabbable': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-table': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-trailing-block': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/resizable': 20.5.3(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-hyperscript: 0.77.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - supports-color - - /@udecode/plate-highlight@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-o11WrLmMqhM2u0/7mgLVJT+utzHJG8eP5u8swJuMAGkHE71QesUXj2ZgSxuubrF+VC/XESQXhGmeB8PkCBDIjw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-horizontal-rule@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-3SX2HYr3yifptfFnQ1XH1+KYN9gQUVjy9bwPpz0RJm7kZZR+SrZQ6Op8LBK17rsDIB+lsnsklkDwYQm/OaUT6g==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-indent-list@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-XJvcWNxlpfay1A5h/65tR3H9YP+9rd1Ui1yF4/FIEJpBazYJF02JLR/TKCP46pqBKFEmWc9jImeUXfbgeDkLlw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-indent': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-list': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-indent@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-ETwGdPZuEesGv4DW+s9cmt0+Fo537y7sVtVJJi1juCitPgwnaqLwu+QRLDErFSIBdQebR0/gxX65R/+uH0NwnQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-kbd@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-KVerussGxitZox/6PJpPo/6TT+BGZ6rn3yvndSveAq1tD2HuDxw9nDbBhxiZYQBseZ97aTu4t4naCR/jJl0xwQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-line-height@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-JCBEjDZZw8MFulI56md3Noz1vuw6EiCmvLkX7pRcMc7dGocMo4BKOJLao1UGIfDVLkqjVlr8Av1fayQPGNuZGg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-link@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-UT2rW0HBNOYvS0iLxFC5dU7wiMAQ+L8Cgl1mIlxi+a/58B+K3ED1zwnO7MAotpKOy/GSA58+YYBQ3liSTolgRw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-normalizers': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-list@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-PkmlSmy1/W4FMcw5pzJakb6d3MbfqCT4xCOHgjXkv4glqaRFKAwMJPhvswwveEencfQe+c5J5HFE7t2q4dWwIg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-reset-node': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-media@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-7FY+vo0USGTZvUYKEtemfupHPjeUkK4zQZRODZCiP46t0mK1cImsSsP8OUZ2HjXKkyAMVla1ThH1+QOXb8I0cA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/resizable': 20.5.3(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - js-video-url-parser: 0.5.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-textarea-autosize: 8.5.3(@types/react@18.2.58)(react@18.2.0) - scriptjs: 2.5.9 - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-mention@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-34iR9qk1uz0jPeWpE4mC+e/2sij0knM+nnOlcmWiEpQQP3ahaPFQups7+5Kpa23AXecpdHeRGqR1vUnWbAYnyQ==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-node-id@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-emPHy5KXj8R3YMsuXsZ4hhlWpPLAoVmymiUA5uEihAMoiXDTAEkVpvcw79zqLmvOn50rYwCItqv+Y19YaL29nA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-normalizers@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-X6dtZvT14vGxxm9WzuoeTN8RlU5plHIagWlFdVCV2EQM1mNlo5LEnNSsSIaS9Z+VBvKagmIn8JUaaMeFB/Yixg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-paragraph@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-ujQwFQ3rQRl2JaHYHSxxS5mf0NuGXu4WtfGdYD2ITCnIKP+cy6vycg7iIfcPL+w7iYFz5F9wpyIZzR9upISRBg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-reset-node@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-rPCE7TzA3/GyNcOWUUuFRlbNrtm7Af4wIkrGTuoY6/T/Ypp8KeRc5HlOwzuQL+QRGMp3kyJQL3A/KDuPF1uq7A==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-select@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-trNzAIEpcf7Xtntau2XohxLmlLRoQ+9Tt0opkDyNqFW+Mp5xIL0D9OZEGZo05F/73WbxpcxH40tFkzhOhZQOmw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-serializer-csv@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-4wMqvDmHB2SLe6MvrDKI4jTq3z/Pp2NR3ptLwOO8UavnZJYvsk/PlCBP//YSbTIi8vhPaODCCjzc8U8iZu5etA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-table': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - papaparse: 5.4.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-hyperscript: 0.77.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - slate-history - - /@udecode/plate-serializer-docx@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-ggxpIzNSUovjZj/HQqHxdExdEVGnOh1VSR5BpuVtV2BeXOvFZK1I+GXheXfK/r/b8Kj50FZMYrNXDS0Yf1qjPg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-heading': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-indent': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-indent-list': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-media': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-paragraph': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-table': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-hyperscript: 0.77.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - validator: 13.9.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-serializer-html@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-s9PqX/PcDvxhIX7ibIVXVqMPfXTTln08Zja3VX49OwXs9pDerjcQr6Sq3Ni85SIGVB8UQUvQ+VifyvfEFYjyEw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - html-entities: 2.3.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-hyperscript: 0.77.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-serializer-md@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-TXCzJolmmv/ROnfvEBrO4WpUJEcwwp1Jvg7MOOcdegv7824t08CycJEXZhWDKAXb2Af/MOG+1gIB55yhLwYYTg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-block-quote': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-code-block': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-heading': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-link': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-list': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-paragraph': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - remark-parse: 9.0.0 - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - unified: 9.2.2 - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - supports-color - - /@udecode/plate-styled-components@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-+ooCADdk3O1b+yaMe09e8M/Yxf9++Lk6YVMjHxSGS0pwTKIyfdTGwcbZ9oImCYxhlv1yGDOOgPEvuoog0cX3tw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - react-is: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - clsx: 1.2.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-suggestion@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-6oeyYLMgRXn6DQiizCIWrpjNaFrS6UBHz3jHPmfLSvzJK6LxCXgAKdwzOb7/mBq2KSzRyJJK2Ua9UN12R9tP8A==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-tabbable@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-RS4C2yFvSP3ZDxggg4is6ewcWCHbgGtwQcG/2dBl/PdDubnU9CkFl0MasX6A+cMajD/ZZj2XPo0wYFsUEah+Vg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - tabbable: 6.1.2 - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-table@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-sPFvXjn0m8kCuHTCquMYnOWKyUBCBKz7lQSBgX23cayu7a0oBxcbH/cHOA77+WbpZ0ZybrLb4Kbkfcr+bdyoQA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/resizable': 20.5.3(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - - /@udecode/plate-trailing-block@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-sGD4tLpUpl7cKlvnXA8BVg4/Wwwrj6rcXjPGvMRqOcAYYys5HIOlET/SqypPdP5QK0JZQZX3UMGKS6+fto+5Qg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) + eslint: 8.56.0 + semver: 7.5.4 transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler + - supports-color + - typescript + dev: true - /@udecode/plate-ui-alignment@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-tCqLx6dxkUFesi3OfMFv4RFJFk4tIfIu07KpCzSpaX0B7u+cgV1rBWXeV+HvDquPKC4lsrVJ6lh3Yyx7LDdPBw==} + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + eslint: ^7.0.0 || ^8.0.0 dependencies: - '@udecode/plate-alignment': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + eslint: 8.56.0 + semver: 7.5.4 transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + - supports-color + - typescript + dev: true - /@udecode/plate-ui-block-quote@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-5YOjAeejfJ3zp3vpYr2G+TzpveZbdv8VLUe9YpcSNlPF/r/wAzojeUwbCEkN6WuVALWCGv8ylddNUZ/DNxpg8g==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + /@typescript-eslint/visitor-keys@6.12.0: + resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@udecode/plate-block-quote': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + '@typescript-eslint/types': 6.12.0 + eslint-visitor-keys: 3.4.3 + dev: true - /@udecode/plate-ui-button@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-HVIIPshNJoDcjVs71zGCMOj5pC6OQfaiItxKggiG/EYw9eFXm4l/pCCGdny74vIQdTywWYj15yEYcMg0w1eY1Q==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@udecode/plate-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true - /@udecode/plate-ui-code-block@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-xN62xPasT5IVzi9k/pbdoR1U3ZobbolXVWDVqjvYaiPWgVtyt4VNxwaIjfqhtb2lTtQZakwV5XjaQcIcjeZO1g==} + /@udecode/plate-alignment@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-zQK2pA5lhUsxCJtNP0eDytfAHjUzqd1znhQh6CzRgoZeALtFkEKee/v329iEv7ZdVFWGtooQoaNraq8PF8+7yg==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-code-block': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-combobox@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-QJys2QEc+KlslbKQ1M+PxhYl7JoYr4Lr948iaPIOuYyQQAPSZIR5DFTsKgwst8vDL9TqXQIb/lL/jcUCyC8GWw==} + /@udecode/plate-autoformat@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-yvRS9Fw3eMr9djRExW8sf6BSc+BYMp0G6tCXHIXvTOfne55+WU4D8eFlrcjy94EhGGddCUS45Q/YvDALYAsTpA==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-floating': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-comments@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-+XjpARWNGt/xXWIEb+wEjD47piKSw3Fh7Y4P1fO9zl5FwIJXBankhW6V2HJQP6nw9WkTYx/DABI/C4OFAHr19w==} + /@udecode/plate-basic-marks@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-/p5WVEz20mWVg+HNrMemDLJ/n0AM2e0GZwn5NTQULXa5i9DcqqcZOXlOayXhxjG4P9/KV9nPdOttQtxti/Sr3g==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-comments': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-cursor@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-/0ASgCw09m864FvtrMlTLz7OPCztos+h8t/6pnxI6lfJGzgG55wV1MOL5nVEhcEs5GO7sLEKPWYJt9hKxG54vQ==} + /@udecode/plate-break@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-MwJrHw+1qFIs6HOBoaHGV/jaj6JXj0+BzrxT7FOLvdTK5vVFWC21a+WwgOJWZBZ3NVVRpxp0PxxhwpaqtEkKRw==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-emoji@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-EzweF/YUbs6KEyGAnyBHHuduK1iW03fuPrT07YcN83RFxIu+sFPLDFbHmOVklVG1xOuo1k6WYyE37OvaNXEkeA==} + /@udecode/plate-code-block@30.7.0(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-/wodH5+SH9eALLIiUAkcwRE2EO4eIBIe5bIoCYMToe3dwaDF4MVHwBU5jZLzi6cy9osar396CQfPmW1j63MJLQ==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-emoji': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-find-replace@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-b21VoIiKJbj60rMC8MPrTkayysZlGEoksJ+QpAwPi8whDtq/DCWeCY/8brGJPD/ivRKLmvlttnAkPQGCsL12JQ==} + /@udecode/plate-combobox@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-bAq3jWFEPwFwsm0NYoBz+vg6w/8NBKk3Az2x1/HOZ4vwoQNhbI6JLLPWnpTabPDDaF1hIvj9kqV+rOIbSS241g==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-find-replace': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + downshift: 6.1.12(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-font@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-wGy1TXSSF2KpWauKqpW7RBZ5EPgc16ds1r3bPNrw8utHO3WH4vuluGnWKJdIemguJeeTgiPiOp9LyVEA9PPZjQ==} + /@udecode/plate-common@30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-p/hF7rvuEqyrxvsfgjaBswv82C/Z1/S5vNj+m33UG91cnPs5sLHbofd5qh7vRgKKfZ/uk028mNpUgemo1bFgbA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-font': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-core': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 24.3.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is + - immer - react-native - scheduler - /@udecode/plate-ui-line-height@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-ddkxbNark/DbQLc2gNPfVnlA+5YUWuLeEMGl0nEAmuvq5IZCBZXz2icSccMjv+EqcioQVKBrHi+PqP0EUYMY2w==} + /@udecode/plate-core@30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-x/X0dCLoWFyC7wEI9hTcVMR8C/xiTkF0w9I5fyhCMg1mXz/y4DB0CMute+hYT0Wz7rqgj9DYT4v8ryrB9fEu9A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-line-height': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 24.3.0 + clsx: 1.2.1 + is-hotkey: 0.2.0 + jotai: 2.6.5(@types/react@18.2.58)(react@18.2.0) + jotai-optics: 0.3.1(jotai@2.6.5)(optics-ts@2.4.1) + jotai-x: 1.2.2(@types/react@18.2.58)(jotai@2.6.5)(react@18.2.0) + lodash: 4.17.21 + nanoid: 3.3.7 + optics-ts: 2.4.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + react-hotkeys-hook: 4.5.0(react-dom@18.2.0)(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + use-deep-compare: 1.1.0(react@18.2.0) + zustand: 4.5.1(@types/react@18.2.58)(immer@9.0.12)(react@18.2.0) + zustand-x: 3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.1) transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is + - immer - react-native - scheduler - /@udecode/plate-ui-link@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-kk3gNmSqTFGfna/+fHDPl1iQ3jClOk44zrVgHanN72d4dWHzgyUSocrHrldUuQkECfFhCg4S5gIn82rKBK5rYg==} + /@udecode/plate-emoji@30.7.0(patch_hash=dh5teqvvykulbav3j7foi74cke)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-wQSd82O03qNnVfEO6XDd7d87tdZzHl9c8b7rNxuCLV1onWWnrztWO3cJgsSWY/Urkg6NxhUZovanQmEoKwx9uQ==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-link': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@emoji-mart/data': 1.1.2 + '@udecode/plate-combobox': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + patched: true - /@udecode/plate-ui-list@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-dtq4fMH3aJOxkq8klBC7AHLZgQDu9gD0ObFbvahqLFxyyHbRZmWWtKnOVZauCSvvU/Dsi6oK96wSBHHNezi3/w==} + /@udecode/plate-floating@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-9KxpZdKLy45a3Z+MJqSGmuJKQrl7CrNsLyUdjKD4Iqd1DIdBwl65dGqTmgI1EycF2jUsWIrgGE3W71f7E5/JdA==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-list': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@floating-ui/core': 1.6.0 + '@floating-ui/react': 0.22.3(react-dom@18.2.0)(react@18.2.0) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-media@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-QYByExzxchHeXflxdMz/aI5reUeTHyPILj3vaunObE1b2q2Vi5TDFW2kBl/ikA5FtcJWgqFq6SH1cKUztSlVPg==} + /@udecode/plate-indent@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-39V7egkg0Gk0z5nKveAh6gipeH12MQdtSzGphGtpLQqyMF+d+eOLsaZDJsO0XfZlkDTeonA8cDr5ZWERc9SHXQ==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' - dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-floating': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-link': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-media': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-link': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - js-video-url-parser: 0.5.1 + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' + dependencies: + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-mention@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-dD5QV/05oY9DJrF4Ls8rYlhZrZTqYD2oS2+eY31fo9TKsvbEArypVA9gbLAB+JtY3flWTF/XK8ZtQDK4Ky/Srw==} + /@udecode/plate-link@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-5XspGcriDMJOf3hput6N2XA0AouXy5YBJYHu4PaEq25hJblFgiJwvm3JWA0jMsH2HO2iffKpfpMFfcGOjjnR+w==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-mention': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-floating': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-normalizers': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-placeholder@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-scZVD6/fWGMRYYAmlJ2OLGvYCeTD4zEOj2EPWeI5ztspqbVjqmGkOB/N54cSZkEZne2rwCfqNmJ8wkZr91T8Ig==} + /@udecode/plate-list@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-Q6c1hE4oAZp3OkJzoeRIp+ULKcugsNx0Eh4o/yKyWJAx/DzZNPJyuuAyClA9nZMdWv96UAjvEZ75Em3BcFtTwg==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-reset-node': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-table@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-7ZN/RMbkINTFMV5i/3KD9UnAqHRTUlJ9NA554ahoRio3+GNzXfnf2wXF98Q4NnELz245nasqkOqZ3qj18u/l3Q==} + /@udecode/plate-mention@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-OvlgSaHT39dxSRgjS9NsEvbduNbuTWG4KLoEHFJpFgJmGwrVmcPR/AuCpHLiTlDixHVWHJjisp+/imF1eJolQQ==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-floating': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-table': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-ui-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-combobox': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui-toolbar@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-V5Z/Y64RtAyeoeZGqz+xTKKdiKE3M0CC23kF9tQx0ciHRSM+/VdV58Xp20Oe6RKlIe91BXNQrprIezbabZA1HA==} + /@udecode/plate-normalizers@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-jf8H5OPPLEYgaoQ0pyHZfSXwzZBxI959BxHy83Y1wvhB5Yykgc8NflNGme3ds/rMED3z90E7QOCL2h1waHNtNQ==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@tippyjs/react': 4.2.6(react-dom@18.2.0)(react@18.2.0) - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-floating': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-use: 17.4.0(react-dom@18.2.0)(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-ui@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dnd-html5-backend@16.0.1)(react-dnd@16.0.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-F5Llhi04azilhnq8AmuwoalDCGsK0HHQyzPsQ0G0GpZfjSf6sRN3dxfBE7AZ6WzK7hShS1CFdN+SV/2LF/K+qw==} + /@udecode/plate-paragraph@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-vqvN6Gex1aj189C3ohuq85g6reajYqJMFb4CETGqUTifmKw0ReeJ6a8OYhNqX7v2xE+4gEBm+Z8qO3Z3CnoHqw==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' - react-dnd: '>=14.0.0' - react-dnd-html5-backend: '>=14.0.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' slate-hyperscript: '>=0.66.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' - dependencies: - '@udecode/plate-headless': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-styled-components': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-alignment': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-block-quote': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-button': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-code-block': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-combobox': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-comments': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-cursor': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-emoji': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-find-replace': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-font': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-line-height': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-link': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-list': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-media': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-mention': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-placeholder': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-table': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) - '@udecode/plate-ui-toolbar': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + slate-react: '>=0.99.0' + dependencies: + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 - react-dnd: 16.0.1(@types/node@18.19.18)(@types/react@18.2.58)(react@18.2.0) - react-dnd-html5-backend: 16.0.1 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-hyperscript: 0.77.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - use-context-selector: 1.4.1(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-is - - react-native - - scheduler - - supports-color + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-utils@21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-wmUfkatfRUpKI2AUbZ55IKJDJcvKZ9okW2vP2fbEN6WeKblwjqqgIpc+LFTBUBpD9f2BJxBmcT7ECdDrodwNDg==} + /@udecode/plate-reset-node@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-bBUnE3uMw+jp7zAaZtagCRB9WpBZxJfLdhc1YdqwU1Hmqqy4l0GaH4/oq2QtnN8DtZnOV/PkJlus8tgsP3yzjg==} peerDependencies: + '@udecode/plate-common': '>=30.4.5 < 31' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' dependencies: - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) - '@udecode/plate-core': 21.5.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/slate': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/slate-react': 21.4.1(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/slate-utils': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/utils': 19.7.1 + '@udecode/plate-common': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate@21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dnd-html5-backend@16.0.1)(react-dnd@16.0.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6): - resolution: {integrity: sha512-uKAmKHwPgzo/XzrYWrbJ0FuqJRvU394aXZMkx4bXnHzVuCvQT4HNxZM4yM+RagdRHXr6xKZxdxQG70xKF2/5Jg==} + /@udecode/plate-utils@30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-cJ0auswNFxhv/qF9yqrIbgPa3mqxWtLtBQ/N+1zqMfEM3vzWE+4WlHpMJb/SdAC/Dvuc5zzfB26/t2IyhrZp5w==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' slate-hyperscript: '>=0.66.0' - slate-react: '>=0.94.0' - styled-components: '>=5.0.0' - dependencies: - '@udecode/plate-headless': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1) - '@udecode/plate-ui': 21.5.0(@babel/core@7.23.9)(@types/react-dom@18.2.19)(@types/react@18.2.58)(react-dnd-html5-backend@16.0.1)(react-dnd@16.0.1)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-hyperscript@0.77.0)(slate-react@0.98.3)(slate@0.94.1)(styled-components@5.3.6) + slate-react: '>=0.99.0' + dependencies: + '@udecode/plate-core': 30.4.5(@types/react@18.2.58)(immer@9.0.12)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 24.3.0 + clsx: 1.2.1 + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-hyperscript: 0.77.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - '@types/react' - - '@types/react-dom' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-dnd - - react-dnd-html5-backend - - react-is + - immer - react-native - scheduler - - supports-color - /@udecode/resizable@20.5.3(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-daSwKcHSE6Jq9yIxVJ7t1CmknOu75SgIRetYi2ZUeUkb5p97WnGzUKrNEan9kVCerW6e9FrCUH7Cvpw5X9+nPg==} + /@udecode/react-utils@29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+bFJFTDsWArFaC4AZFap0VdCvEbu5ZA16avj4xjjdBBho4TiHOZ7RMDliwTUetA3DOm5LG02dmZ1U4ORNC0m3w==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-react: '>=0.94.0' dependencies: - '@udecode/plate-common': 21.5.0(@babel/core@7.23.9)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) + '@udecode/utils': 24.3.0 + clsx: 1.2.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) transitivePeerDependencies: - - '@babel/core' - - '@babel/template' - '@types/react' - - jotai-devtools - - jotai-immer - - jotai-optics - - jotai-redux - - jotai-tanstack-query - - jotai-urql - - jotai-valtio - - jotai-xstate - - jotai-zustand - - react-native - - scheduler - /@udecode/slate-react@21.4.1(react-dom@18.2.0)(react@18.2.0)(slate-history@0.93.0)(slate-react@0.98.3)(slate@0.94.1): - resolution: {integrity: sha512-IXuH3Icafegm4hmlRvOoBIzTN+INcR3tb8s+ZuRsa78ItNvTrlJ6O8yw0Bgqtl0sZ5PfwHwnPjELxwq0aWg8bg==} + /@udecode/slate-react@29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-DOiGXxfL43tVyNg0LneTQGQBW/HkF2srwIM8b0Al/x082HHfo2PP2WkFqPqTh1uGUAa2RBRh9xFKmNkKeuyWSw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' slate-history: '>=0.93.0' - slate-react: '>=0.94.0' + slate-react: '>=0.99.0' dependencies: - '@udecode/slate': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/utils': 19.7.1 + '@udecode/react-utils': 29.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 24.3.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) - slate-react: 0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' - /@udecode/slate-utils@21.4.1(slate-history@0.93.0)(slate@0.94.1): - resolution: {integrity: sha512-j5fGnKkDe21g9D3uSQjo0zqrCKwj9JNjAzXk+AeWVT1XqGOpXumvugzlqRePtVOs2a5z3TVdc6BnKkF6SZk0gw==} + /@udecode/slate-utils@25.0.0(slate-history@0.100.0)(slate@0.102.0): + resolution: {integrity: sha512-H8dECl5Tu44Nt946rkSXCJ1yzsc2R9GXSoA9oNIBmcyNo3jTHZOyG/Ocn3RGgfzAK996A43GBD/keNabJEPtQg==} peerDependencies: slate: '>=0.94.0' slate-history: '>=0.93.0' dependencies: - '@udecode/slate': 21.4.1(slate-history@0.93.0)(slate@0.94.1) - '@udecode/utils': 19.7.1 + '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 24.3.0 lodash: 4.17.21 - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) - /@udecode/slate@21.4.1(slate-history@0.93.0)(slate@0.94.1): - resolution: {integrity: sha512-r9CScsn3b176O2n2leW0JT5kqeWQsTU4/jbVAys3fokDrdaVdEwKaFSU0HVt7V4oJ4eGyBmISKrpnf2jJHMXRw==} + /@udecode/slate@25.0.0(slate-history@0.100.0)(slate@0.102.0): + resolution: {integrity: sha512-mGb9nMDwIygLqERwJ8kTOfo3wIxMQ0xLJEPKn09jrshEIxUCyO3mYj8y/5vOMcrzj6yexOsgQ6VNX8ylS3lnIQ==} peerDependencies: slate: '>=0.94.0' slate-history: '>=0.93.0' dependencies: - '@udecode/utils': 19.7.1 - slate: 0.94.1 - slate-history: 0.93.0(slate@0.94.1) + '@udecode/utils': 24.3.0 + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) - /@udecode/utils@19.7.1: - resolution: {integrity: sha512-FqPvq/0MOI8qvX3KvQfTKNUkvh8CwHxke9CyoqMck5dxeOmge3vHMkHkCE1BXw2w19EFGkC58Tkw8+RpT8qFSQ==} + /@udecode/utils@24.3.0: + resolution: {integrity: sha512-/Y2lh/Ih1wx4zN35Ky2Z1G1/5f7cSAS7F6dkhrcbJUnDF0srTidoEIRabK+og/yIK/MCEFfOsQGetoV7Ert5hg==} - /@udecode/zustood@1.1.3(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@3.7.2): - resolution: {integrity: sha512-f3mxHDaOF+q2XvDh/mMvLhCNs0LfCLhIBl8jGmvZT/i3WWq7YujzGXgnbK8mxIkun9irfe6wlPhg9sTIB9Gnug==} + /@udecode/zustood@2.0.0(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.1): + resolution: {integrity: sha512-zMmEhP55PHVxIsMWuBf7LbNUTkGDPAGeCtcbJUD+k47ubkLR/yg0hjQh0hD0DARl2X86U+SJNe628qxVtMARVw==} peerDependencies: - zustand: '>=3.5.10' + zustand: '>=4.3.9' dependencies: - immer: 9.0.21 + immer: 10.0.3 react-tracked: 1.7.11(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) - zustand: 3.7.2(react@18.2.0) + zustand: 4.5.1(@types/react@18.2.58)(immer@9.0.12)(react@18.2.0) transitivePeerDependencies: - react - react-dom @@ -6714,7 +4984,7 @@ packages: dependencies: '@ampproject/remapping': 2.2.1 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 @@ -6730,28 +5000,12 @@ packages: - supports-color dev: true - /@vitest/expect@1.3.0: - resolution: {integrity: sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==} - dependencies: - '@vitest/spy': 1.3.0 - '@vitest/utils': 1.3.0 - chai: 4.3.10 - dev: true - /@vitest/expect@1.3.1: resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} dependencies: '@vitest/spy': 1.3.1 '@vitest/utils': 1.3.1 - chai: 4.3.10 - dev: true - - /@vitest/runner@1.3.0: - resolution: {integrity: sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==} - dependencies: - '@vitest/utils': 1.3.0 - p-limit: 5.0.0 - pathe: 1.1.2 + chai: 4.4.1 dev: true /@vitest/runner@1.3.1: @@ -6762,32 +5016,18 @@ packages: pathe: 1.1.2 dev: true - /@vitest/snapshot@1.3.0: - resolution: {integrity: sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==} - dependencies: - magic-string: 0.30.5 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - /@vitest/snapshot@1.3.1: resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.3.0: - resolution: {integrity: sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==} - dependencies: - tinyspy: 2.2.0 - dev: true - /@vitest/spy@1.3.1: resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.1 dev: true /@vitest/ui@1.3.1(vitest@1.3.1): @@ -6805,15 +5045,6 @@ packages: vitest: 1.3.1(@types/node@18.19.18)(@vitest/ui@1.3.1)(happy-dom@13.4.1) dev: true - /@vitest/utils@1.3.0: - resolution: {integrity: sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - /@vitest/utils@1.3.1: resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} dependencies: @@ -6887,9 +5118,6 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@xobotyi/scrollbar-width@1.9.5: - resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} - /@xstate/immer@0.3.1(immer@9.0.12)(xstate@4.28.1): resolution: {integrity: sha512-YE+KY08IjEEmXo6XKKpeSGW4j9LfcXw+5JVixLLUO3fWQ3M95joWJ40VtGzx0w0zQSzoCNk8NgfvwWBGSbIaTA==} peerDependencies: @@ -7102,7 +5330,7 @@ packages: resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} engines: {node: '>=10'} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} @@ -7113,7 +5341,7 @@ packages: /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 is-array-buffer: 3.0.2 dev: true @@ -7129,10 +5357,10 @@ packages: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -7140,7 +5368,7 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.22.4 get-intrinsic: 1.2.4 @@ -7178,7 +5406,7 @@ packages: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 @@ -7188,7 +5416,7 @@ packages: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.22.4 es-shim-unscopables: 1.0.0 @@ -7198,7 +5426,7 @@ packages: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 @@ -7208,7 +5436,7 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.22.4 es-shim-unscopables: 1.0.0 @@ -7217,11 +5445,11 @@ packages: /array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 dev: true /arraybuffer.prototype.slice@1.0.3: @@ -7265,6 +5493,11 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: false + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: true /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -7320,7 +5553,7 @@ packages: dependencies: '@fastify/error': 3.4.1 archy: 1.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) fastq: 1.17.1 transitivePeerDependencies: - supports-color @@ -7330,31 +5563,13 @@ packages: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} - dev: true - - /b4a@1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} - dev: false - - /babel-plugin-styled-components@2.1.1(styled-components@5.3.6): - resolution: {integrity: sha512-c8lJlszObVQPguHkI+akXv8+Jgb9Ccujx0EetL7oIvwU100LxO6XAGe45qry37wUL40a5U9f23SYrivro2XKhA==} - peerDependencies: - styled-components: '>= 2' - dependencies: - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 - babel-plugin-syntax-jsx: 6.18.0 - lodash: 4.17.21 - picomatch: 2.3.1 - styled-components: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) - - /babel-plugin-syntax-jsx@6.18.0: - resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==} + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true - /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: false /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -7487,15 +5702,15 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - /cachedir@2.3.0: - resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} + /cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} engines: {node: '>=6'} dev: true /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 get-intrinsic: 1.2.0 dev: true @@ -7533,9 +5748,6 @@ packages: engines: {node: '>=6'} dev: true - /camelize@1.0.1: - resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - /caniuse-lite@1.0.30001588: resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} @@ -7546,8 +5758,8 @@ packages: /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - /chai@4.3.10: - resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 @@ -7585,15 +5797,18 @@ packages: /character-entities-legacy@1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true /character-entities@1.2.4: resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true /character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} /character-reference-invalid@1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -7629,6 +5844,11 @@ packages: engines: {node: '>=8'} dev: true + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + /classnames@2.3.2: resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} @@ -7772,6 +5992,9 @@ packages: /compute-scroll-into-view@1.0.20: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + /compute-scroll-into-view@3.1.0: + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} + /computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} dev: true @@ -7807,11 +6030,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - dependencies: - toggle-selection: 1.0.6 - /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} dev: true @@ -7854,15 +6072,6 @@ packages: which: 2.0.2 dev: true - /css-color-keywords@1.0.0: - resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} - engines: {node: '>=4'} - - /css-in-js-utils@3.1.0: - resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} - dependencies: - hyphenate-style-name: 1.0.4 - /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -7873,20 +6082,6 @@ packages: nth-check: 2.1.1 dev: true - /css-to-react-native@3.2.0: - resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} - dependencies: - camelize: 1.0.1 - css-color-keywords: 1.0.0 - postcss-value-parser: 4.2.0 - - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -7926,14 +6121,6 @@ packages: stream-transform: 2.1.3 dev: true - /cypress-real-events@1.12.0(cypress@13.6.4): - resolution: {integrity: sha512-oiy+4kGKkzc2PT36k3GGQqkGxNiVypheWjMtfyi89iIk6bYmTzeqxapaLHS3pnhZOX1IEbTDUVxh8T4Nhs1tyQ==} - peerDependencies: - cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x - dependencies: - cypress: 13.6.4 - dev: true - /cypress-real-events@1.12.0(cypress@13.6.6): resolution: {integrity: sha512-oiy+4kGKkzc2PT36k3GGQqkGxNiVypheWjMtfyi89iIk6bYmTzeqxapaLHS3pnhZOX1IEbTDUVxh8T4Nhs1tyQ==} peerDependencies: @@ -7942,80 +6129,30 @@ packages: cypress: 13.6.6 dev: true - /cypress@13.6.4: - resolution: {integrity: sha512-pYJjCfDYB+hoOoZuhysbbYhEmNW7DEDsqn+ToCLwuVowxUXppIWRr7qk4TVRIU471ksfzyZcH+mkoF0CQUKnpw==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} - hasBin: true - requiresBuild: true - dependencies: - '@cypress/request': 3.0.0 - '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.3 - arch: 2.2.0 - blob-util: 2.0.2 - bluebird: 3.7.2 - buffer: 5.7.1 - cachedir: 2.3.0 - chalk: 4.1.2 - check-more-types: 2.24.0 - cli-cursor: 3.1.0 - cli-table3: 0.6.3 - commander: 6.2.1 - common-tags: 1.8.2 - dayjs: 1.11.8 - debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.3.6 - eventemitter2: 6.4.7 - execa: 4.1.0 - executable: 4.1.1 - extract-zip: 2.0.1(supports-color@8.1.1) - figures: 3.2.0 - fs-extra: 9.1.0 - getos: 3.2.1 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.3.6) - lodash: 4.17.21 - log-symbols: 4.1.0 - minimist: 1.2.8 - ospath: 1.2.2 - pretty-bytes: 5.6.0 - process: 0.11.10 - proxy-from-env: 1.0.0 - request-progress: 3.0.0 - semver: 7.5.4 - supports-color: 8.1.1 - tmp: 0.2.1 - untildify: 4.0.0 - yauzl: 2.10.0 - dev: true - /cypress@13.6.6: resolution: {integrity: sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true dependencies: - '@cypress/request': 3.0.0 + '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.3 + '@types/sizzle': 2.3.8 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 buffer: 5.7.1 - cachedir: 2.3.0 + cachedir: 2.4.0 chalk: 4.1.2 check-more-types: 2.24.0 cli-cursor: 3.1.0 cli-table3: 0.6.3 commander: 6.2.1 common-tags: 1.8.2 - dayjs: 1.11.8 + dayjs: 1.11.10 debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.3.6 + enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 executable: 4.1.1 @@ -8026,7 +6163,7 @@ packages: is-ci: 3.0.1 is-installed-globally: 0.4.0 lazy-ass: 1.6.0 - listr2: 3.14.0(enquirer@2.3.6) + listr2: 3.14.0(enquirer@2.4.1) lodash: 4.17.21 log-symbols: 4.1.0 minimist: 1.2.8 @@ -8035,7 +6172,7 @@ packages: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.5.4 + semver: 7.6.0 supports-color: 8.1.1 tmp: 0.2.1 untildify: 4.0.0 @@ -8062,13 +6199,13 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 /date-fns@3.3.1: resolution: {integrity: sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==} - /dayjs@1.11.8: - resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==} + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: true /de-indent@1.0.2: @@ -8090,22 +6227,10 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 supports-color: 8.1.1 dev: true - /debug@4.3.4(supports-color@5.5.0): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 5.5.0 - /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -8117,7 +6242,6 @@ packages: dependencies: ms: 2.1.2 supports-color: 8.1.1 - dev: true /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -8189,7 +6313,7 @@ packages: dependencies: bundle-name: 3.0.0 default-browser-id: 3.0.0 - execa: 7.1.1 + execa: 7.2.0 titleize: 3.0.0 dev: true @@ -8224,7 +6348,7 @@ packages: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} dependencies: - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true @@ -8384,12 +6508,12 @@ packages: peerDependencies: react: '>=16.12.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 compute-scroll-into-view: 1.0.20 prop-types: 15.8.1 react: 18.2.0 react-is: 17.0.2 - tslib: 2.6.1 + tslib: 2.6.2 /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -8434,6 +6558,14 @@ packages: ansi-colors: 4.1.3 dev: true + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -8454,28 +6586,23 @@ packages: is-arrayish: 0.2.1 dev: true - /error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - dependencies: - stackframe: 1.3.4 - /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + call-bind: 1.0.7 es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 function.prototype.name: 1.1.5 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 get-symbol-description: 1.0.0 globalthis: 1.0.3 gopd: 1.0.1 has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 internal-slot: 1.0.5 is-array-buffer: 3.0.2 @@ -8486,7 +6613,7 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.10 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.4.3 @@ -8517,7 +6644,7 @@ packages: globalthis: 1.0.3 gopd: 1.0.1 has-property-descriptors: 1.0.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.1 internal-slot: 1.0.7 @@ -8583,7 +6710,7 @@ packages: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 has: 1.0.3 has-tostringtag: 1.0.0 dev: true @@ -8705,7 +6832,7 @@ packages: eslint: '>=6.0.0' dependencies: eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 dev: true /eslint-config-prettier@8.8.0(eslint@8.56.0): @@ -8752,7 +6879,7 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.56.0 eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) @@ -9055,7 +7182,7 @@ packages: dependencies: '@babel/helper-validator-identifier': 7.22.15 '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - ci-info: 3.8.0 + ci-info: 3.9.0 clean-regexp: 1.0.0 eslint: 8.56.0 esquery: 1.5.0 @@ -9067,7 +7194,7 @@ packages: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.5.4 + semver: 7.6.0 strip-indent: 3.0.0 dev: true @@ -9079,7 +7206,7 @@ packages: dependencies: '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - ci-info: 3.8.0 + ci-info: 3.9.0 clean-regexp: 1.0.0 eslint: 8.56.0 esquery: 1.5.0 @@ -9090,7 +7217,7 @@ packages: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.5.4 + semver: 7.6.0 strip-indent: 3.0.0 dev: true @@ -9100,7 +7227,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 eslint-compat-utils: 0.4.1(eslint@8.56.0) lodash: 4.17.21 @@ -9116,7 +7243,7 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) eslint: 8.56.0 lodash: 4.17.21 natural-compare: 1.4.0 @@ -9166,7 +7293,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -9289,8 +7416,8 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa@7.1.1: - resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 @@ -9298,7 +7425,7 @@ packages: human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 @@ -9313,7 +7440,7 @@ packages: human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 @@ -9351,7 +7478,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.0 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color dev: true @@ -9410,9 +7537,6 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-loops@1.1.3: - resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} - /fast-querystring@1.1.0: resolution: {integrity: sha512-LWkjBCZlxjnSanuPpZ6mHswjy8hQv3VcPJsQB3ltUF2zjvrycr0leP3TSTEEfvQ1WEMSRl5YNsGqaft9bjLqEw==} dependencies: @@ -9424,16 +7548,10 @@ packages: engines: {node: '>=6'} dev: false - /fast-shallow-equal@1.0.0: - resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} - /fast-uri@2.2.0: resolution: {integrity: sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==} dev: false - /fastest-stable-stringify@2.0.2: - resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} - /fastify-plugin@4.5.0: resolution: {integrity: sha512-79ak0JxddO0utAXAQ5ccKhvs6vX2MGyHHMMsmZkBANrq3hXc1CHzvNPHOcvTsVMEPl5I+NT+RO4YKMGehOfSIg==} dev: false @@ -9577,7 +7695,7 @@ packages: engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.2 + signal-exit: 4.1.0 dev: true /forever-agent@0.6.1: @@ -9622,7 +7740,7 @@ packages: dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.6.1 + tslib: 2.6.2 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 @@ -9668,7 +7786,7 @@ packages: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs.realpath@1.0.0: @@ -9681,18 +7799,14 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 functions-have-names: 1.2.3 @@ -9728,7 +7842,7 @@ packages: /get-intrinsic@1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 has: 1.0.3 has-symbols: 1.0.3 dev: true @@ -9739,7 +7853,7 @@ packages: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.1 dev: true @@ -9773,8 +7887,8 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /get-symbol-description@1.0.2: @@ -9795,7 +7909,7 @@ packages: /getos@3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} dependencies: - async: 3.2.4 + async: 3.2.5 dev: true /getpass@0.1.7: @@ -9860,7 +7974,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.0 + minimatch: 5.1.6 once: 1.4.0 dev: false @@ -9904,7 +8018,7 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 dev: true /graceful-fs@4.2.11: @@ -9948,13 +8062,6 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.0 - dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -9962,11 +8069,6 @@ packages: es-define-property: 1.0.0 dev: true - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - /has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} @@ -9995,7 +8097,7 @@ packages: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 /hasown@2.0.1: resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} @@ -10022,9 +8124,6 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /html-entities@2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} - /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -10044,7 +8143,7 @@ packages: dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 - sshpk: 1.17.0 + sshpk: 1.18.0 dev: true /human-id@1.0.2: @@ -10071,9 +8170,6 @@ packages: engines: {node: '>=16.17.0'} dev: true - /hyphenate-style-name@1.0.4: - resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} - /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -10091,14 +8187,10 @@ packages: /immer@10.0.3: resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} - dev: false /immer@9.0.12: resolution: {integrity: sha512-lk7UNmSbAukB5B6dh9fnh5D0bJTOFKxVg2cyJWTYrWRfhLrLMBquONcUs3aFq507hNoIZEDDh8lb8UtOizSMhA==} - /immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -10136,12 +8228,6 @@ packages: engines: {node: '>=10'} dev: true - /inline-style-prefixer@6.0.4: - resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} - dependencies: - css-in-js-utils: 3.1.0 - fast-loops: 1.1.3 - /inquirer@8.2.5: resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} engines: {node: '>=12.0.0'} @@ -10156,7 +8242,7 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.0 + rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -10167,9 +8253,9 @@ packages: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 has: 1.0.3 - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /internal-slot@1.0.7: @@ -10178,7 +8264,7 @@ packages: dependencies: es-errors: 1.3.0 hasown: 2.0.1 - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /intl-messageformat@10.3.3: @@ -10187,7 +8273,7 @@ packages: '@formatjs/ecma402-abstract': 1.14.3 '@formatjs/fast-memoize': 2.0.1 '@formatjs/icu-messageformat-parser': 2.3.0 - tslib: 2.6.1 + tslib: 2.6.2 /invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -10201,12 +8287,14 @@ packages: /is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true /is-alphanumerical@1.0.4: resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 + dev: true /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} @@ -10276,7 +8364,7 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: - ci-info: 3.8.0 + ci-info: 3.9.0 dev: true /is-core-module@2.12.0: @@ -10299,6 +8387,7 @@ packages: /is-decimal@1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} @@ -10335,9 +8424,7 @@ packages: /is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - - /is-hotkey@0.1.8: - resolution: {integrity: sha512-qs3NZ1INIS+H+yeo7cD9pDfwYV/jqRh1JG9S9zYrNudkoUQg7OL7ziXqRKu+InFjUIDoP2o6HIkLYMh1pcWgyQ==} + dev: true /is-hotkey@0.2.0: resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} @@ -10401,10 +8488,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -10501,7 +8584,7 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-weakset@2.0.2: @@ -10573,7 +8656,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -10605,52 +8688,46 @@ packages: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true - /jotai@1.13.1(@babel/core@7.23.9)(react@18.2.0): - resolution: {integrity: sha512-RUmH1S4vLsG3V6fbGlKzGJnLrDcC/HNb5gH2AeA9DzuJknoVxSGvvg8OBB7lke+gDc4oXmdVsaKn/xDUhWZ0vw==} - engines: {node: '>=12.20.0'} + /jotai-optics@0.3.1(jotai@2.6.5)(optics-ts@2.4.1): + resolution: {integrity: sha512-KibUx9IneM2hGWGIYGs/v0KCxU985lg7W2c6dt5RodJCB2XPbmok8rkkLmdVk9+fKsn2shkPMi+AG8XzHgB3+w==} peerDependencies: - '@babel/core': '*' - '@babel/template': '*' - jotai-devtools: '*' - jotai-immer: '*' - jotai-optics: '*' - jotai-redux: '*' - jotai-tanstack-query: '*' - jotai-urql: '*' - jotai-valtio: '*' - jotai-xstate: '*' - jotai-zustand: '*' - react: '>=16.8' + jotai: '>=1.11.0' + optics-ts: '*' + dependencies: + jotai: 2.6.5(@types/react@18.2.58)(react@18.2.0) + optics-ts: 2.4.1 + + /jotai-x@1.2.2(@types/react@18.2.58)(jotai@2.6.5)(react@18.2.0): + resolution: {integrity: sha512-HaFl3O4aKdBdeTyuzzcvnBWvicXkxl0DBINsqasqWrL7mZov4AAuXUSAsAY817UDwMe1+k77uBazUCFlaiyU3A==} + peerDependencies: + '@types/react': '>=17.0.0' + jotai: '>=2.0.0' + react: '>=17.0.0' peerDependenciesMeta: - '@babel/core': - optional: true - '@babel/template': - optional: true - jotai-devtools: - optional: true - jotai-immer: - optional: true - jotai-optics: - optional: true - jotai-redux: - optional: true - jotai-tanstack-query: - optional: true - jotai-urql: + '@types/react': optional: true - jotai-valtio: + react: optional: true - jotai-xstate: + dependencies: + '@types/react': 18.2.58 + jotai: 2.6.5(@types/react@18.2.58)(react@18.2.0) + react: 18.2.0 + + /jotai@2.6.5(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-T+yvY42GXKomvJYqs+NeTH0da9Z1tQ3Qk3zppPHIWnvmOBKpN6Qd4j8h/oo9dwxs3w/Z5r6Kk0I8h6z5orQ/HQ==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=17.0.0' + react: '>=17.0.0' + peerDependenciesMeta: + '@types/react': optional: true - jotai-zustand: + react: optional: true dependencies: - '@babel/core': 7.23.9 + '@types/react': 18.2.58 react: 18.2.0 - /js-cookie@2.2.1: - resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} - /js-levenshtein@1.1.6: resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} engines: {node: '>=0.10.0'} @@ -10663,9 +8740,6 @@ packages: resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true - /js-video-url-parser@0.5.1: - resolution: {integrity: sha512-/vwqT67k0AyIGMHAvSOt+n4JfrZWF7cPKgKswDO35yr27GfW4HtjpQVlTx6JLF45QuPm8mkzFHkZgFVnFm4x/w==} - /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -10754,11 +8828,11 @@ packages: acorn: 8.11.3 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.5.4 + semver: 7.6.0 dev: true - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true /jsonfile@4.0.0: @@ -10848,7 +8922,7 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - /listr2@3.14.0(enquirer@2.3.6): + /listr2@3.14.0(enquirer@2.4.1): resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} engines: {node: '>=10.0.0'} peerDependencies: @@ -10859,11 +8933,11 @@ packages: dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 - enquirer: 2.3.6 + enquirer: 2.4.1 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 - rxjs: 7.8.0 + rfdc: 1.3.1 + rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -10882,7 +8956,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.5.0 + mlly: 1.6.1 pkg-types: 1.0.3 dev: true @@ -10919,6 +8993,9 @@ packages: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} dev: true + /lodash.mapvalues@4.6.0: + resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==} + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -10995,6 +9072,11 @@ packages: hasBin: true dev: true + /lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: true + /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: @@ -11007,6 +9089,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: @@ -11056,6 +9145,7 @@ packages: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color + dev: true /mdast-util-from-markdown@1.3.0: resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==} @@ -11145,15 +9235,13 @@ packages: /mdast-util-to-string@2.0.0: resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true /mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: '@types/mdast': 3.0.10 - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - /meow@6.1.1: resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} engines: {node: '>=8'} @@ -11383,16 +9471,17 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color + dev: true /micromark@3.1.0: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.0.6 micromark-factory-space: 1.0.0 @@ -11453,8 +9542,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 @@ -11493,13 +9582,13 @@ packages: engines: {node: '>= 8.0.0'} dev: true - /mlly@1.5.0: - resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} dependencies: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.2 + ufo: 1.4.0 dev: true /mnemonist@0.39.6: @@ -11525,6 +9614,10 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + /msw@1.3.2(typescript@5.3.3): resolution: {integrity: sha512-wKLhFPR+NitYTkQl5047pia0reNGgf0P6a1eTnA5aNlripmiz0sabMvvHcicE8kQ3/gZcI0YiPFWmYfowfm3lA==} engines: {node: '>=14'} @@ -11576,23 +9669,6 @@ packages: object-assign: 4.1.1 thenify-all: 1.6.0 - /nano-css@5.3.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - css-tree: 1.1.3 - csstype: 3.1.1 - fastest-stable-stringify: 2.0.2 - inline-style-prefixer: 6.0.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - rtl-css-js: 1.16.1 - sourcemap-codec: 1.4.8 - stacktrace-js: 2.0.2 - stylis: 4.2.0 - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -11616,7 +9692,7 @@ packages: resolution: {integrity: sha512-2NlGmHIK2rTeyy7UaY1ZNg0YZfEJMxghXgZi0b4DBsUyoDNTTxZeCSG1nmirAWF44RkkoV8NnegLVQijgVapNQ==} engines: {node: '>= 10.13'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: @@ -11664,7 +9740,7 @@ packages: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.2 - semver: 5.7.1 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -11684,8 +9760,8 @@ packages: path-key: 3.1.1 dev: true - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 @@ -11705,10 +9781,6 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -11750,7 +9822,7 @@ packages: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 dev: true @@ -11759,7 +9831,7 @@ packages: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 dev: true @@ -11768,7 +9840,7 @@ packages: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.22.4 dev: true @@ -11794,7 +9866,7 @@ packages: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 dev: true @@ -11803,7 +9875,7 @@ packages: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.22.4 dev: true @@ -11855,6 +9927,9 @@ packages: is-wsl: 2.2.0 dev: true + /optics-ts@2.4.1: + resolution: {integrity: sha512-HaYzMHvC80r7U/LqAd4hQyopDezC60PO2qF5GuIwALut2cl5rK1VWHsqTp0oqoJJWjiv6uXKqsO+Q2OO0C3MmQ==} + /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -11972,9 +10047,6 @@ packages: engines: {node: '>=6'} dev: true - /papaparse@5.4.1: - resolution: {integrity: sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==} - /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -11991,6 +10063,7 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 + dev: true /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} @@ -12130,8 +10203,8 @@ packages: /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: - jsonc-parser: 3.2.0 - mlly: 1.5.0 + jsonc-parser: 3.2.1 + mlly: 1.6.1 pathe: 1.1.2 dev: true @@ -12340,11 +10413,16 @@ packages: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + /qs@6.10.4: resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} engines: {node: '>=0.6'} dependencies: - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /querystringify@2.2.0: @@ -12432,8 +10510,8 @@ packages: /react-fast-compare@3.2.2: resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - /react-hotkeys-hook@4.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wOaCWLwgT/f895CMJrR9hmzVf+gfL8IpjWDXWXKngBp9i6Xqzf0tvLv4VI8l3Vlsg/cc4C/Iik3Ck76L/Hj0tw==} + /react-hotkeys-hook@4.5.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug==} peerDependencies: react: '>=16.8.1' react-dom: '>=16.8.1' @@ -12489,7 +10567,7 @@ packages: '@types/react': 18.2.58 react: 18.2.0 react-style-singleton: 2.2.1(@types/react@18.2.58)(react@18.2.0) - tslib: 2.6.1 + tslib: 2.6.2 /react-remove-scroll@2.5.5(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} @@ -12505,7 +10583,7 @@ packages: react: 18.2.0 react-remove-scroll-bar: 2.3.4(@types/react@18.2.58)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.58)(react@18.2.0) - tslib: 2.6.1 + tslib: 2.6.2 use-callback-ref: 1.3.0(@types/react@18.2.58)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.58)(react@18.2.0) @@ -12523,7 +10601,7 @@ packages: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 - tslib: 2.6.1 + tslib: 2.6.2 /react-textarea-autosize@8.5.3(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} @@ -12531,7 +10609,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 react: 18.2.0 use-composed-ref: 1.3.0(react@18.2.0) use-latest: 1.2.1(@types/react@18.2.58)(react@18.2.0) @@ -12557,38 +10635,6 @@ packages: scheduler: 0.23.0 use-context-selector: 1.4.1(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) - /react-universal-interface@0.6.2(react@18.2.0)(tslib@2.6.1): - resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} - peerDependencies: - react: '*' - tslib: '*' - dependencies: - react: 18.2.0 - tslib: 2.6.1 - - /react-use@17.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@types/js-cookie': 2.2.7 - '@xobotyi/scrollbar-width': 1.9.5 - copy-to-clipboard: 3.3.3 - fast-deep-equal: 3.1.3 - fast-shallow-equal: 1.0.0 - js-cookie: 2.2.1 - nano-css: 5.3.5(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-universal-interface: 0.6.2(react@18.2.0)(tslib@2.6.1) - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - set-harmonic-interval: 1.0.1 - throttle-debounce: 3.0.1 - ts-easing: 0.2.0 - tslib: 2.6.1 - /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -12662,7 +10708,7 @@ packages: /readdir-glob@1.1.2: resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} dependencies: - minimatch: 5.1.0 + minimatch: 5.1.6 dev: false /readdirp@3.6.0: @@ -12687,10 +10733,14 @@ packages: /redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} @@ -12747,17 +10797,10 @@ packages: transitivePeerDependencies: - supports-color - /remark-parse@9.0.0: - resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} - dependencies: - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: - throttleit: 1.0.0 + throttleit: 1.0.1 dev: true /require-directory@2.1.1: @@ -12778,9 +10821,6 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true - /resize-observer-polyfill@1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -12847,6 +10887,11 @@ packages: /rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: false + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -12885,11 +10930,6 @@ packages: fsevents: 2.3.3 dev: true - /rtl-css-js@1.16.1: - resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} - dependencies: - '@babel/runtime': 7.21.0 - /run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} engines: {node: '>=12'} @@ -12912,10 +10952,10 @@ packages: dependencies: queue-microtask: 1.2.3 - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 dev: true /sade@1.8.1: @@ -12944,8 +10984,8 @@ packages: /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 is-regex: 1.1.4 dev: true @@ -12978,24 +11018,17 @@ packages: dependencies: loose-envify: 1.4.0 - /screenfull@5.2.0: - resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} - engines: {node: '>=0.10.0'} - - /scriptjs@2.5.9: - resolution: {integrity: sha512-qGVDoreyYiP1pkQnbnFAUIS5AjenNwwQBdl7zeos9etl+hYKWahjRTfzAZZYBv5xNHx7vNKCmaLDQZ6Fr2AEXg==} - - /scroll-into-view-if-needed@2.2.31: - resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + /scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} dependencies: - compute-scroll-into-view: 1.0.20 + compute-scroll-into-view: 3.1.0 /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: true @@ -13010,6 +11043,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true @@ -13039,13 +11080,6 @@ packages: has-property-descriptors: 1.0.2 dev: true - /set-harmonic-interval@1.0.1: - resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} - engines: {node: '>=6.9'} - - /shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -13075,7 +11109,17 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 - object-inspect: 1.12.3 + object-inspect: 1.13.1 + dev: true + + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 dev: true /siginfo@2.0.0: @@ -13086,11 +11130,6 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} - engines: {node: '>=14'} - dev: true - /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -13125,46 +11164,46 @@ packages: engines: {node: '>=8'} dev: true - /slate-history@0.93.0(slate@0.94.1): - resolution: {integrity: sha512-Gr1GMGPipRuxIz41jD2/rbvzPj8eyar56TVMyJBvBeIpQSSjNISssvGNDYfJlSWM8eaRqf6DAcxMKzsLCYeX6g==} + /slate-history@0.100.0(slate@0.102.0): + resolution: {integrity: sha512-x5rUuWLNtH97hs9PrFovGgt3Qc5zkTm/5mcUB+0NR/TK923eLax4HsL6xACLHMs245nI6aJElyM1y6hN0y5W/Q==} peerDependencies: slate: '>=0.65.3' dependencies: is-plain-object: 5.0.0 - slate: 0.94.1 + slate: 0.102.0 - /slate-hyperscript@0.77.0(slate@0.94.1): - resolution: {integrity: sha512-M6uRpttwKnosniQORNPYQABHQ9XWC7qaSr/127LWWPjTOR5MSSwrHGrghN81BhZVqpICHrI7jkPA2813cWdHNA==} + /slate-hyperscript@0.100.0(slate@0.102.0): + resolution: {integrity: sha512-fb2KdAYg6RkrQGlqaIi4wdqz3oa0S4zKNBJlbnJbNOwa23+9FLD6oPVx9zUGqCSIpy+HIpOeqXrg0Kzwh/Ii4A==} peerDependencies: slate: '>=0.65.3' dependencies: is-plain-object: 5.0.0 - slate: 0.94.1 + slate: 0.102.0 - /slate-react@0.98.3(react-dom@18.2.0)(react@18.2.0)(slate@0.94.1): - resolution: {integrity: sha512-p1BnF9eRyRM0i5hkgOb11KgmpWLQm9Zyp6jVkOAj5fPdIGheKhg48Z7aWKrayeJ4nmRyi/NjRZz/io5hQcphmw==} + /slate-react@0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0): + resolution: {integrity: sha512-SAcFsK5qaOxXjm0hr/t2pvIxfRv6HJGzmWkG58TdH4LdJCsgKS1n6hQOakHPlRVCwPgwvngB6R+t3pPjv8MqwA==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.65.3' + react: '>=18.2.0' + react-dom: '>=18.2.0' + slate: '>=0.99.0' dependencies: '@juggle/resize-observer': 3.4.0 - '@types/is-hotkey': 0.1.7 - '@types/lodash': 4.14.192 + '@types/is-hotkey': 0.1.10 + '@types/lodash': 4.14.202 direction: 1.0.4 - is-hotkey: 0.1.8 + is-hotkey: 0.2.0 is-plain-object: 5.0.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - scroll-into-view-if-needed: 2.2.31 - slate: 0.94.1 - tiny-invariant: 1.0.6 + scroll-into-view-if-needed: 3.1.0 + slate: 0.102.0 + tiny-invariant: 1.3.1 - /slate@0.94.1: - resolution: {integrity: sha512-GH/yizXr1ceBoZ9P9uebIaHe3dC/g6Plpf9nlUwnvoyf6V1UOYrRwkabtOCd3ZfIGxomY4P7lfgLr7FPH8/BKA==} + /slate@0.102.0: + resolution: {integrity: sha512-RT+tHgqOyZVB1oFV9Pv99ajwh4OUCN9p28QWdnDTIzaN/kZxMsHeQN39UNAgtkZTVVVygFqeg7/R2jiptCvfyA==} dependencies: - immer: 9.0.21 + immer: 10.0.3 is-plain-object: 5.0.0 tiny-warning: 1.0.3 @@ -13209,13 +11248,10 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map@0.5.6: - resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} - engines: {node: '>=0.10.0'} - /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + dev: true /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} @@ -13259,8 +11295,8 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /sshpk@1.17.0: - resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + /sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} hasBin: true dependencies: @@ -13275,31 +11311,10 @@ packages: tweetnacl: 0.14.5 dev: true - /stack-generator@2.0.10: - resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} - dependencies: - stackframe: 1.3.4 - /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true - /stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - - /stacktrace-gps@3.1.2: - resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} - dependencies: - source-map: 0.5.6 - stackframe: 1.3.4 - - /stacktrace-js@2.0.2: - resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} - dependencies: - error-stack-parser: 2.1.4 - stack-generator: 2.0.10 - stacktrace-gps: 3.1.2 - /std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true @@ -13360,21 +11375,21 @@ packages: /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 internal-slot: 1.0.5 regexp.prototype.flags: 1.4.3 - side-channel: 1.0.4 + side-channel: 1.0.5 dev: true /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 dev: true @@ -13391,7 +11406,7 @@ packages: /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 dev: true @@ -13407,7 +11422,7 @@ packages: /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 define-properties: 1.2.0 es-abstract: 1.21.2 dev: true @@ -13491,32 +11506,6 @@ packages: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} dev: false - /styled-components@5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==} - engines: {node: '>=10'} - requiresBuild: true - peerDependencies: - react: '>= 16.8.0' - react-dom: '>= 16.8.0' - react-is: '>= 16.8.0' - dependencies: - '@babel/helper-module-imports': 7.22.15 - '@babel/traverse': 7.23.9(supports-color@5.5.0) - '@emotion/is-prop-valid': 1.2.0 - '@emotion/stylis': 0.8.5 - '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.1(styled-components@5.3.6) - css-to-react-native: 3.2.0 - hoist-non-react-statics: 3.3.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 - shallowequal: 1.1.0 - supports-color: 5.5.0 - - /stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - /sucrase@3.32.0: resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} engines: {node: '>=8'} @@ -13548,7 +11537,6 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -13558,7 +11546,7 @@ packages: resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} engines: {node: '>=12.20'} dependencies: - tslib: 2.6.1 + tslib: 2.6.2 dev: true /synckit@0.8.5: @@ -13566,7 +11554,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/utils': 2.4.2 - tslib: 2.6.1 + tslib: 2.6.2 dev: true /synckit@0.8.8: @@ -13658,20 +11646,16 @@ packages: real-require: 0.2.0 dev: false - /throttle-debounce@3.0.1: - resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} - engines: {node: '>=10'} - - /throttleit@1.0.0: - resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} + /throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} dev: true /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /tiny-invariant@1.0.6: - resolution: {integrity: sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==} + /tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} /tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} @@ -13685,16 +11669,11 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} dev: true - /tippy.js@6.3.7: - resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} - dependencies: - '@popperjs/core': 2.11.8 - /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} @@ -13729,9 +11708,6 @@ packages: engines: {node: '>=12'} dev: false - /toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - /totalist@3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} @@ -13742,7 +11718,7 @@ packages: engines: {node: '>=6'} dependencies: psl: 1.9.0 - punycode: 2.1.1 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -13756,9 +11732,6 @@ packages: engines: {node: '>=8'} dev: true - /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - /trough@2.1.0: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} @@ -13771,9 +11744,6 @@ packages: typescript: 5.3.3 dev: true - /ts-easing@0.2.0: - resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} - /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -13834,7 +11804,6 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true /tty-table@4.2.1: resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} @@ -13947,7 +11916,7 @@ packages: /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 is-typed-array: 1.1.10 dev: true @@ -13957,8 +11926,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true /uint8array-extras@0.3.0: @@ -13969,7 +11938,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -13989,17 +11958,6 @@ packages: trough: 2.1.0 vfile: 5.3.7 - /unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} - dependencies: - '@types/unist': 2.0.6 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: @@ -14014,6 +11972,7 @@ packages: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} dependencies: '@types/unist': 2.0.6 + dev: true /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} @@ -14060,6 +12019,11 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -14099,7 +12063,7 @@ packages: dependencies: '@types/react': 18.2.58 react: 18.2.0 - tslib: 2.6.1 + tslib: 2.6.2 /use-composed-ref@1.3.0(react@18.2.0): resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} @@ -14171,7 +12135,7 @@ packages: '@types/react': 18.2.58 detect-node-es: 1.1.0 react: 18.2.0 - tslib: 2.6.1 + tslib: 2.6.2 /use-subscription@1.8.0(react@18.2.0): resolution: {integrity: sha512-LISuG0/TmmoDoCRmV5XAqYkd3UCBNM0ML3gGBndze65WITcsExCD3DTvXXTLyNcOC0heFQZzluW88bN/oC1DQQ==} @@ -14238,6 +12202,7 @@ packages: /validator@13.9.0: resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} engines: {node: '>= 0.10'} + dev: true /verror@1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} @@ -14248,26 +12213,12 @@ packages: extsprintf: 1.3.0 dev: true - /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - dependencies: - '@types/unist': 2.0.6 - unist-util-stringify-position: 2.0.3 - /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 3.0.3 - /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} - dependencies: - '@types/unist': 2.0.6 - is-buffer: 2.0.5 - unist-util-stringify-position: 2.0.3 - vfile-message: 2.0.4 - /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: @@ -14276,34 +12227,13 @@ packages: unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - /vite-node@1.3.0(@types/node@18.19.18): - resolution: {integrity: sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@18.19.18) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.3.1(@types/node@18.19.18): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 vite: 5.1.4(@types/node@18.19.18) @@ -14331,7 +12261,7 @@ packages: '@microsoft/api-extractor': 7.39.0(@types/node@18.19.18) '@rollup/pluginutils': 5.1.0(rollup@4.12.0) '@vue/language-core': 1.8.27(typescript@5.3.3) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 typescript: 5.3.3 vite: 5.1.4(@types/node@18.19.18) @@ -14416,42 +12346,6 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@5.1.3(@types/node@18.19.18): - resolution: {integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.19.18 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@5.1.4(@types/node@18.19.18): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -14488,62 +12382,6 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.0(@types/node@18.19.18): - resolution: {integrity: sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.0 - '@vitest/ui': 1.3.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 18.19.18 - '@vitest/expect': 1.3.0 - '@vitest/runner': 1.3.0 - '@vitest/snapshot': 1.3.0 - '@vitest/spy': 1.3.0 - '@vitest/utils': 1.3.0 - acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4(supports-color@5.5.0) - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.5 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.3(@types/node@18.19.18) - vite-node: 1.3.0(@types/node@18.19.18) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@1.3.1(@types/node@18.19.18)(@vitest/ui@1.3.1)(happy-dom@13.4.1): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -14577,12 +12415,12 @@ packages: '@vitest/ui': 1.3.1(vitest@1.3.1) '@vitest/utils': 1.3.1 acorn-walk: 8.3.2 - chai: 4.3.10 - debug: 4.3.4(supports-color@5.5.0) + chai: 4.4.1 + debug: 4.3.4(supports-color@8.1.1) execa: 8.0.1 happy-dom: 13.4.1 local-pkg: 0.5.0 - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 @@ -14617,7 +12455,7 @@ packages: dependencies: '@volar/typescript': 1.11.1 '@vue/language-core': 1.8.27(typescript@5.3.3) - semver: 7.5.4 + semver: 7.6.0 typescript: 5.3.3 dev: true @@ -14902,16 +12740,40 @@ packages: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} dev: false - /zustand@3.7.2(react@18.2.0): - resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} + /zustand-x@3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.1): + resolution: {integrity: sha512-tb4qMWbmgrWEdemb+LlrJiHI1ZMxwlQNz7jDHN5iA/vmU8xlpAX80MQZ2FNLP2KejBFEnsA1RWRAO/0D5O0rPw==} + peerDependencies: + zustand: '>=4.3.9' + dependencies: + immer: 10.0.3 + lodash.mapvalues: 4.6.0 + react-tracked: 1.7.11(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) + zustand: 4.5.1(@types/react@18.2.58)(immer@9.0.12)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + - react-native + - scheduler + + /zustand@4.5.1(@types/react@18.2.58)(immer@9.0.12)(react@18.2.0): + resolution: {integrity: sha512-XlauQmH64xXSC1qGYNv00ODaQ3B+tNPoy22jv2diYiP4eoDKr9LA+Bh5Bc3gplTrFdb6JVI+N4kc1DZ/tbtfPg==} engines: {node: '>=12.7.0'} peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' react: '>=16.8' peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true react: optional: true dependencies: + '@types/react': 18.2.58 + immer: 9.0.12 react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} From 61ec7ff3ea587b8d043e5c0a12bf12a30e9bcdb3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:30:55 +0100 Subject: [PATCH 034/327] chore: release packages (alpha) (#809) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 +++- packages/app-bridge/CHANGELOG.md | 10 ++++++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 61adb2f71..1d0b3424d 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -19,8 +19,10 @@ "orange-jokes-listen", "pink-bugs-behave", "polite-eels-shake", + "pretty-items-marry", "stale-hairs-wash", "strong-tools-check", - "warm-hounds-refuse" + "warm-hounds-refuse", + "wild-bags-judge" ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f536860d8..6f2b74d62 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,15 @@ # @frontify/app-bridge +## 4.0.0-alpha.10 + +### Minor Changes + +- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme + +### Patch Changes + +- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests + ## 4.0.0-alpha.9 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 4b950a653..1504ddc50 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.9", + "version": "4.0.0-alpha.10", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From e14ef895606e72af066e614983b61ca8778c108d Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Thu, 14 Mar 2024 09:02:07 +0100 Subject: [PATCH 035/327] feat: merge main to dev for v11 (#830) * feat: merge main to dev for v11 * add changeset --- .changeset/smart-suns-type.md | 5 + package.json | 2 +- packages/app-bridge/CHANGELOG.md | 31 ++ packages/app-bridge/src/AppBridgeBlock.ts | 1 + .../app-bridge/src/react/useBlockSettings.ts | 37 +- .../src/tests/AppBridgeBlockStub.ts | 26 +- packages/cli/CHANGELOG.md | 20 ++ packages/cli/package.json | 2 +- packages/cli/src/utils/verifyManifest.ts | 24 ++ .../platform-app-css-modules/package.json | 2 +- .../templates/platform-app-css/package.json | 2 +- .../platform-app-tailwind/package.json | 2 +- .../cli/tests/utils/verifyManifest.spec.ts | 336 ++++++++++++++++++ .../guideline-blocks-settings/CHANGELOG.md | 34 ++ .../guideline-blocks-settings/package.json | 4 +- .../RichTextEditor/RichTextEditor.spec.ct.tsx | 17 + .../RichTextEditor/RichTextEditor.tsx | 133 ++++--- .../src/hooks/useIsInViewport.spec.ts | 95 +++++ .../src/hooks/useIsInViewport.ts | 34 ++ packages/platform-app/CHANGELOG.md | 14 + packages/platform-app/package.json | 2 +- packages/sidebar-settings/CHANGELOG.md | 12 + packages/sidebar-settings/package.json | 4 +- pnpm-lock.yaml | 16 +- 24 files changed, 760 insertions(+), 95 deletions(-) create mode 100644 .changeset/smart-suns-type.md create mode 100644 packages/guideline-blocks-settings/src/hooks/useIsInViewport.spec.ts create mode 100644 packages/guideline-blocks-settings/src/hooks/useIsInViewport.ts diff --git a/.changeset/smart-suns-type.md b/.changeset/smart-suns-type.md new file mode 100644 index 000000000..60097a512 --- /dev/null +++ b/.changeset/smart-suns-type.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": minor +--- + +feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type diff --git a/package.json b/package.json index 74e239d2e..aeb62713e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", "@cypress/vite-dev-server": "^5.0.7", - "@frontify/fondue": "12.0.0-beta.411", + "@frontify/fondue": "12.0.0-beta.415", "@vitejs/plugin-react": "^4.2.1", "cypress": "^13.6.4", "cypress-real-events": "^1.12.0", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 6f2b74d62..be43126a9 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -15,6 +15,37 @@ ### Patch Changes - Merge main into dev +## 3.5.2 + +### Patch Changes + +- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type + +## 3.5.1 + +### Patch Changes + +- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. + + ```jsx + const Component = () => { + const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); + + useEffect(() => { + setBlockSettings({ ...blockSettings }); + }, [setBlockSettings]); + }; + ``` + +## 3.5.0 + +### Minor Changes + +- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme + +### Patch Changes + +- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 3.4.2 diff --git a/packages/app-bridge/src/AppBridgeBlock.ts b/packages/app-bridge/src/AppBridgeBlock.ts index 75d9cd658..a0042b660 100644 --- a/packages/app-bridge/src/AppBridgeBlock.ts +++ b/packages/app-bridge/src/AppBridgeBlock.ts @@ -68,6 +68,7 @@ export type BlockContext = { portalId: number; blockId: number; sectionId?: number; + isAuthenticated: boolean; }; export type BlockEvent = EventNameValidator< diff --git a/packages/app-bridge/src/react/useBlockSettings.ts b/packages/app-bridge/src/react/useBlockSettings.ts index 68d412339..729efc34d 100644 --- a/packages/app-bridge/src/react/useBlockSettings.ts +++ b/packages/app-bridge/src/react/useBlockSettings.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useEffect, useState } from 'react'; +import { useCallback, useEffect, useRef, useState } from 'react'; import { mergeDeep } from '../utilities/object'; import type { AppBridgeBlock } from '../AppBridgeBlock'; @@ -14,13 +14,18 @@ export const useBlockSettings = >( appBridge: AppBridgeBlock, ): [T, (newSettings: Partial) => Promise] => { const blockId = appBridge.context('blockId').get(); - const [blockSettings, setBlockSettings] = useState(structuredClone(window.blockSettings[blockId]) as T); + + // Save blockSettings in a ref so updateBlockSettings can safely be used as a react dependency + const blockSettingsRef = useRef(structuredClone(window.blockSettings[blockId]) as T); + const [blockSettings, setBlockSettings] = useState(blockSettingsRef.current); // Add listener for block settings updates useEffect(() => { const updateBlockSettingsFromEvent = (event: BlockSettingsUpdateEvent) => { if (event.blockId === blockId) { - setBlockSettings({ ...event.blockSettings } as T); + const blockSettings = { ...event.blockSettings } as T; + setBlockSettings(blockSettings); + blockSettingsRef.current = blockSettings; } }; @@ -31,17 +36,21 @@ export const useBlockSettings = >( }; }, [blockId]); - const updateBlockSettings = async (blockSettingsUpdate: Partial) => { - try { - await appBridge.updateBlockSettings(blockSettingsUpdate); - window.emitter.emit('AppBridge:BlockSettingsUpdated', { - blockId, - blockSettings: mergeDeep(blockSettings, blockSettingsUpdate), - }); - } catch (error) { - console.error(error); - } - }; + const updateBlockSettings = useCallback( + async (blockSettingsUpdate: Partial) => { + try { + await appBridge.updateBlockSettings(blockSettingsUpdate); + window.emitter.emit('AppBridge:BlockSettingsUpdated', { + blockId, + blockSettings: mergeDeep(blockSettingsRef.current, blockSettingsUpdate), + }); + } catch (error) { + console.error(error); + } + }, + // Stable reference to appBridge and blockId. These are not expected to change. + [appBridge, blockId], + ); return [blockSettings, updateBlockSettings]; }; diff --git a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts index 1fa491163..db6a70c8c 100644 --- a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts @@ -2,7 +2,7 @@ import mitt, { Emitter } from 'mitt'; import { SinonStubbedInstance, spy, stub } from 'sinon'; -import { type AppBridgeBlock, type BlockContext, type BlockState } from '../AppBridgeBlock'; +import { type AppBridgeBlock, type BlockEvent } from '../AppBridgeBlock'; import { type Template, type TemplateLegacy, type User } from '../types'; import { EmitterEvents } from '../types/Emitter'; import type { Asset } from '../types/Asset'; @@ -14,6 +14,7 @@ import { BulkDownloadDummy } from './BulkDownloadDummy'; import { PrivacySettings } from '../types/PrivacySettings'; import { TemplateDummy } from './TemplateDummy'; import { TemplateLegacyDummy } from './TemplateLegacyDummy'; +import { type EventCallbackParameter } from '../AppBridge'; const BLOCK_ID = 3452; const SECTION_ID = 2341; @@ -27,6 +28,7 @@ export type getAppBridgeBlockStubProps = { blockId?: number; sectionId?: number; projectId?: number; + isAuthenticated?: boolean; user?: User; language?: string; privacySettings?: PrivacySettings; @@ -34,14 +36,6 @@ export type getAppBridgeBlockStubProps = { unsubscribe?: () => void; }; -type subscribeCallbackArguments = Record & { - assets: Asset[]; - template: TemplateLegacy; -} & BlockState & - number & - [number | undefined, number | undefined] & - BlockContext; - export const getAppBridgeBlockStub = ({ blockSettings = {}, blockAssets = {}, @@ -49,6 +43,7 @@ export const getAppBridgeBlockStub = ({ blockId = BLOCK_ID, sectionId = SECTION_ID, projectId = PROJECT_ID, + isAuthenticated = true, user = UserDummy.with(USER_ID), language = 'en', privacySettings = { @@ -184,7 +179,7 @@ export const getAppBridgeBlockStub = ({ context: stub>().callsFake((args) => { if (args === undefined) { return { - get: () => [blockId, sectionId], + get: () => [blockId, sectionId, isAuthenticated], }; } else { switch (args) { @@ -196,6 +191,11 @@ export const getAppBridgeBlockStub = ({ return { get: () => sectionId, }; + + case 'isAuthenticated': + return { + get: () => isAuthenticated, + }; default: return { get: () => { @@ -208,9 +208,11 @@ export const getAppBridgeBlockStub = ({ subscribe: stub>().callsFake((eventName, callback) => { if (eventName === 'assetsChosen') { - callback({ assets: [AssetDummy.with(123)] } as subscribeCallbackArguments); + (callback as EventCallbackParameter<'assetsChosen', BlockEvent>)({ assets: [AssetDummy.with(123)] }); } else if (eventName === 'templateChosen') { - callback({ template: TemplateLegacyDummy.with(234) } as subscribeCallbackArguments); + (callback as EventCallbackParameter<'templateChosen', BlockEvent>)({ + template: TemplateLegacyDummy.with(234), + }); } return unsubscribe; }), diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 79972c18b..940cafa96 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,25 @@ # @frontify/frontify-cli +## 5.6.11 + +### Patch Changes + +- [#827](https://github.com/Frontify/brand-sdk/pull/827) [`f3a7dc2`](https://github.com/Frontify/brand-sdk/commit/f3a7dc24090fec27ee2d5a780131bc1a2feb2d24) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds validator for the proxyNetworkCall + +## 5.6.10 + +### Patch Changes + +- [#812](https://github.com/Frontify/brand-sdk/pull/812) [`67b5ca1`](https://github.com/Frontify/brand-sdk/commit/67b5ca134b86ccddd0d2ab8a36b5b08261a4d9b3) Thanks [@julianiff](https://github.com/julianiff)! - feat: add manifest secret key validator + +- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 + +## 5.6.9 + +### Patch Changes + +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 + ## 5.6.8 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 612d20130..60c0d55a0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "author": "Frontify Developers ", - "version": "5.6.8", + "version": "5.6.11", "bin": { "frontify-cli": "dist/index.mjs" }, diff --git a/packages/cli/src/utils/verifyManifest.ts b/packages/cli/src/utils/verifyManifest.ts index fb1e34711..c13ae34d6 100644 --- a/packages/cli/src/utils/verifyManifest.ts +++ b/packages/cli/src/utils/verifyManifest.ts @@ -17,9 +17,33 @@ const iconLibraryFilenameExtension = z.enum(['svg']); const logoLibraryFilenameExtension = z.enum(['svg', 'jpg', 'jpeg', 'ai', 'eps', 'png', 'tif', 'tiff']); const appType = z.enum(['content-block', 'platform-app', 'theme']); + +const secretSchema = object({ + label: string(), + key: string().refine((value) => /^[\w-]+$/.test(value), { + message: "The key should only contain letters from a-z, A-Z, numbers from 0-9, '-' and '_' without any spaces", + }), +}); +const secretsArraySchema = array(secretSchema); + +const proxyOptionsSchema = object({ + method: z.enum(['GET', 'POST', 'PUT', 'DELETE']), + headers: z.record(string()), + body: z.any(), +}); + +const proxyNetworkCallSchema = object({ + id: string(), + resource: string().url(), + options: proxyOptionsSchema, +}); +const proxyNetworkCallArraySchema = array(proxyNetworkCallSchema); + export const platformAppManifestSchemaV1 = object({ appId: string().length(25), appType, + secrets: secretsArraySchema.optional(), + proxyNetworkCall: proxyNetworkCallArraySchema.optional(), surfaces: object({ mediaLibrary: object({ assetAction: object({ diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index c819ddf62..de9f74ab8 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.6", - "@frontify/fondue": "12.0.0-beta.411", + "@frontify/fondue": "12.0.0-beta.415", "@frontify/fondue-tokens": "^3.4.0", "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index 3ef778711..4d2adae8f 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.6", - "@frontify/fondue": "12.0.0-beta.411", + "@frontify/fondue": "12.0.0-beta.415", "@frontify/fondue-tokens": "^3.4.0", "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index 1c8e0609b..4234d756c 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.6", - "@frontify/fondue": "12.0.0-beta.411", + "@frontify/fondue": "12.0.0-beta.415", "@frontify/fondue-tokens": "^3.4.0", "@frontify/platform-app": "^0.0.5", "react": "^18.2.0", diff --git a/packages/cli/tests/utils/verifyManifest.spec.ts b/packages/cli/tests/utils/verifyManifest.spec.ts index 8ab2562e5..b05eb6abe 100644 --- a/packages/cli/tests/utils/verifyManifest.spec.ts +++ b/packages/cli/tests/utils/verifyManifest.spec.ts @@ -144,6 +144,262 @@ const MANIFEST_WITH_TOO_LONG_TITLE_ASSET_CREATION = { }, }; +const VALID_MANIFEST_WITH_SECRETS = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + secrets: [{ label: 'first label', key: 'first-key' }], + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const VALID_MANIFEST_WITH_EMPTY_SECRETS = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + secrets: [], + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const VALID_MANIFEST_WITH_NO_SECRETS = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const MANIFEST_WITH_WRONG_KEY_FORMAT = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + secrets: [{ label: 'first label', key: 'first key %' }], + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const MANIFEST_WITH_SECRET_BUT_NO_KEY = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + secrets: [{ label: 'first label' }], + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const MANIFEST_WITH_SECRET_BUT_NO_LABEL = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + secrets: [{ key: 'first-key' }], + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + +const generateManifestWithProxyNetworkCall = (proxyNetworkCall) => { + return { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + proxyNetworkCall, + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, + }; +}; + +const MANIFEST_WITH_PROXY = generateManifestWithProxyNetworkCall([ + { + id: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, + { + id: 'example-user-api', + resource: 'https://api.example.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_NOT_ARRAY_PROXY = generateManifestWithProxyNetworkCall({ + id: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, +}); + +const MANIFEST_WITH_PROXY_NO_ID = generateManifestWithProxyNetworkCall([ + { + resource: 'https://api.frontify.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_PROXY_NO_RESOURCE = generateManifestWithProxyNetworkCall([ + { + id: 'frontify-user-api', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_PROXY_INCORRECT_RESOURCE = generateManifestWithProxyNetworkCall([ + { + id: 'frontify-user-api', + resource: 'something-random', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_PROXY_NO_OPTIONS = generateManifestWithProxyNetworkCall([ + { + id: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + }, +]); + +const MANIFEST_WITH_PROXY_NO_METHOD = generateManifestWithProxyNetworkCall([ + { + id: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_PROXY_NO_HEADERS = generateManifestWithProxyNetworkCall([ + { + id: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + method: 'POST', + body: 'example body data', + }, + }, +]); + describe('Verify Platform App Manifest', () => { it('should validate a valid manifest', async () => { const verifiedManifest = await verifyManifest(VALID_MANIFEST, platformAppManifestSchemaV1); @@ -191,4 +447,84 @@ describe('Verify Platform App Manifest', () => { async () => await verifyManifest(MANIFEST_WITH_TOO_LONG_TITLE_ASSET_CREATION, platformAppManifestSchemaV1), ).rejects.toThrow(); }); + + it('should accept a secret array with label and key', async () => { + const verifiedManifest = await verifyManifest(VALID_MANIFEST_WITH_SECRETS, platformAppManifestSchemaV1); + expect(!!verifiedManifest).toBe(true); + }); + + it('should accept an empty secrets array', async () => { + const verifiedManifest = await verifyManifest(VALID_MANIFEST_WITH_EMPTY_SECRETS, platformAppManifestSchemaV1); + expect(!!verifiedManifest).toBe(true); + }); + + it('should validate when no secret property is present', async () => { + const verifiedManifest = await verifyManifest(VALID_MANIFEST_WITH_NO_SECRETS, platformAppManifestSchemaV1); + expect(!!verifiedManifest).toBe(true); + }); + + it('should throw when secret object is not correct without key', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_SECRET_BUT_NO_KEY, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw when secret object is not correct without label', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_SECRET_BUT_NO_LABEL, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when key formatting is invalid', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_WRONG_KEY_FORMAT, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should accept an array of ProxyCallNetwork objects', async () => { + const verifiedManifest = await verifyManifest(MANIFEST_WITH_PROXY, platformAppManifestSchemaV1); + expect(!!verifiedManifest).toBe(true); + }); + + it('should throw error when proxyCallNetwork is not an array', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_NOT_ARRAY_PROXY, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when proxyCallNetwork object is not correct without id', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_PROXY_NO_ID, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when proxyCallNetwork object is not correct without resource', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_PROXY_NO_RESOURCE, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw an error when resource is incorrect', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_PROXY_INCORRECT_RESOURCE, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when proxyCallNetwork object is not correct without options', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_PROXY_NO_OPTIONS, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when proxyCallNetwork object is not correct without method', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_PROXY_NO_METHOD, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); + + it('should throw error when proxyCallNetwork object is not correct without headers', async () => { + await expect( + async () => await verifyManifest(MANIFEST_WITH_PROXY_NO_HEADERS, platformAppManifestSchemaV1), + ).rejects.toThrow(); + }); }); diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index fce61c406..cd66c8665 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,39 @@ # @frontify/guideline-blocks-settings +## 0.34.6 + +### Patch Changes + +- [#822](https://github.com/Frontify/brand-sdk/pull/822) [`b8ca543`](https://github.com/Frontify/brand-sdk/commit/b8ca54328becb5a084833bbdfdb3a7a2c9ea3d09) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(RichTextEditor): always reset page leave when text changes. This fixes an issue introduced in v0.34.5. + +- [#823](https://github.com/Frontify/brand-sdk/pull/823) [`a7a39ba`](https://github.com/Frontify/brand-sdk/commit/a7a39ba8d6de66bc56da497d043d73b860aa77b6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(RichTextEditor): Reset `hasEnteredViewport` state every time view mode is entered + +## 0.34.5 + +### Patch Changes + +- [#817](https://github.com/Frontify/brand-sdk/pull/817) [`7307201`](https://github.com/Frontify/brand-sdk/commit/7307201f42889938c2a68664abebbc1da21ae9e4) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(RichTextEditor): using the new `useIsInViewport` hook the RichTextEditor will now only be initialized once the component enters the viewport. + +## 0.34.4 + +### Patch Changes + +- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 + +- Updated dependencies [[`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f)]: + - @frontify/sidebar-settings@0.9.11 + +## 0.34.3 + +### Patch Changes + +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(RichTextEditor): replace outer-most modal element with `FloatingModalWrapper`. + +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 + +- Updated dependencies [[`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1)]: + - @frontify/sidebar-settings@0.9.10 + ## 0.34.2 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index c44daae6f..69005f808 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "0.34.2", + "version": "0.34.6", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { @@ -47,7 +47,7 @@ "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", - "@frontify/fondue": "12.0.0-beta.411", + "@frontify/fondue": "12.0.0-beta.415", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.14.0", "@react-stately/overlays": "^3.6.1" diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx index b71e4443f..2d7c2ebde 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx @@ -29,6 +29,23 @@ describe('RichTextEditor', () => { cy.get(RichTextSelector).should('exist'); }); + it('should only render a rich text editor when inside viewport and editing', () => { + cy.viewport(500, 500); + + mount( +
+ +
, + ); + cy.get(RteHtmlSelector).should('exist'); + cy.get(RichTextSelector).should('not.exist'); + cy.document().then((document) => { + document.querySelector(RteHtmlSelector)?.scrollIntoView(); + }); + cy.get(RteHtmlSelector).should('not.exist'); + cy.get(RichTextSelector).should('exist'); + }); + it('should render a rich text html in view mode', () => { mount(); cy.get(RteHtmlSelector).should('exist'); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx index d65eaeb08..8d146d5b1 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx @@ -1,69 +1,100 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useCallback, useEffect, useState } from 'react'; +import { memo, useCallback, useEffect, useRef, useState } from 'react'; import { RichTextEditor as FondueRichTextEditor } from '@frontify/fondue'; import { RichTextEditorProps } from './types'; import { SerializedText } from './SerializedText'; import { floatingButtonActions, floatingButtonSelectors } from './plugins/ButtonPlugin/components'; +import { useIsInViewport } from '../../hooks/useIsInViewport'; -export const RichTextEditor = ({ - id = 'rte', - isEditing, - value, - columns, - gap, - placeholder, - plugins, - onTextChange, - showSerializedText, -}: RichTextEditorProps) => { - const [shouldPreventPageLeave, setShouldPreventPageLeave] = useState(false); - - const handleTextChange = useCallback( - (newContent: string) => { - if (onTextChange && newContent !== value) { - onTextChange(newContent); +const InternalRichTextEditor = memo( + ({ + id = 'rte', + isEnabled, + value, + columns, + gap, + placeholder, + plugins, + onTextChange, + showSerializedText, + }: Omit & { isEnabled: boolean }) => { + const [shouldPreventPageLeave, setShouldPreventPageLeave] = useState(false); + + const handleTextChange = useCallback( + (newContent: string) => { + if (newContent !== value) { + onTextChange?.(newContent); + } + setShouldPreventPageLeave(false); + }, + [onTextChange, value], + ); + + const handleValueChange = useCallback(() => setShouldPreventPageLeave(true), []); + + const handleHideExternalFloatingModals = useCallback((editorId: string) => { + if (floatingButtonSelectors.isOpen(editorId)) { + floatingButtonActions.reset(); + } + }, []); + + useEffect(() => { + const unloadHandler = (event: BeforeUnloadEvent) => { + event.preventDefault(); + event.returnValue = 'Unprocessed changes'; + }; + + if (shouldPreventPageLeave) { + window.addEventListener('beforeunload', unloadHandler); } - setShouldPreventPageLeave(false); - }, - [onTextChange, value], - ); - const handleValueChange = useCallback(() => setShouldPreventPageLeave(true), []); + return () => window.removeEventListener('beforeunload', unloadHandler); + }, [shouldPreventPageLeave]); - const handleHideExternalFloatingModals = useCallback((editorId: string) => { - if (floatingButtonSelectors.isOpen(editorId)) { - floatingButtonActions.reset(); + if (isEnabled) { + return ( + + ); + } + return ; + }, +); +InternalRichTextEditor.displayName = 'InternalRichTextEditor'; + +export const RichTextEditor = (props: RichTextEditorProps) => { + const ref = useRef(null); + const [hasEnteredViewport, setHasEnteredViewport] = useState(false); + + const { isEditing, ...internalRteProps } = props; + + const onViewportVisibilityChange = useCallback((isInViewport: boolean) => { + if (isInViewport) { + setHasEnteredViewport(true); } }, []); - useEffect(() => { - const unloadHandler = (event: BeforeUnloadEvent) => { - event.preventDefault(); - return (event.returnValue = 'Unprocessed changes'); - }; + useIsInViewport({ ref, disabled: !isEditing, onChange: onViewportVisibilityChange }); - if (shouldPreventPageLeave) { - window.addEventListener('beforeunload', unloadHandler); + useEffect(() => { + if (!isEditing) { + setHasEnteredViewport(false); } + }, [isEditing]); - return () => window.removeEventListener('beforeunload', unloadHandler); - }, [shouldPreventPageLeave]); - - if (isEditing) { - return ( - - ); - } - return ; + return ( +
+ +
+ ); }; diff --git a/packages/guideline-blocks-settings/src/hooks/useIsInViewport.spec.ts b/packages/guideline-blocks-settings/src/hooks/useIsInViewport.spec.ts new file mode 100644 index 000000000..fbbe37b93 --- /dev/null +++ b/packages/guideline-blocks-settings/src/hooks/useIsInViewport.spec.ts @@ -0,0 +1,95 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'; +import { useIsInViewport } from './useIsInViewport'; + +describe('useIsInViewport', () => { + const stubs = vi.hoisted(() => ({ + IntersectionObserver: vi.fn(), + observe: vi.fn(), + disconnect: vi.fn(), + })); + + beforeAll(() => { + vi.stubGlobal( + 'IntersectionObserver', + class IntersectionObserver { + constructor(callback: IntersectionObserverCallback) { + stubs.IntersectionObserver(callback); + } + observe() { + stubs.observe(); + } + disconnect() { + stubs.disconnect(); + } + }, + ); + }); + + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should setup an IntersectionObserver and observe the ref', () => { + const { rerender } = renderHook(() => + useIsInViewport({ disabled: false, onChange: vi.fn(), ref: { current: document.createElement('div') } }), + ); + + expect(stubs.IntersectionObserver).toHaveBeenCalledOnce(); + expect(stubs.observe).toHaveBeenCalledOnce(); + + rerender(); + expect(stubs.disconnect).toHaveBeenCalledOnce(); + }); + + it('should not setup an IntersectionObserver if disabled', () => { + renderHook(() => + useIsInViewport({ disabled: true, onChange: vi.fn(), ref: { current: document.createElement('div') } }), + ); + + expect(stubs.IntersectionObserver).not.toHaveBeenCalled(); + expect(stubs.observe).not.toHaveBeenCalled(); + }); + + it('should not setup an IntersectionObserver if ref.current is null', () => { + renderHook(() => useIsInViewport({ disabled: false, onChange: vi.fn(), ref: { current: null } })); + + expect(stubs.IntersectionObserver).not.toHaveBeenCalled(); + expect(stubs.observe).not.toHaveBeenCalled(); + }); + + it('should call onChange only when isIntersecting changes', () => { + const onChangeStub = vi.fn(); + renderHook(() => + useIsInViewport({ + disabled: false, + onChange: onChangeStub, + ref: { current: document.createElement('div') }, + }), + ); + + expect(stubs.IntersectionObserver).toHaveBeenCalledOnce(); + + const callback = stubs.IntersectionObserver.mock.calls[0][0]; + callback([{ isIntersecting: true }]); + + expect(onChangeStub).toHaveBeenCalledOnce(); + expect(onChangeStub).toHaveBeenCalledWith(true); + + callback([{ isIntersecting: true }]); + + expect(onChangeStub).toHaveBeenCalledOnce(); + + callback([{ isIntersecting: false }]); + + expect(onChangeStub).toHaveBeenCalledTimes(2); + expect(onChangeStub).toHaveBeenCalledWith(false); + + callback([{ isIntersecting: false }]); + + expect(onChangeStub).toHaveBeenCalledTimes(2); + expect(onChangeStub).toHaveBeenCalledWith(false); + }); +}); diff --git a/packages/guideline-blocks-settings/src/hooks/useIsInViewport.ts b/packages/guideline-blocks-settings/src/hooks/useIsInViewport.ts new file mode 100644 index 000000000..f969d7a3e --- /dev/null +++ b/packages/guideline-blocks-settings/src/hooks/useIsInViewport.ts @@ -0,0 +1,34 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { RefObject, useEffect } from 'react'; + +export const useIsInViewport = ({ + ref, + disabled, + onChange, +}: { + ref: RefObject; + disabled: boolean; + onChange: (isInViewport: boolean) => void; +}) => { + useEffect(() => { + if (disabled || !ref.current) { + return; + } + + let isInViewport = false; + + const intersectionObserver = new IntersectionObserver(([entry]) => { + if (entry.isIntersecting !== isInViewport) { + isInViewport = entry.isIntersecting; + onChange(entry.isIntersecting); + } + }); + + intersectionObserver.observe(ref.current); + + return () => { + intersectionObserver.disconnect(); + }; + }, [ref, disabled, onChange]); +}; diff --git a/packages/platform-app/CHANGELOG.md b/packages/platform-app/CHANGELOG.md index eac6d50b9..bea1c97cd 100644 --- a/packages/platform-app/CHANGELOG.md +++ b/packages/platform-app/CHANGELOG.md @@ -1,5 +1,19 @@ # @frontify/platform-app +## 0.0.15 + +### Patch Changes + +- Updated dependencies [[`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f)]: + - @frontify/sidebar-settings@0.9.11 + +## 0.0.14 + +### Patch Changes + +- Updated dependencies [[`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1)]: + - @frontify/sidebar-settings@0.9.10 + ## 0.0.13 ### Patch Changes diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json index a0e0e62a5..677083527 100644 --- a/packages/platform-app/package.json +++ b/packages/platform-app/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/platform-app", "type": "module", - "version": "0.0.13", + "version": "0.0.15", "description": "Provides the types for the Apps", "author": "Frontify Developers ", "repository": { diff --git a/packages/sidebar-settings/CHANGELOG.md b/packages/sidebar-settings/CHANGELOG.md index 18e0e272e..a06cc339d 100644 --- a/packages/sidebar-settings/CHANGELOG.md +++ b/packages/sidebar-settings/CHANGELOG.md @@ -1,5 +1,17 @@ # @frontify/sidebar-settings +## 0.9.11 + +### Patch Changes + +- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 + +## 0.9.10 + +### Patch Changes + +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 + ## 0.9.9 ### Patch Changes diff --git a/packages/sidebar-settings/package.json b/packages/sidebar-settings/package.json index 660c1a828..523c4f6c3 100644 --- a/packages/sidebar-settings/package.json +++ b/packages/sidebar-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/sidebar-settings", "type": "module", - "version": "0.9.9", + "version": "0.9.11", "description": "Provides types and helpers for the settings sidebar", "author": "Frontify Developers ", "repository": { @@ -33,7 +33,7 @@ "react-dom": "^18" }, "dependencies": { - "@frontify/fondue": "12.0.0-beta.411" + "@frontify/fondue": "12.0.0-beta.415" }, "devDependencies": { "@babel/core": "^7.23.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4cc175c7..686f16699 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,8 +23,8 @@ importers: specifier: ^5.0.7 version: 5.0.7 '@frontify/fondue': - specifier: 12.0.0-beta.411 - version: 12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) + specifier: 12.0.0-beta.415 + version: 12.0.0-beta.415(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@4.5.2) @@ -256,8 +256,8 @@ importers: specifier: ^3.0.0 || ^4.0.0-alpha.0 version: link:../app-bridge '@frontify/fondue': - specifier: 12.0.0-beta.411 - version: 12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) + specifier: 12.0.0-beta.415 + version: 12.0.0-beta.415(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -408,8 +408,8 @@ importers: packages/sidebar-settings: dependencies: '@frontify/fondue': - specifier: 12.0.0-beta.411 - version: 12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) + specifier: 12.0.0-beta.415 + version: 12.0.0-beta.415(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1) devDependencies: '@babel/core': specifier: ^7.23.9 @@ -1726,8 +1726,8 @@ packages: transitivePeerDependencies: - ts-node - /@frontify/fondue@12.0.0-beta.411(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1): - resolution: {integrity: sha512-DhYiqJ66jR+5DUE2r7bpb4B/f5Bekk4lihlqEVbre4NMh4x/Ilt1dJMU22akCWYu3TF3B9yaqngpwsLkKC1tIQ==} + /@frontify/fondue@12.0.0-beta.415(@types/node@18.19.18)(@types/react-dom@18.2.19)(@types/react@18.2.58)(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.1)(ts-node@10.9.2)(zustand@4.5.1): + resolution: {integrity: sha512-PCrScuVehc5/9AzPEacTd7IVOnX6E1eV/I/LaIDwwGVQH1x0Ca0OAUwHRVEtSqw2ZlYrcflPtR4wYfiO87EaFA==} engines: {node: '>=18'} peerDependencies: react: ^18 From 2e0b64121938ee920f5f99ec8d3acf4a21ba2f83 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 09:09:27 +0100 Subject: [PATCH 036/327] chore: release packages (alpha) (#831) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 7 +++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 1d0b3424d..fd9599406 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -20,6 +20,7 @@ "pink-bugs-behave", "polite-eels-shake", "pretty-items-marry", + "smart-suns-type", "stale-hairs-wash", "strong-tools-check", "warm-hounds-refuse", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index be43126a9..27dfb5406 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.11 + +### Minor Changes + +- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type + ## 4.0.0-alpha.10 ### Minor Changes @@ -15,6 +21,7 @@ ### Patch Changes - Merge main into dev + ## 3.5.2 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 1504ddc50..0bfcbbb4e 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.10", + "version": "4.0.0-alpha.11", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 18c91b184651f49c490d381054b3ec543f928551 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Mon, 18 Mar 2024 15:54:28 -0500 Subject: [PATCH 037/327] chore: add changeset --- .changeset/witty-rivers-smile.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/witty-rivers-smile.md diff --git a/.changeset/witty-rivers-smile.md b/.changeset/witty-rivers-smile.md new file mode 100644 index 000000000..834e4e6ef --- /dev/null +++ b/.changeset/witty-rivers-smile.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +Merge `main` into `dev` From 382c6374da51909d49ebd516daf080dc09ec3106 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 Mar 2024 08:52:56 +0100 Subject: [PATCH 038/327] chore: release packages (alpha) (#837) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 3 ++- packages/app-bridge/CHANGELOG.md | 7 +++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index fd9599406..33c93ac52 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -24,6 +24,7 @@ "stale-hairs-wash", "strong-tools-check", "warm-hounds-refuse", - "wild-bags-judge" + "wild-bags-judge", + "witty-rivers-smile" ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f2c577680..74c1e2a6b 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.12 + +### Patch Changes + +- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` + ## 4.0.0-alpha.11 ### Minor Changes @@ -21,6 +27,7 @@ ### Patch Changes - Merge main into dev + ## 3.5.3 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 0bfcbbb4e..03988e7b6 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.11", + "version": "4.0.0-alpha.12", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 21 Mar 2024 17:05:39 +0100 Subject: [PATCH 039/327] chore: add changeset --- .changeset/smooth-planets-pay.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/smooth-planets-pay.md diff --git a/.changeset/smooth-planets-pay.md b/.changeset/smooth-planets-pay.md new file mode 100644 index 000000000..1003ebd33 --- /dev/null +++ b/.changeset/smooth-planets-pay.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +Merge main into dev From 4d76b2db1ac137719d19be6673db1fe5f0e2b755 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 Mar 2024 17:23:04 +0100 Subject: [PATCH 040/327] chore: release packages (alpha) (#845) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 + packages/app-bridge/CHANGELOG.md | 114 +++++++++++++++++-------------- packages/app-bridge/package.json | 2 +- 3 files changed, 64 insertions(+), 54 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 33c93ac52..b12620507 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -11,6 +11,7 @@ "changesets": [ "cuddly-pets-hammer", "giant-shrimps-dream", + "honest-rockets-cheat", "kind-fishes-flash", "light-crews-report", "lovely-books-hear", @@ -21,6 +22,7 @@ "polite-eels-shake", "pretty-items-marry", "smart-suns-type", + "smooth-planets-pay", "stale-hairs-wash", "strong-tools-check", "warm-hounds-refuse", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 1236164c9..831de1a3b 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,232 +1,240 @@ # @frontify/app-bridge +## 4.0.0-alpha.13 + +### Patch Changes + +- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 + +- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev + ## 4.0.0-alpha.12 ### Patch Changes -- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` +- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` ## 4.0.0-alpha.11 ### Minor Changes -- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 4.0.0-alpha.10 ### Minor Changes -- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 4.0.0-alpha.9 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.5.4 ### Patch Changes -- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method +- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method ## 3.5.3 ### Patch Changes -- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well +- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well ## 3.5.2 ### Patch Changes -- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 3.5.1 ### Patch Changes -- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. +- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. - ```jsx - const Component = () => { - const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); + ```jsx + const Component = () => { + const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); - useEffect(() => { - setBlockSettings({ ...blockSettings }); - }, [setBlockSettings]); - }; - ``` + useEffect(() => { + setBlockSettings({ ...blockSettings }); + }, [setBlockSettings]); + }; + ``` ## 3.5.0 ### Minor Changes -- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 3.4.2 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages ## 4.0.0-alpha.8 ### Patch Changes -- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription +- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription -- Merge main into dev +- Merge main into dev ## 3.4.1 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM ## 3.4.0 ### Minor Changes -- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.7 ### Minor Changes -- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.6 ### Patch Changes -- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 -- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext - refactor: rename from type to surface +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface ## 4.0.0-alpha.5 ### Patch Changes -- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type -- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 3.3.2 ### Patch Changes -- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type ## 4.0.0-alpha.4 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.3.1 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 4.0.0-alpha.3 ### Patch Changes -- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision ## 4.0.0-alpha.2 ### Patch Changes -- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 4.0.0-alpha.1 ### Patch Changes -- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme ## 3.3.0 ### Minor Changes -- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 ### Minor Changes -- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context ## 4.0.0-alpha.0 ### Major Changes -- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock ## 3.1.0 ### Minor Changes -- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. - You will need to update the import paths in your tests: +- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. + You will need to update the import paths in your tests: - ```git - - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; - + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; - ``` + ```git + - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; + + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; + ``` ## 3.0.4 ### Patch Changes -- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json +- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json ## 3.0.3 ### Patch Changes -- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order +- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order ## 3.0.2 ### Patch Changes -- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions ## 3.0.1 ### Patch Changes -- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings ## 3.0.0 ### Major Changes -- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release +- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release ## 3.0.0-beta.32 ### Patch Changes -- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions +- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions ## 3.0.0-beta.31 ### Minor Changes -- Add Brandportal link +- Add Brandportal link diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 03988e7b6..5a6680103 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.12", + "version": "4.0.0-alpha.13", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From d88b50dd6e2235262dbae7250db053f9052228d1 Mon Sep 17 00:00:00 2001 From: Sam Creasey Date: Tue, 26 Mar 2024 19:32:20 +0700 Subject: [PATCH 041/327] feat: make useDocumentSections hook subscribe to event listeners (#841) * make theme sections dynamic * fix event * add document section hook tests * remove timestamp * make sure import is type * add extra tests * test event listener * add comments to the return type of usedocumentsection * remove duplicate test * update test spelling * split function into helper * add new changeset * update event property * update appBridgeBlockStub * convert emitter event to payloads and add switch statement * fix test * make naming of sections consistent * remove id prefix * add new prefix --------- Co-authored-by: Rafael Giezendanner --- .changeset/khaki-dryers-shout.md | 5 + .changeset/shaggy-mugs-speak.md | 7 + packages/app-bridge/src/helpers/index.ts | 1 + .../app-bridge/src/helpers/navigation.spec.ts | 19 + packages/app-bridge/src/helpers/navigation.ts | 6 + .../src/react/useDocumentSection.spec.ts | 334 ++++++++++++++++++ .../src/react/useDocumentSection.ts | 105 +++++- .../src/tests/AppBridgeBlockStub.ts | 12 +- .../src/tests/DocumentSectionApiDummy.ts | 6 + .../src/tests/DocumentSectionDummy.ts | 8 +- .../app-bridge/src/types/DocumentSection.ts | 22 +- packages/app-bridge/src/types/Emitter.ts | 18 + 12 files changed, 534 insertions(+), 9 deletions(-) create mode 100644 .changeset/khaki-dryers-shout.md create mode 100644 .changeset/shaggy-mugs-speak.md create mode 100644 packages/app-bridge/src/helpers/navigation.spec.ts create mode 100644 packages/app-bridge/src/helpers/navigation.ts create mode 100644 packages/app-bridge/src/react/useDocumentSection.spec.ts diff --git a/.changeset/khaki-dryers-shout.md b/.changeset/khaki-dryers-shout.md new file mode 100644 index 000000000..d6ace4e4f --- /dev/null +++ b/.changeset/khaki-dryers-shout.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": major +--- + +feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. diff --git a/.changeset/shaggy-mugs-speak.md b/.changeset/shaggy-mugs-speak.md new file mode 100644 index 000000000..0bef3f30f --- /dev/null +++ b/.changeset/shaggy-mugs-speak.md @@ -0,0 +1,7 @@ +--- +"@frontify/app-bridge": patch +--- + +- feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. + +- feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. diff --git a/packages/app-bridge/src/helpers/index.ts b/packages/app-bridge/src/helpers/index.ts index 86b4e4ed7..0e51a26f7 100644 --- a/packages/app-bridge/src/helpers/index.ts +++ b/packages/app-bridge/src/helpers/index.ts @@ -1,3 +1,4 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './link'; +export * from './navigation'; diff --git a/packages/app-bridge/src/helpers/navigation.spec.ts b/packages/app-bridge/src/helpers/navigation.spec.ts new file mode 100644 index 000000000..73e31f213 --- /dev/null +++ b/packages/app-bridge/src/helpers/navigation.spec.ts @@ -0,0 +1,19 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { filterDocumentSectionsWithUnreadableTitles } from './navigation'; +import { DocumentSectionDummy } from '../tests/DocumentSectionDummy'; +import { describe, expect, it } from 'vitest'; + +const documentSections = [ + DocumentSectionDummy.withFields({ id: 464, title: null }), + DocumentSectionDummy.withFields({ id: 356, title: 'New Title' }), + DocumentSectionDummy.withFields({ id: 37675, title: ' ' }), + DocumentSectionDummy.withFields({ id: 37675, title: '' }), +]; + +describe('filterDocumentSectionsWithUnreadableTitles', () => { + it("should filter out document sections that don't have a readable title", () => { + const sections = filterDocumentSectionsWithUnreadableTitles(documentSections); + expect(sections).toEqual([documentSections[1]]); + }); +}); diff --git a/packages/app-bridge/src/helpers/navigation.ts b/packages/app-bridge/src/helpers/navigation.ts new file mode 100644 index 000000000..9dbdd3781 --- /dev/null +++ b/packages/app-bridge/src/helpers/navigation.ts @@ -0,0 +1,6 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DocumentSection } from '../'; + +export const filterDocumentSectionsWithUnreadableTitles = (sections: DocumentSection[]) => + sections.filter((section) => !!section.title?.trim()); diff --git a/packages/app-bridge/src/react/useDocumentSection.spec.ts b/packages/app-bridge/src/react/useDocumentSection.spec.ts new file mode 100644 index 000000000..4e14dfaab --- /dev/null +++ b/packages/app-bridge/src/react/useDocumentSection.spec.ts @@ -0,0 +1,334 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook, waitFor } from '@testing-library/react'; +import mitt from 'mitt'; +import { Mock, beforeAll, describe, expect, it, vi } from 'vitest'; + +import { DocumentSectionDummy } from '../tests/DocumentSectionDummy'; +import { AppBridgeBlock, AppBridgeTheme } from '../'; + +import { useDocumentSection } from './useDocumentSection'; + +const DOCUMENT_PAGE_ID = 45; + +const documentSections = [ + DocumentSectionDummy.withFields({ id: 464, title: null }), + DocumentSectionDummy.withFields({ id: 356, title: 'New Title' }), + DocumentSectionDummy.withFields({ id: 376, title: ' ' }), + DocumentSectionDummy.withFields({ id: 174, title: '' }), +]; + +describe('useDocumentSection', () => { + const appBridge: AppBridgeBlock | AppBridgeTheme = {} as AppBridgeBlock | AppBridgeTheme; + + beforeAll(() => { + window.emitter = mitt(); + appBridge.getDocumentSectionsByDocumentPageId = vi.fn().mockResolvedValue(documentSections); + }); + + it('should return the document sections from appBridge', async () => { + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + }); + + it('should filter sections with null and unreadable titles from navigation items', async () => { + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.navigationItems).toEqual([documentSections[1]]); + }); + }); + + it('should add and remove event listener correctly', async () => { + vi.spyOn(window.emitter, 'on'); + vi.spyOn(window.emitter, 'off'); + + const { unmount } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + const handleSectionEvent = (window.emitter.on as Mock).mock.calls[0][1]; + + expect(window.emitter.on).toHaveBeenCalledWith('AppBridge:GuidelineDocumentSection:Action', handleSectionEvent); + + unmount(); + + expect(window.emitter.off).toHaveBeenCalledWith( + 'AppBridge:GuidelineDocumentSection:Action', + handleSectionEvent, + ); + }); + + describe('when a document section is added', () => { + it('should add the document section to the start of the documentSections if previousSectionId is null', async () => { + const NEW_SECTION = DocumentSectionDummy.with(535); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'add', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + documentSection: NEW_SECTION, + previousDocumentSectionId: null, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual([NEW_SECTION, ...documentSections]); + expect(result.current.navigationItems).toEqual([NEW_SECTION, documentSections[1]]); + }); + }); + + it('should add the document section after the section matching previousSectionId', async () => { + const NEW_SECTION = DocumentSectionDummy.with(535); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'add', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + documentSection: NEW_SECTION, + previousDocumentSectionId: documentSections[1].id, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual([ + documentSections[0], + documentSections[1], + NEW_SECTION, + documentSections[2], + documentSections[3], + ]); + expect(result.current.navigationItems).toEqual([documentSections[1], NEW_SECTION]); + }); + }); + + it('should not add the document section to the array if the documentPageId is incorrect', async () => { + const NEW_SECTION = DocumentSectionDummy.with(535); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'add', + payload: { + documentPageId: DOCUMENT_PAGE_ID + 1, + documentSection: NEW_SECTION, + previousDocumentSectionId: documentSections[1].id, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + expect(result.current.navigationItems).toEqual([documentSections[1]]); + }); + }); + + it('should add the document section to the end of the array if no section matches previousSectionId', async () => { + const NEW_SECTION = DocumentSectionDummy.with(535); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'add', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + documentSection: NEW_SECTION, + previousDocumentSectionId: 123, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual([...documentSections, NEW_SECTION]); + expect(result.current.navigationItems).toEqual([documentSections[1], NEW_SECTION]); + }); + }); + }); + + describe('when a document section is updated', () => { + it('should update the document section that matches sectionId', async () => { + const UPDATED_SECTION = DocumentSectionDummy.withFields({ + id: documentSections[1].id, + title: 'Updated Title', + slug: 'updated-slug', + }); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'update', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + id: UPDATED_SECTION.id, + title: UPDATED_SECTION.title, + slug: UPDATED_SECTION.slug, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual([ + documentSections[0], + UPDATED_SECTION, + documentSections[2], + documentSections[3], + ]); + expect(result.current.navigationItems).toEqual([UPDATED_SECTION]); + }); + }); + + it('should remove document section from navigation items if title becomes unreadable', async () => { + const UPDATED_SECTION = DocumentSectionDummy.withFields({ + id: documentSections[1].id, + title: ' ', + slug: 'updated-slug', + }); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'update', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + id: UPDATED_SECTION.id, + title: UPDATED_SECTION.title, + slug: UPDATED_SECTION.slug, + }, + }); + + await waitFor(() => { + expect(result.current.navigationItems).toEqual([]); + }); + }); + + it('should add document section to navigation items if title becomes truthy', async () => { + const UPDATED_SECTION = DocumentSectionDummy.withFields({ + id: documentSections[2].id, + title: 'Updated Title', + slug: 'updated-slug', + }); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'update', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + id: UPDATED_SECTION.id, + title: UPDATED_SECTION.title, + slug: UPDATED_SECTION.slug, + }, + }); + + await waitFor(() => { + expect(result.current.navigationItems).toEqual([documentSections[1], UPDATED_SECTION]); + }); + }); + + it('should not adjust array if documentPageId is incorrect', async () => { + const UPDATED_SECTION = DocumentSectionDummy.withFields({ + id: documentSections[2].id, + title: 'Updated Title', + slug: 'updated-slug', + }); + + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'update', + payload: { + documentPageId: DOCUMENT_PAGE_ID + 1, + id: UPDATED_SECTION.id, + title: UPDATED_SECTION.title, + slug: UPDATED_SECTION.slug, + }, + }); + + await waitFor(() => { + expect(result.current.navigationItems).toEqual([documentSections[1]]); + }); + }); + }); + + describe('when a document section is deleted', () => { + it('should remove the section that matches sectionId', async () => { + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'delete', + payload: { + documentPageId: DOCUMENT_PAGE_ID, + id: documentSections[1].id, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual([ + documentSections[0], + documentSections[2], + documentSections[3], + ]); + expect(result.current.navigationItems).toEqual([]); + }); + }); + + it('should not remove document section if documentPageId is incorrect', async () => { + const { result } = renderHook(() => useDocumentSection(appBridge, DOCUMENT_PAGE_ID)); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + }); + + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'delete', + payload: { + documentPageId: DOCUMENT_PAGE_ID + 1, + id: documentSections[1].id, + }, + }); + + await waitFor(() => { + expect(result.current.documentSections).toEqual(documentSections); + expect(result.current.navigationItems).toEqual([documentSections[1]]); + }); + }); + }); +}); diff --git a/packages/app-bridge/src/react/useDocumentSection.ts b/packages/app-bridge/src/react/useDocumentSection.ts index d3a04ed98..45981aafc 100644 --- a/packages/app-bridge/src/react/useDocumentSection.ts +++ b/packages/app-bridge/src/react/useDocumentSection.ts @@ -1,13 +1,65 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useEffect, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import type { AppBridgeBlock } from '../AppBridgeBlock'; import type { AppBridgeTheme } from '../AppBridgeTheme'; -import type { DocumentSection } from '../types'; +import type { DocumentSection, EmitterEvents } from '../types'; +import { filterDocumentSectionsWithUnreadableTitles } from '../helpers'; -export const useDocumentSection = (appBridge: AppBridgeBlock | AppBridgeTheme, documentPageId: number) => { +const insertDocumentSectionIntoArray = ( + previousDocumentSections: DocumentSection[], + newDocumentSection: DocumentSection, + previousDocumentSectionId: Nullable, +) => { + if (previousDocumentSectionId === null) { + return [newDocumentSection, ...previousDocumentSections]; + } + const index = previousDocumentSections.findIndex((section) => section.id === previousDocumentSectionId); + if (index >= 0) { + return [ + ...previousDocumentSections.slice(0, index + 1), + newDocumentSection, + ...previousDocumentSections.slice(index + 1), + ]; + } + return [...previousDocumentSections, newDocumentSection]; +}; + +const updateDocumentSectionInArray = ( + previousDocumentSections: DocumentSection[], + documentSectionIdToUpdate: number, + title: Nullable, + slug: string, +) => + previousDocumentSections.map((documentSection) => + documentSection.id === documentSectionIdToUpdate ? { ...documentSection, title, slug } : documentSection, + ); + +const deleteDocumentSectionFromArray = (previousDocumentSections: DocumentSection[], IdToDelete: number) => + previousDocumentSections.filter((documentSection) => documentSection.id !== IdToDelete); + +type UseDocumentSectionReturn = { + /** + * The complete list of document sections that belong to the document page with the given documentPageId. + */ + documentSections: DocumentSection[]; + /** + * A filtered list of document sections which removes any sections that do not have a readable title. + * Use this array for creating a navigation menu for the document page. + */ + navigationItems: DocumentSection[]; +}; + +export const useDocumentSection = ( + appBridge: AppBridgeBlock | AppBridgeTheme, + documentPageId: number, +): UseDocumentSectionReturn => { const [documentSections, setDocumentSections] = useState([]); + const navigationItems = useMemo( + () => filterDocumentSectionsWithUnreadableTitles(documentSections), + [documentSections], + ); useEffect(() => { const fetchDocumentSection = async (documentPageId: number) => { @@ -17,5 +69,50 @@ export const useDocumentSection = (appBridge: AppBridgeBlock | AppBridgeTheme, d fetchDocumentSection(documentPageId); }, [appBridge, documentPageId]); - return { documentSections }; + useEffect(() => { + const handleDocumentSectionEvent = ({ + action, + payload, + }: EmitterEvents['AppBridge:GuidelineDocumentSection:Action']) => { + if (payload.documentPageId !== documentPageId) { + return; + } + switch (action) { + case 'add': + { + const { documentSection, previousDocumentSectionId } = payload; + setDocumentSections((previousSections) => + insertDocumentSectionIntoArray( + previousSections, + documentSection, + previousDocumentSectionId, + ), + ); + } + break; + case 'update': + { + const { id, title, slug } = payload; + setDocumentSections((previousSections) => + updateDocumentSectionInArray(previousSections, id, title, slug), + ); + } + break; + case 'delete': + { + const { id } = payload; + setDocumentSections((previousSections) => deleteDocumentSectionFromArray(previousSections, id)); + } + break; + } + }; + + window.emitter.on('AppBridge:GuidelineDocumentSection:Action', handleDocumentSectionEvent); + + return () => { + window.emitter.off('AppBridge:GuidelineDocumentSection:Action', handleDocumentSectionEvent); + }; + }, [documentPageId]); + + return { documentSections, navigationItems }; }; diff --git a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts index db6a70c8c..97b85d090 100644 --- a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts @@ -15,6 +15,7 @@ import { PrivacySettings } from '../types/PrivacySettings'; import { TemplateDummy } from './TemplateDummy'; import { TemplateLegacyDummy } from './TemplateLegacyDummy'; import { type EventCallbackParameter } from '../AppBridge'; +import { DocumentSectionApiDummy } from './DocumentSectionApiDummy'; const BLOCK_ID = 3452; const SECTION_ID = 2341; @@ -217,6 +218,15 @@ export const getAppBridgeBlockStub = ({ return unsubscribe; }), + getDocumentSectionsByDocumentPageId: stub< + Parameters + >().resolves([ + DocumentSectionApiDummy.withFields({ id: 1, title: null }), + DocumentSectionApiDummy.withFields({ id: 2, title: 'Title' }), + DocumentSectionApiDummy.withFields({ id: 3, title: ' ' }), + DocumentSectionApiDummy.withFields({ id: 4, title: '' }), + ]), + // TODO: Stub the following methods createColor: stub>().resolves(ColorDummy.red()), deleteColor: stub>().resolves(), @@ -233,8 +243,6 @@ export const getAppBridgeBlockStub = ({ stub>().resolves(), getUncategorizedDocumentPagesByDocumentId: stub>().resolves(), - getDocumentSectionsByDocumentPageId: - stub>().resolves(), getDocumentTargets: stub>().resolves(), getDocumentPageTargets: stub>().resolves(), state: stub>().resolves(), diff --git a/packages/app-bridge/src/tests/DocumentSectionApiDummy.ts b/packages/app-bridge/src/tests/DocumentSectionApiDummy.ts index b62cd5301..2b3d43bdf 100644 --- a/packages/app-bridge/src/tests/DocumentSectionApiDummy.ts +++ b/packages/app-bridge/src/tests/DocumentSectionApiDummy.ts @@ -21,4 +21,10 @@ export class DocumentSectionApiDummy { permanent_link: `/r/document-section-${id}`, }; } + static withFields({ id, ...otherFields }: Partial): DocumentSectionApi { + return { + ...DocumentSectionApiDummy.with(id ?? 1), + ...otherFields, + }; + } } diff --git a/packages/app-bridge/src/tests/DocumentSectionDummy.ts b/packages/app-bridge/src/tests/DocumentSectionDummy.ts index a21a2cea8..ade7555d0 100644 --- a/packages/app-bridge/src/tests/DocumentSectionDummy.ts +++ b/packages/app-bridge/src/tests/DocumentSectionDummy.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { DocumentSection } from '../types'; +import { type DocumentSection } from '../types'; export class DocumentSectionDummy { static with(id: number): DocumentSection { @@ -12,4 +12,10 @@ export class DocumentSectionDummy { permanentLink: `/r/document-section-${id}`, }; } + static withFields({ id, ...otherFields }: Partial): DocumentSection { + return { + ...DocumentSectionDummy.with(id ?? 1), + ...otherFields, + }; + } } diff --git a/packages/app-bridge/src/types/DocumentSection.ts b/packages/app-bridge/src/types/DocumentSection.ts index e9b4050c0..d65418c86 100644 --- a/packages/app-bridge/src/types/DocumentSection.ts +++ b/packages/app-bridge/src/types/DocumentSection.ts @@ -7,7 +7,7 @@ export type DocumentSectionApi = { revision: unknown; slug: string; sort: number; - title: string; + title: Nullable; creator: number; created: string; modifier: Nullable; @@ -19,8 +19,26 @@ export type DocumentSectionApi = { export type DocumentSection = { id: number; - title: string; + title: Nullable; slug: string; sort: number; permanentLink: string; }; + +export type AddDocumentSectionPayload = { + documentSection: DocumentSection; + previousDocumentSectionId: Nullable; + documentPageId: number; +}; + +export type UpdateDocumentSectionPayload = { + id: number; + title: Nullable; + slug: string; + documentPageId: number; +}; + +export type DeleteDocumentSectionPayload = { + id: number; + documentPageId: number; +}; diff --git a/packages/app-bridge/src/types/Emitter.ts b/packages/app-bridge/src/types/Emitter.ts index 20ddf3cc7..592498f49 100644 --- a/packages/app-bridge/src/types/Emitter.ts +++ b/packages/app-bridge/src/types/Emitter.ts @@ -14,6 +14,11 @@ import type { BrandportalLink } from './BrandportalLink'; import type { PrivacySettings } from './PrivacySettings'; import type { Template } from './Template'; import type { ThemeTemplate } from './ThemeTemplate'; +import type { + AddDocumentSectionPayload, + DeleteDocumentSectionPayload, + UpdateDocumentSectionPayload, +} from './DocumentSection'; export type EmitterAction = 'add' | 'update' | 'delete'; @@ -111,6 +116,19 @@ export type EmitterEvents = { documentPage: { id: number; documentId: number; categoryId?: Nullable }; action: 'delete'; }; + 'AppBridge:GuidelineDocumentSection:Action': + | { + action: 'add'; + payload: AddDocumentSectionPayload; + } + | { + action: 'update'; + payload: UpdateDocumentSectionPayload; + } + | { + action: 'delete'; + payload: DeleteDocumentSectionPayload; + }; 'AppBridge:GuidelineDocumentCategory:Action': | { From 8bcc70d5ec5665d80113924eb002b6c6fb3446e1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 19:45:39 +0700 Subject: [PATCH 042/327] chore: release packages (alpha) (#847) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 ++ packages/app-bridge/CHANGELOG.md | 12 ++++++++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index b12620507..93b345050 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -12,6 +12,7 @@ "cuddly-pets-hammer", "giant-shrimps-dream", "honest-rockets-cheat", + "khaki-dryers-shout", "kind-fishes-flash", "light-crews-report", "lovely-books-hear", @@ -21,6 +22,7 @@ "pink-bugs-behave", "polite-eels-shake", "pretty-items-marry", + "shaggy-mugs-speak", "smart-suns-type", "smooth-planets-pay", "stale-hairs-wash", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 831de1a3b..ec55f62be 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,17 @@ # @frontify/app-bridge +## 4.0.0-alpha.14 + +### Major Changes + +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. + +### Patch Changes + +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. + + - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. + ## 4.0.0-alpha.13 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 5a6680103..2ab869af4 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "author": "Frontify Developers ", - "version": "4.0.0-alpha.13", + "version": "4.0.0-alpha.14", "description": "Package to establish communication between Frontify and marketplace apps", "repository": { "type": "git", From 0f17eb82afdc30692e02d1cf150d622f38d0913a Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Tue, 16 Apr 2024 17:52:03 +0200 Subject: [PATCH 043/327] chore: add changeset --- .changeset/hip-days-applaud.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/hip-days-applaud.md diff --git a/.changeset/hip-days-applaud.md b/.changeset/hip-days-applaud.md new file mode 100644 index 000000000..72a2a5743 --- /dev/null +++ b/.changeset/hip-days-applaud.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: merge `main` into `dev` From 8326528e2bbf8cdfd42405e14a9a8bc8236f2e5d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 09:51:27 +0000 Subject: [PATCH 044/327] chore: release packages (alpha) (#866) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 +- packages/app-bridge/CHANGELOG.md | 130 ++++++++++++++++--------------- packages/app-bridge/package.json | 2 +- 3 files changed, 70 insertions(+), 64 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 93b345050..dfe20c428 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -11,7 +11,7 @@ "changesets": [ "cuddly-pets-hammer", "giant-shrimps-dream", - "honest-rockets-cheat", + "hip-days-applaud", "khaki-dryers-shout", "kind-fishes-flash", "light-crews-report", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f847a474b..287417851 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,272 +1,278 @@ # @frontify/app-bridge +## 4.0.0-alpha.15 + +### Patch Changes + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` + ## 3.5.8 ### Patch Changes -- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook +- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook ## 4.0.0-alpha.14 ### Major Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. ### Patch Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. - - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. + - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. ## 3.5.7 ### Patch Changes -- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook +- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook ## 3.5.6 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies ## 4.0.0-alpha.13 ### Patch Changes -- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 +- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 -- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 4.0.0-alpha.12 ### Patch Changes -- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` +- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` ## 4.0.0-alpha.11 ### Minor Changes -- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 4.0.0-alpha.10 ### Minor Changes -- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 4.0.0-alpha.9 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.5.4 ### Patch Changes -- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method +- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method ## 3.5.3 ### Patch Changes -- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well +- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well ## 3.5.2 ### Patch Changes -- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 3.5.1 ### Patch Changes -- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. +- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. - ```jsx - const Component = () => { - const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); + ```jsx + const Component = () => { + const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); - useEffect(() => { - setBlockSettings({ ...blockSettings }); - }, [setBlockSettings]); - }; - ``` + useEffect(() => { + setBlockSettings({ ...blockSettings }); + }, [setBlockSettings]); + }; + ``` ## 3.5.0 ### Minor Changes -- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 3.4.2 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages ## 4.0.0-alpha.8 ### Patch Changes -- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription +- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription -- Merge main into dev +- Merge main into dev ## 3.4.1 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM ## 3.4.0 ### Minor Changes -- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.7 ### Minor Changes -- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.6 ### Patch Changes -- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 -- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext - refactor: rename from type to surface +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface ## 4.0.0-alpha.5 ### Patch Changes -- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type -- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 3.3.2 ### Patch Changes -- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type ## 4.0.0-alpha.4 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.3.1 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 4.0.0-alpha.3 ### Patch Changes -- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision ## 4.0.0-alpha.2 ### Patch Changes -- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 4.0.0-alpha.1 ### Patch Changes -- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme ## 3.3.0 ### Minor Changes -- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 ### Minor Changes -- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context ## 4.0.0-alpha.0 ### Major Changes -- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock ## 3.1.0 ### Minor Changes -- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. - You will need to update the import paths in your tests: +- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. + You will need to update the import paths in your tests: - ```git - - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; - + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; - ``` + ```git + - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; + + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; + ``` ## 3.0.4 ### Patch Changes -- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json +- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json ## 3.0.3 ### Patch Changes -- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order +- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order ## 3.0.2 ### Patch Changes -- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions ## 3.0.1 ### Patch Changes -- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings ## 3.0.0 ### Major Changes -- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release +- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release ## 3.0.0-beta.32 ### Patch Changes -- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions +- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions ## 3.0.0-beta.31 ### Minor Changes -- Add Brandportal link +- Add Brandportal link diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index f41d761f1..6164915d5 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.14", + "version": "4.0.0-alpha.15", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 73e70365262c74837528592268d43d65eda712c2 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Thu, 18 Apr 2024 10:25:10 +0200 Subject: [PATCH 045/327] chore: merge main into dev (#876) * feat: add secret and endpoint restrictions (#862) * feat: add secret and endpoint restrictions * chore: rename from id to name * chore: rename * Create two-spies-swim.md * feat: adjust appBridge for settings * chore: ad more test cases * chore: update error message * feat: add `useDocumentNavigation` hook (#872) * Added useDocumentNavigation hoook * Added test * Import type only * Simplified code * Fix linting issue * Disable eslint warning * Simplified code * Use new private property syntax * Added missing types * Use const * Shit * feat: usePageTemplateSettings to return templateThemeSettings (#875) * feat: usePageTemplateSettings to return templateThemeSettings * changeset * fix: change getPortalNavigation payload type to void (#873) * chore: release packages (#874) Co-authored-by: github-actions[bot] --------- Co-authored-by: Julian Iff Co-authored-by: Oliver Schwendener Co-authored-by: Anxo Botana Co-authored-by: Jiri Matyas Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] --- packages/app-bridge/CHANGELOG.md | 6 + packages/app-bridge/src/react/index.ts | 1 + .../src/react/useDocumentNavigation.spec.ts | 114 ++++++++++++++ .../src/react/useDocumentNavigation.ts | 54 +++++++ .../src/react/usePageTemplateSettings.spec.ts | 1 + .../src/react/usePageTemplateSettings.ts | 1 + .../src/registries/api/ApiMethodRegistry.ts | 4 +- .../src/tests/DocumentNavigationTreeDummy.ts | 140 +++++++++++++++++ packages/app-bridge/src/tests/index.ts | 1 + packages/app-bridge/src/types/Guideline.ts | 6 +- packages/cli/CHANGELOG.md | 6 + packages/cli/package.json | 2 +- packages/cli/src/utils/verifyManifest.ts | 40 ++++- .../cli/tests/utils/verifyManifest.spec.ts | 147 ++++++++++++++++-- 14 files changed, 505 insertions(+), 18 deletions(-) create mode 100644 packages/app-bridge/src/react/useDocumentNavigation.spec.ts create mode 100644 packages/app-bridge/src/react/useDocumentNavigation.ts create mode 100644 packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 287417851..c9dc834dc 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 3.5.9 + +### Patch Changes + +- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings + ## 4.0.0-alpha.15 ### Patch Changes diff --git a/packages/app-bridge/src/react/index.ts b/packages/app-bridge/src/react/index.ts index fbf66a859..4d8e6d209 100644 --- a/packages/app-bridge/src/react/index.ts +++ b/packages/app-bridge/src/react/index.ts @@ -35,3 +35,4 @@ export * from './useThemeSettings'; export * from './useUncategorizedDocumentPages'; export * from './useUngroupedDocuments'; export * from './usePortalNavigation'; +export * from './useDocumentNavigation'; diff --git a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts new file mode 100644 index 000000000..1ddd16481 --- /dev/null +++ b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts @@ -0,0 +1,114 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook, waitFor } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; + +import { type DocumentPage, type DocumentSection, type GuidelineDocument, type DocumentCategory } from 'src/types'; + +import { getAppBridgeThemeStub, DocumentNavigationTreeDummy } from '../tests'; + +import { useDocumentNavigation } from './useDocumentNavigation'; + +vi.mock('lodash-es/debounce', () => { + return { + default: (callback: () => void) => callback(), + }; +}); + +describe('useDocumentNavigation', () => { + const testInitialRender = async ({ + expectRefetch, + options, + }: { + expectRefetch: boolean; + options?: { enabled: boolean }; + }) => { + const document = { id: () => 1138 }; + const appBridge = getAppBridgeThemeStub(); + const spy = vi.spyOn(appBridge, 'api').mockResolvedValueOnce(DocumentNavigationTreeDummy.default()); + + const { result } = renderHook(() => useDocumentNavigation(appBridge, document, options)); + + expect(result.current.isLoading).toBe(true); + + await waitFor(() => { + expect(result.current.isLoading).toBe(!expectRefetch); + expect(result.current.navigationItems).toEqual(expectRefetch ? DocumentNavigationTreeDummy.default() : []); + }); + + if (expectRefetch) { + expect(spy).toHaveBeenCalledOnce(); + expect(spy).toHaveBeenCalledWith({ name: 'getDocumentNavigation', payload: { document } }); + } + }; + + const testEventHandler = async (emitEvent: () => void) => { + const document = { id: () => 1138 }; + + const appBridge = getAppBridgeThemeStub(); + const spy = vi.spyOn(appBridge, 'api').mockResolvedValue(DocumentNavigationTreeDummy.default()); + + const { result } = renderHook(() => useDocumentNavigation(appBridge, document)); + + expect(result.current.isLoading).toBe(true); + + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(result.current.navigationItems).toEqual(DocumentNavigationTreeDummy.default()); + }); + + expect(spy).toHaveBeenCalledOnce(); + expect(spy).toHaveBeenCalledWith({ name: 'getDocumentNavigation', payload: { document } }); + + spy.mockResolvedValueOnce(DocumentNavigationTreeDummy.alternative()); + + emitEvent(); + + await waitFor(() => { + expect(result.current.isLoading).toBe(false); + expect(spy).toHaveBeenCalledTimes(2); + expect(result.current.navigationItems).toEqual(DocumentNavigationTreeDummy.alternative()); + }); + }; + + it('should not refetch on render when enabled is set to false', () => + testInitialRender({ expectRefetch: false, options: { enabled: false } })); + + it('should refetch on render when enabled is set to true', () => + testInitialRender({ expectRefetch: true, options: { enabled: true } })); + + it('should refetch on render when no options are given', () => + testInitialRender({ expectRefetch: true, options: undefined })); + + it('should refetch when the "AppBridge:GuidelineDocumentCategory:Action" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentCategory:Action', { + action: 'add', + documentCategory: {}, + }); + })); + + it('should refetch when the "AppBridge:GuidelineDocumentPage:Action" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { + action: 'add', + documentPage: {}, + }); + })); + + it('should refetch when the "AppBridge:GuidelineDocumentPageTargets:Action" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentPageTargets:Action', { + action: 'update', + payload: { targets: [], pageIds: [] }, + }); + })); + + it('should refetch when the "AppBridge:GuidelineDocumentSection:Action" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { + action: 'add', + payload: { documentPageId: 0, documentSection: {}, previousDocumentSectionId: 0 }, + }); + })); +}); diff --git a/packages/app-bridge/src/react/useDocumentNavigation.ts b/packages/app-bridge/src/react/useDocumentNavigation.ts new file mode 100644 index 000000000..4ef1844fe --- /dev/null +++ b/packages/app-bridge/src/react/useDocumentNavigation.ts @@ -0,0 +1,54 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import debounce from 'lodash-es/debounce'; +import { useCallback, useEffect, useState } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; +import { type GuidelineDocument, type DocumentNavigationItem } from '../types/Guideline'; + +type Options = { + /** + * Whether it should fetch on mount. + */ + enabled?: boolean; +}; + +export const useDocumentNavigation = ( + appBridge: AppBridgeTheme, + document: GuidelineDocument, + options: Options = { enabled: true }, +) => { + const [navigationItems, setNavigationItems] = useState([]); + const [isLoading, setIsLoading] = useState(true); + + const refetch = useCallback(async () => { + setIsLoading(true); + setNavigationItems(await appBridge.api({ name: 'getDocumentNavigation', payload: { document } })); + setIsLoading(false); + }, [appBridge, document]); + + useEffect(() => { + if (options.enabled) { + // eslint-disable-next-line @typescript-eslint/no-floating-promises + refetch(); + } + }, [options.enabled, refetch]); + + useEffect(() => { + const debouncedRefetch = () => debounce(refetch, 100); + + window.emitter.on('AppBridge:GuidelineDocumentCategory:Action', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentPage:Action', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentPageTargets:Action', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentSection:Action', debouncedRefetch); + + return () => { + window.emitter.off('AppBridge:GuidelineDocumentCategory:Action', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentPage:Action', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentPageTargets:Action', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentSection:Action', debouncedRefetch); + }; + }, [navigationItems, refetch]); + + return { navigationItems, refetch, isLoading }; +}; diff --git a/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts b/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts index fdf09327f..5c0c6a00f 100644 --- a/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts +++ b/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @@ -217,6 +217,7 @@ describe('usePageTemplateSettings', () => { ...PAGE_SETTINGS_WITH_OVERRIDES, }); expect(result.current.customizedPageTemplateSettingsKeys).toEqual(['customThemeSetting']); + expect(result.current.templateThemeSettings).toEqual(THEME_SETTINGS.documentPage); }); }); diff --git a/packages/app-bridge/src/react/usePageTemplateSettings.ts b/packages/app-bridge/src/react/usePageTemplateSettings.ts index 27e0ccb02..37f5ae6e7 100644 --- a/packages/app-bridge/src/react/usePageTemplateSettings.ts +++ b/packages/app-bridge/src/react/usePageTemplateSettings.ts @@ -110,6 +110,7 @@ export const usePageTemplateSettings = ; diff --git a/packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts b/packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts new file mode 100644 index 000000000..e976c928c --- /dev/null +++ b/packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts @@ -0,0 +1,140 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { + type DocumentNavigationItem, + type GuidelineDocumentPageHeading, + type GuidelineDocumentPage, + type GuidelineDocumentPageLink, + type GuidelinePageCategory, +} from '../types'; + +class DocumentPageCategoryDummy implements GuidelinePageCategory { + readonly type = 'page-category' as const; + + readonly #id: number; + readonly #children: (GuidelineDocumentPage | GuidelineDocumentPageLink)[]; + + constructor(id: number, children?: (GuidelineDocumentPage | GuidelineDocumentPageLink)[]) { + this.#id = id; + this.#children = children ?? []; + } + + id(): number { + return this.#id; + } + + title(): string { + return 'Dummy title'; + } + + slug(): string { + return 'dummy slug'; + } + + children(): (GuidelineDocumentPage | GuidelineDocumentPageLink)[] { + return this.#children; + } +} + +class DocumentPageDummy implements GuidelineDocumentPage { + readonly type = 'document-page' as const; + + readonly #id: number; + readonly #headings: GuidelineDocumentPageHeading[]; + + constructor(id: number, headings?: GuidelineDocumentPageHeading[]) { + this.#id = id ?? 1234; + this.#headings = headings ?? []; + } + + id(): number { + return this.#id; + } + + title(): string { + return 'Dummy title'; + } + + slug(): string { + return 'dummy slug'; + } + + url(): string { + return 'dummy url'; + } + + headings(): GuidelineDocumentPageHeading[] { + return this.#headings; + } +} + +class DocumentPageLinkDummy implements GuidelineDocumentPageLink { + readonly type = 'document-page-link' as const; + + readonly #id: number; + + constructor(id: number) { + this.#id = id; + } + + id(): number { + return this.#id; + } + + title(): string { + return 'Dummy title'; + } + + url(): string { + return 'dummy url'; + } +} + +class DocumentPageHeadingDummy implements GuidelineDocumentPageHeading { + readonly type = 'document-page-heading' as const; + + readonly #id; + + constructor(id: number) { + this.#id = id; + } + + id(): number { + return this.#id; + } + + title(): string { + return 'Dummy title'; + } + + slug(): string { + return 'dummy slug'; + } +} + +export class DocumentNavigationTreeDummy { + static default(): DocumentNavigationItem[] { + return [ + new DocumentPageCategoryDummy(1, [ + new DocumentPageDummy(1, [ + new DocumentPageHeadingDummy(1), + new DocumentPageHeadingDummy(2), + new DocumentPageHeadingDummy(3), + ]), + new DocumentPageLinkDummy(2), + ]), + new DocumentPageDummy(3), + ]; + } + + static alternative(): DocumentNavigationItem[] { + return [ + new DocumentPageCategoryDummy(1, [ + new DocumentPageDummy(1, [new DocumentPageHeadingDummy(2), new DocumentPageHeadingDummy(3)]), + new DocumentPageLinkDummy(2), + ]), + new DocumentPageDummy(2, [new DocumentPageHeadingDummy(1)]), + new DocumentPageLinkDummy(6), + ]; + } +} diff --git a/packages/app-bridge/src/tests/index.ts b/packages/app-bridge/src/tests/index.ts index 66540b8b7..d3a1233ac 100644 --- a/packages/app-bridge/src/tests/index.ts +++ b/packages/app-bridge/src/tests/index.ts @@ -39,3 +39,4 @@ export * from './UserDummy'; export * from './withAppBridgeBlockStubs'; export * from './withAppBridgeThemeStubs'; export * from './PortalNavigationTreeDummy'; +export * from './DocumentNavigationTreeDummy'; diff --git a/packages/app-bridge/src/types/Guideline.ts b/packages/app-bridge/src/types/Guideline.ts index 4de84b63f..26c09120f 100644 --- a/packages/app-bridge/src/types/Guideline.ts +++ b/packages/app-bridge/src/types/Guideline.ts @@ -86,4 +86,8 @@ export type PortalNavigationItem = | GuidelineDocumentLibrary | GuidelineDocumentLink; -export type DocumentNavigationItem = GuidelinePageCategory | GuidelineDocumentPage | GuidelineDocumentPageLink; +export type DocumentNavigationItem = + | GuidelinePageCategory + | GuidelineDocumentPage + | GuidelineDocumentPageLink + | GuidelineDocumentPageHeading; diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index c04a519c4..16e078d3e 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/frontify-cli +## 5.6.14 + +### Patch Changes + +- [#862](https://github.com/Frontify/brand-sdk/pull/862) [`d6f716d`](https://github.com/Frontify/brand-sdk/commit/d6f716d759841e9fa5f0cc08526f65fb210f557e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add secret and endpoint restrictions + ## 5.6.13 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 4ce2e2d17..1371e0f2a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "type": "module", - "version": "5.6.13", + "version": "5.6.14", "author": "Frontify Developers ", "repository": { "type": "git", diff --git a/packages/cli/src/utils/verifyManifest.ts b/packages/cli/src/utils/verifyManifest.ts index 9fc160f76..c7fe0cfd5 100644 --- a/packages/cli/src/utils/verifyManifest.ts +++ b/packages/cli/src/utils/verifyManifest.ts @@ -18,11 +18,27 @@ const logoLibraryFilenameExtension = z.enum(['svg', 'jpg', 'jpeg', 'ai', 'eps', const appType = z.enum(['content-block', 'platform-app', 'theme']); +const secretKeySet = new Set(); +export function resetSecretKeySet() { + secretKeySet.clear(); +} + const secretSchema = object({ label: string(), - key: string().refine((value) => /^[\w-]+$/.test(value), { - message: "The key should only contain letters from a-z, A-Z, numbers from 0-9, '-' and '_' without any spaces", - }), + key: string().refine( + (key) => { + if (secretKeySet.has(key)) { + return false; + } + + secretKeySet.add(key); + return /^[\w-]+$/.test(key); + }, + { + message: + "Secret Key must be unique and should only contain letters from a-z, A-Z, numbers from 0-9, '-' and '_' without any spaces", + }, + ), }); const secretsArraySchema = array(secretSchema); @@ -32,8 +48,24 @@ const requestOptionsSchema = object({ body: z.any().optional(), }); +const endpointNameSet = new Set(); +export function resetEndpointNameSet() { + endpointNameSet.clear(); +} const endpointCallSchema = object({ - id: string(), + name: string().refine( + (name) => { + if (endpointNameSet.has(name)) { + return false; + } + + endpointNameSet.add(name); + return /^[\w-]*$/.test(name); + }, + { + message: 'Endpoint name must be unique', + }, + ), resource: string().url(), options: requestOptionsSchema, }); diff --git a/packages/cli/tests/utils/verifyManifest.spec.ts b/packages/cli/tests/utils/verifyManifest.spec.ts index 9967770bd..e5ed3c059 100644 --- a/packages/cli/tests/utils/verifyManifest.spec.ts +++ b/packages/cli/tests/utils/verifyManifest.spec.ts @@ -1,8 +1,13 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { describe, expect, it } from 'vitest'; +import { beforeEach, describe, expect, it } from 'vitest'; -import { platformAppManifestSchemaV1, verifyManifest } from '../../src/utils/verifyManifest'; +import { + platformAppManifestSchemaV1, + resetEndpointNameSet, + resetSecretKeySet, + verifyManifest, +} from '../../src/utils/verifyManifest'; const VALID_MANIFEST = { appType: 'platform-app', @@ -297,7 +302,7 @@ const generateManifestWithEndpointNetworkCall = (networkEndpoints) => { const MANIFEST_WITH_NETWORK_CALL = generateManifestWithEndpointNetworkCall([ { - id: 'frontify-user-api', + name: 'frontify-user-api', resource: 'https://api.frontify.com/api/user', options: { method: 'POST', @@ -308,7 +313,32 @@ const MANIFEST_WITH_NETWORK_CALL = generateManifestWithEndpointNetworkCall([ }, }, { - id: 'example-user-api', + name: 'example-user-api', + resource: 'https://api.example.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_NETWORK_CALL_DUPLICATE_NAME = generateManifestWithEndpointNetworkCall([ + { + name: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, + { + name: 'frontify-user-api', resource: 'https://api.example.com/api/user', options: { method: 'POST', @@ -321,7 +351,7 @@ const MANIFEST_WITH_NETWORK_CALL = generateManifestWithEndpointNetworkCall([ ]); const MANIFEST_WITH_NOT_ARRAY_NETWORK_CALL = generateManifestWithEndpointNetworkCall({ - id: 'frontify-user-api', + name: 'frontify-user-api', resource: 'https://api.frontify.com/api/user', options: { method: 'POST', @@ -347,7 +377,7 @@ const MANIFEST_WITH_NETWORK_CALL_NO_ID = generateManifestWithEndpointNetworkCall const MANIFEST_WITH_NETWORK_CALL_NO_RESOURCE = generateManifestWithEndpointNetworkCall([ { - id: 'frontify-user-api', + name: 'frontify-user-api', options: { method: 'POST', headers: { @@ -360,7 +390,7 @@ const MANIFEST_WITH_NETWORK_CALL_NO_RESOURCE = generateManifestWithEndpointNetwo const MANIFEST_WITH_NETWORK_CALL_INCORRECT_RESOURCE = generateManifestWithEndpointNetworkCall([ { - id: 'frontify-user-api', + name: 'frontify-user-api', resource: 'something-random', options: { method: 'POST', @@ -374,7 +404,7 @@ const MANIFEST_WITH_NETWORK_CALL_INCORRECT_RESOURCE = generateManifestWithEndpoi const MANIFEST_WITH_NETWORK_CALL_NO_HEADERS_AND_BODY = generateManifestWithEndpointNetworkCall([ { - id: 'frontify-user-api', + name: 'frontify-user-api', resource: 'https://api.frontify.com/api/user', options: { method: 'GET', @@ -384,16 +414,39 @@ const MANIFEST_WITH_NETWORK_CALL_NO_HEADERS_AND_BODY = generateManifestWithEndpo const MANIFEST_WITH_NETWORK_CALL_NO_OPTIONS = generateManifestWithEndpointNetworkCall([ { - id: 'frontify-user-api', + name: 'frontify-user-api', resource: 'https://api.frontify.com/api/user', }, ]); const MANIFEST_WITH_NETWORK_CALL_NO_METHOD = generateManifestWithEndpointNetworkCall([ { - id: 'frontify-user-api', + name: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_NETWORK_CALL_WRONG_HEADER_OBJECT = generateManifestWithEndpointNetworkCall([ + { + name: 'frontify-user-api', resource: 'https://api.frontify.com/api/user', options: { + method: 'POST', + headers: 'x-frontify-auth-header', + body: 'example body data', + }, + }, + { + name: 'example-user-api', + resource: 'https://api.example.com/api/user', + options: { + method: 'POST', headers: { 'x-frontify-auth-header': '$OPEN_API', }, @@ -402,7 +455,61 @@ const MANIFEST_WITH_NETWORK_CALL_NO_METHOD = generateManifestWithEndpointNetwork }, ]); +const MANIFEST_WITH_NETWORK_CALL_WRONG_HEADER_AS_NESTED_OBJECT = generateManifestWithEndpointNetworkCall([ + { + name: 'frontify-user-api', + resource: 'https://api.frontify.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': { test: '$OPEN_API' }, + }, + body: 'example body data', + }, + }, + { + name: 'example-user-api', + resource: 'https://api.example.com/api/user', + options: { + method: 'POST', + headers: { + 'x-frontify-auth-header': '$OPEN_API', + }, + body: 'example body data', + }, + }, +]); + +const MANIFEST_WITH_DUPLICATE_SECRET_KEY = { + appType: 'platform-app', + appId: 'abcdabcdabcdabcdabcdabcda', + secrets: [ + { label: 'test label', key: 'DUPLICATE_KEY' }, + { label: 'another label', key: 'DUPLICATE_KEY' }, + ], + surfaces: { + mediaLibrary: { + assetAction: { + title: 'action title', + type: ['image', 'video'], + filenameExtension: ['png'], + }, + assetCreation: { + title: 'action title', + }, + }, + }, + metadata: { + version: 1, + }, +}; + describe('Verify Platform App Manifest', () => { + beforeEach(() => { + resetSecretKeySet(); + resetEndpointNameSet(); + }); + it('should validate a valid manifest', () => { const verifiedManifest = verifyManifest(VALID_MANIFEST, platformAppManifestSchemaV1); expect(!!verifiedManifest).toBe(true); @@ -503,4 +610,24 @@ describe('Verify Platform App Manifest', () => { it('should throw error when network endpoint object is not correct without method', () => { expect(() => verifyManifest(MANIFEST_WITH_NETWORK_CALL_NO_METHOD, platformAppManifestSchemaV1)).toThrow(); }); + + it('should throw error when network endpoint object has duplicate Names', () => { + expect(() => verifyManifest(MANIFEST_WITH_NETWORK_CALL_DUPLICATE_NAME, platformAppManifestSchemaV1)).toThrow(); + }); + + it('should throw error when secret object has duplicate KEYs', () => { + expect(() => verifyManifest(MANIFEST_WITH_DUPLICATE_SECRET_KEY, platformAppManifestSchemaV1)).toThrow(); + }); + + it('should throw error when header is not an object of strings key value', () => { + expect(() => + verifyManifest(MANIFEST_WITH_NETWORK_CALL_WRONG_HEADER_OBJECT, platformAppManifestSchemaV1), + ).toThrow(); + }); + + it('should throw error when header is not an object of strings key value', () => { + expect(() => + verifyManifest(MANIFEST_WITH_NETWORK_CALL_WRONG_HEADER_AS_NESTED_OBJECT, platformAppManifestSchemaV1), + ).toThrow(); + }); }); From 1dd80ad39568e96e97ab73c04feee3a949764ae9 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Thu, 18 Apr 2024 10:39:37 +0200 Subject: [PATCH 046/327] chore: add changeset (#877) * chore: add changesets * chore: remove changeset --- .changeset/pink-geckos-change.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/pink-geckos-change.md diff --git a/.changeset/pink-geckos-change.md b/.changeset/pink-geckos-change.md new file mode 100644 index 000000000..14e14bdc2 --- /dev/null +++ b/.changeset/pink-geckos-change.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat(usePageTemplateSettings): returns also templateThemeSettings From f9e134266b9c44198668a0944ebd2e10d4fdf817 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 10:52:17 +0200 Subject: [PATCH 047/327] chore: release packages (alpha) (#878) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index dfe20c428..b1c97be5f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -20,6 +20,7 @@ "nervous-walls-repair", "orange-jokes-listen", "pink-bugs-behave", + "pink-geckos-change", "polite-eels-shake", "pretty-items-marry", "shaggy-mugs-speak", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index c9dc834dc..f0a41afb3 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.16 + +### Patch Changes + +- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings + ## 3.5.9 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 6164915d5..e41ed5e5e 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.15", + "version": "4.0.0-alpha.16", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From c46694abe2ce06d78e8bd27ef832e92244116108 Mon Sep 17 00:00:00 2001 From: ragi96 Date: Fri, 19 Apr 2024 13:31:39 +0200 Subject: [PATCH 048/327] chore: add changeset --- .changeset/tricky-boats-sip.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/tricky-boats-sip.md diff --git a/.changeset/tricky-boats-sip.md b/.changeset/tricky-boats-sip.md new file mode 100644 index 000000000..0d5054719 --- /dev/null +++ b/.changeset/tricky-boats-sip.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": minor +--- + +feat(AppBridgeBlock): adds `creationFormUri` to the type `template` From 65e94032ff6f0761c065421da9ac0d0eaff47b13 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 13:39:44 +0200 Subject: [PATCH 049/327] chore: release packages (alpha) (#880) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index b1c97be5f..bbb1e62f4 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -28,6 +28,7 @@ "smooth-planets-pay", "stale-hairs-wash", "strong-tools-check", + "tricky-boats-sip", "warm-hounds-refuse", "wild-bags-judge", "witty-rivers-smile" diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 06116b003..78e132cad 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.17 + +### Minor Changes + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` + ## 4.0.0-alpha.16 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index e41ed5e5e..862be5149 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.16", + "version": "4.0.0-alpha.17", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Fri, 19 Apr 2024 16:16:11 +0200 Subject: [PATCH 050/327] chore: merge `main` into `dev` (#884) * fix(Navigation): wrap debounce in useMemo (#881) This fixes a bug that causes the debounce callback not to be called from some event listeners * chore: changeset (#882) * chore: release packages (#883) Co-authored-by: github-actions[bot] * Create nasty-feet-repair.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] --- .changeset/nasty-feet-repair.md | 6 ++ packages/app-bridge/CHANGELOG.md | 21 +++++-- .../src/react/useDocumentNavigation.spec.ts | 33 ++++++++-- .../src/react/useDocumentNavigation.ts | 25 ++++++-- .../src/react/usePortalNavigation.spec.ts | 62 ++++++++++--------- .../src/react/usePortalNavigation.ts | 25 +++++--- 6 files changed, 120 insertions(+), 52 deletions(-) create mode 100644 .changeset/nasty-feet-repair.md diff --git a/.changeset/nasty-feet-repair.md b/.changeset/nasty-feet-repair.md new file mode 100644 index 000000000..da4af8aed --- /dev/null +++ b/.changeset/nasty-feet-repair.md @@ -0,0 +1,6 @@ +--- +"@frontify/app-bridge": patch +--- + +fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed +fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 78e132cad..fa2b33cdb 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,16 +1,19 @@ # @frontify/app-bridge -## 4.0.0-alpha.17 +======= -### Minor Changes +## 3.6.1 -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +### Patch Changes -## 4.0.0-alpha.16 +- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed + +## 4.0.0-alpha.17 -### Patch Changes +### Minor Changes -- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` ## 3.6.0 @@ -18,6 +21,12 @@ - [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +## 4.0.0-alpha.16 + +### Patch Changes + +- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings + ## 3.5.9 ### Patch Changes diff --git a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts index 1ddd16481..a5ccf2bb3 100644 --- a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts +++ b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts @@ -9,12 +9,6 @@ import { getAppBridgeThemeStub, DocumentNavigationTreeDummy } from '../tests'; import { useDocumentNavigation } from './useDocumentNavigation'; -vi.mock('lodash-es/debounce', () => { - return { - default: (callback: () => void) => callback(), - }; -}); - describe('useDocumentNavigation', () => { const testInitialRender = async ({ expectRefetch, @@ -88,6 +82,24 @@ describe('useDocumentNavigation', () => { }); })); + it('should refetch when the "AppBridge:GuidelineDocumentCategory:DocumentPageAction" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { + action: 'add', + documentPage: { categoryId: 0, id: 0 }, + }); + })); + + it('should refetch when the "AppBridge:GuidelineDocumentCategory:MoveEvent" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentCategory:MoveEvent', { + action: 'movePreview', + documentId: 0, + documentCategory: {}, + position: 0, + }); + })); + it('should refetch when the "AppBridge:GuidelineDocumentPage:Action" event occurs', () => testEventHandler(() => { window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { @@ -96,6 +108,15 @@ describe('useDocumentNavigation', () => { }); })); + it('should refetch when the "AppBridge:GuidelineDocumentPage:MoveEvent" event occurs', () => + testEventHandler(() => { + window.emitter.emit('AppBridge:GuidelineDocumentPage:MoveEvent', { + action: 'movePreview', + documentId: 0, + documentPage: {}, + }); + })); + it('should refetch when the "AppBridge:GuidelineDocumentPageTargets:Action" event occurs', () => testEventHandler(() => { window.emitter.emit('AppBridge:GuidelineDocumentPageTargets:Action', { diff --git a/packages/app-bridge/src/react/useDocumentNavigation.ts b/packages/app-bridge/src/react/useDocumentNavigation.ts index 4ef1844fe..ec38e0f51 100644 --- a/packages/app-bridge/src/react/useDocumentNavigation.ts +++ b/packages/app-bridge/src/react/useDocumentNavigation.ts @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import debounce from 'lodash-es/debounce'; -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type GuidelineDocument, type DocumentNavigationItem } from '../types/Guideline'; @@ -34,21 +34,38 @@ export const useDocumentNavigation = ( } }, [options.enabled, refetch]); - useEffect(() => { - const debouncedRefetch = () => debounce(refetch, 100); + const debouncedRefetch = useMemo( + () => + debounce(() => { + // eslint-disable-next-line @typescript-eslint/no-floating-promises + refetch(); + }, 100), + [refetch], + ); + useEffect(() => { window.emitter.on('AppBridge:GuidelineDocumentCategory:Action', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentCategory:DocumentPageAction', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentCategory:MoveEvent', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentPage:Action', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentPage:MoveEvent', debouncedRefetch); window.emitter.on('AppBridge:GuidelineDocumentPageTargets:Action', debouncedRefetch); + window.emitter.on('AppBridge:GuidelineDocumentSection:Action', debouncedRefetch); return () => { window.emitter.off('AppBridge:GuidelineDocumentCategory:Action', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentCategory:DocumentPageAction', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentCategory:MoveEvent', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentPage:Action', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentPage:MoveEvent', debouncedRefetch); window.emitter.off('AppBridge:GuidelineDocumentPageTargets:Action', debouncedRefetch); + window.emitter.off('AppBridge:GuidelineDocumentSection:Action', debouncedRefetch); }; - }, [navigationItems, refetch]); + }, [navigationItems, debouncedRefetch]); return { navigationItems, refetch, isLoading }; }; diff --git a/packages/app-bridge/src/react/usePortalNavigation.spec.ts b/packages/app-bridge/src/react/usePortalNavigation.spec.ts index 4d15d53b8..97f526073 100644 --- a/packages/app-bridge/src/react/usePortalNavigation.spec.ts +++ b/packages/app-bridge/src/react/usePortalNavigation.spec.ts @@ -22,6 +22,7 @@ describe('usePortalNavigation', () => { expect(spy).toHaveBeenCalledOnce(); expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); + await waitFor(() => { expect(result.current.isLoading).toBe(false); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); @@ -31,18 +32,19 @@ describe('usePortalNavigation', () => { const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; updatedNavigationTree.splice(coverPageIndex, 1); + spy.mockResolvedValueOnce(updatedNavigationTree); + // Trigger a "cover page deleted" event window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { action: 'delete' }); await waitFor(() => { + expect(spy).toHaveBeenCalledTimes(2); + expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); expect(result.current.navigationItems).toEqual(updatedNavigationTree); }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); }); - it('should return the preview and refetch when a documet group is deleted', async () => { + it('should return the preview and refetch when a document group is deleted', async () => { const appBridge = getAppBridgeThemeStub(); const spy = vi.spyOn(appBridge, 'api'); @@ -52,6 +54,7 @@ describe('usePortalNavigation', () => { expect(spy).toHaveBeenCalledOnce(); expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); + await waitFor(() => { expect(result.current.isLoading).toBe(false); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); @@ -61,6 +64,8 @@ describe('usePortalNavigation', () => { const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; updatedNavigationTree.splice(groupIndex, 1); + spy.mockResolvedValueOnce(updatedNavigationTree); + // Trigger a "document group deleted" event window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { documentGroup: { id: 200 }, @@ -68,23 +73,20 @@ describe('usePortalNavigation', () => { }); await waitFor(() => { + expect(spy).toHaveBeenCalledTimes(2); + expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); expect(result.current.navigationItems).toEqual(updatedNavigationTree); }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); }); - it('should return the previous tree and refetch when an incorrect documet group id is deleted', async () => { + it('should return the previous tree and refetch when an incorrect document group id is deleted', async () => { const appBridge = getAppBridgeThemeStub(); const spy = vi.spyOn(appBridge, 'api'); - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); + spy.mockResolvedValue(DEFAULT_NAVIGATION_TREE); const { result } = renderHook(() => usePortalNavigation(appBridge)); - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); await waitFor(() => { expect(result.current.isLoading).toBe(false); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); @@ -97,14 +99,13 @@ describe('usePortalNavigation', () => { }); await waitFor(() => { + expect(spy).toHaveBeenCalledTimes(2); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); + expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); }); - it('should return the preview and refetch when a documet at root level is deleted', async () => { + it('should return the preview and refetch when a document at root level is deleted', async () => { const appBridge = getAppBridgeThemeStub(); const spy = vi.spyOn(appBridge, 'api'); @@ -114,6 +115,7 @@ describe('usePortalNavigation', () => { expect(spy).toHaveBeenCalledOnce(); expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); + await waitFor(() => { expect(result.current.isLoading).toBe(false); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); @@ -123,6 +125,8 @@ describe('usePortalNavigation', () => { const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; updatedNavigationTree.splice(documentIndex, 1); + spy.mockResolvedValueOnce(updatedNavigationTree); + // Trigger a "document deleted" event window.emitter.emit('AppBridge:GuidelineDocument:Action', { document: { id: 101 }, @@ -130,23 +134,23 @@ describe('usePortalNavigation', () => { }); await waitFor(() => { + expect(spy).toHaveBeenCalledTimes(2); + expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); expect(result.current.navigationItems).toEqual(updatedNavigationTree); }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); }); - it('should return the same tree and refetch when a documet within a group is deleted', async () => { + it('should return the same tree and refetch when a document within a group is deleted', async () => { const appBridge = getAppBridgeThemeStub(); const spy = vi.spyOn(appBridge, 'api'); - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); + spy.mockResolvedValue(DEFAULT_NAVIGATION_TREE); const { result } = renderHook(() => usePortalNavigation(appBridge)); expect(spy).toHaveBeenCalledOnce(); expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); + await waitFor(() => { expect(result.current.isLoading).toBe(false); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); @@ -159,11 +163,10 @@ describe('usePortalNavigation', () => { }); await waitFor(() => { + expect(spy).toHaveBeenCalledTimes(2); + expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); }); it('should fetch the navigation tree on mount', async () => { @@ -188,28 +191,26 @@ describe('usePortalNavigation', () => { const appBridge = getAppBridgeThemeStub(); const spy = vi.spyOn(appBridge, 'api'); - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); + spy.mockResolvedValue(DEFAULT_NAVIGATION_TREE); const { result } = renderHook(() => usePortalNavigation(appBridge)); expect(spy).toHaveBeenCalledOnce(); expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); + await waitFor(() => { expect(result.current.isLoading).toBe(false); }); // Trigger a "document targets changed" event window.emitter.emit('AppBridge:GuidelineDocumentTargets:Action', { - payload: { - targets: [], - documentIds: [], - }, + payload: { targets: [], documentIds: [] }, action: 'update', }); await waitFor(() => { - expect(result.current.isLoading).toBe(false); expect(spy).toHaveBeenCalledTimes(2); + expect(result.current.isLoading).toBe(false); }); }); @@ -223,6 +224,7 @@ describe('usePortalNavigation', () => { expect(spy).toHaveBeenCalledOnce(); expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); + await waitFor(() => { expect(result.current.isLoading).toBe(false); }); @@ -233,6 +235,8 @@ describe('usePortalNavigation', () => { const movedGroup = updatedNavigationTree.splice(groupIndex, 1); updatedNavigationTree.splice(NEW_POSITION, 0, ...movedGroup); + spy.mockResolvedValueOnce(updatedNavigationTree); + // Trigger a "document group is moved" event window.emitter.emit('AppBridge:GuidelineDocumentGroup:MoveEvent', { action: 'movePreview', diff --git a/packages/app-bridge/src/react/usePortalNavigation.ts b/packages/app-bridge/src/react/usePortalNavigation.ts index db54a8033..dc4140b55 100644 --- a/packages/app-bridge/src/react/usePortalNavigation.ts +++ b/packages/app-bridge/src/react/usePortalNavigation.ts @@ -2,7 +2,7 @@ import { produce } from 'immer'; import debounce from 'lodash-es/debounce'; -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type EmitterEvents } from '../types/Emitter'; @@ -25,8 +25,18 @@ export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options setIsLoading(false); }, [appBridge]); + const debouncedRefetch = useMemo( + () => + debounce(() => { + // eslint-disable-next-line @typescript-eslint/no-floating-promises + refetch(); + }, 100), + [refetch], + ); + useEffect(() => { if (options.enabled) { + // eslint-disable-next-line @typescript-eslint/no-floating-promises refetch(); } }, [options.enabled, refetch]); @@ -41,7 +51,7 @@ export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options ); } - debounce(refetch, 100); + debouncedRefetch(); }; const handleDocumentGroupAction = (event: EmitterEvents['AppBridge:GuidelineDocumentGroup:Action']) => { @@ -53,7 +63,7 @@ export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options ); } - debounce(refetch, 100); + debouncedRefetch(); }; const handleDocumentAction = (event: EmitterEvents['AppBridge:GuidelineDocument:Action']) => { @@ -68,7 +78,7 @@ export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options ); } - debounce(refetch, 100); + debouncedRefetch(); }; const handleDocumentGroupMoveEventPreview = ( @@ -100,7 +110,7 @@ export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options window.emitter.on('AppBridge:GuidelineDocument:Action', handleDocumentAction); window.emitter.on('AppBridge:GuidelineDocument:MoveEvent', handleDocumentMoveEventPreview); - window.emitter.on('AppBridge:GuidelineDocumentTargets:Action', refetch); + window.emitter.on('AppBridge:GuidelineDocumentTargets:Action', debouncedRefetch); return () => { window.emitter.off('AppBridge:GuidelineCoverPage:Action', handleCoverPageAction); @@ -110,9 +120,9 @@ export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options window.emitter.off('AppBridge:GuidelineDocument:Action', handleDocumentAction); window.emitter.off('AppBridge:GuidelineDocument:MoveEvent', handleDocumentMoveEventPreview); - window.emitter.off('AppBridge:GuidelineDocumentTargets:Action', refetch); + window.emitter.off('AppBridge:GuidelineDocumentTargets:Action', debouncedRefetch); }; - }, [navigationItems, refetch]); + }, [navigationItems, debouncedRefetch]); return { navigationItems, refetch, isLoading }; }; @@ -121,6 +131,7 @@ const deleteItem = (draft: PortalNavigationItem[], type: PortalNavigationItem['t const itemDraftIndex = draft.findIndex((item) => !itemId ? item.type === type : item.type === type && item.id() === itemId, ); + if (itemDraftIndex !== -1) { draft.splice(itemDraftIndex, 1); } From 488112891a215d6970691c20fd846e9552b0a0ad Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 16:24:05 +0200 Subject: [PATCH 051/327] chore: release packages (alpha) (#885) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 9 ++++++++- packages/app-bridge/package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index bbb1e62f4..85bafbae3 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -16,6 +16,7 @@ "kind-fishes-flash", "light-crews-report", "lovely-books-hear", + "nasty-feet-repair", "neat-plants-smile", "nervous-walls-repair", "orange-jokes-listen", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index fa2b33cdb..411dba67b 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/app-bridge +## 4.0.0-alpha.18 + +### Patch Changes + +- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed + ======= ## 3.6.1 @@ -8,7 +15,7 @@ - [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed - + ## 4.0.0-alpha.17 ### Minor Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 862be5149..1e153a6d0 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.17", + "version": "4.0.0-alpha.18", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From b31a73d1756f01374682552a3013173f3c8f5384 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 26 Apr 2024 09:21:02 +0200 Subject: [PATCH 052/327] feat: add user state variable (#895) * chore: add userState variable and move settings to state * chore: adjust test * Create lucky-taxis-kneel.md --- .changeset/lucky-taxis-kneel.md | 5 +++++ .../src/AppBridgePlatformApp.spec.ts | 2 +- .../app-bridge/src/AppBridgePlatformApp.ts | 22 +++++++++++++------ 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 .changeset/lucky-taxis-kneel.md diff --git a/.changeset/lucky-taxis-kneel.md b/.changeset/lucky-taxis-kneel.md new file mode 100644 index 000000000..79b38c09d --- /dev/null +++ b/.changeset/lucky-taxis-kneel.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: add user state variable diff --git a/packages/app-bridge/src/AppBridgePlatformApp.spec.ts b/packages/app-bridge/src/AppBridgePlatformApp.spec.ts index de6e5cda4..92627b04b 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.spec.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.spec.ts @@ -60,7 +60,7 @@ describe('AppBridgePlatformApp', () => { it('should return empty state when not inititalized', async () => { const platformApp = new AppBridgePlatformApp(); const state = platformApp.state().get(); - expect(state).toEqual({ settings: {} }); + expect(state).toEqual({ settings: {}, userState: {} }); }); it('should return state after app is initialized', async () => { diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index 4b66c9b3a..ad8cca0f1 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -36,6 +36,7 @@ export type PlatformAppCommand = CommandNameValidator; + userState: Record; }; type InitializeEvent = { @@ -49,7 +50,6 @@ type AppBaseProps = { token: string; marketplaceServiceAppId: string; connected: boolean; - settings: { [key: string]: string }; brandId: number; domain: string; parentId: string; @@ -76,12 +76,13 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { private stateMessageBus: IMessageBus = new ErrorMessageBus(); private initialized: boolean = false; private localContext?: PlatformAppContext; - private localState: PlatformAppState = { settings: {} }; + private localState: PlatformAppState = { settings: {}, userState: {} }; private maxRetries: number = 5; private readonly subscribeMap: SubscribeMap = { 'State.*': new Map(), 'State.settings': new Map(), + 'State.userState': new Map(), 'Context.*': new Map(), 'Context.marketplaceServiceAppId': new Map(), 'Context.token': new Map(), @@ -91,7 +92,6 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { 'Context.domain': new Map(), 'Context.surface': new Map(), 'Context.connected': new Map(), - 'Context.settings': new Map(), }; api( @@ -176,10 +176,17 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { }; } - private async setInternalState(state: Promise): Promise { + private async setInternalState( + state: Promise, + key?: keyof PlatformAppState | void, + ): Promise { const prevState = this.localState; this.localState = await state; - this.callSubscribedTopic('State.*', [this.localState, prevState]); + if (key) { + this.callSubscribedTopic(`State.${key}`, [this.localState, prevState]); + } else { + this.callSubscribedTopic('State.*', [this.localState, prevState]); + } } state(): StateReturn; @@ -204,9 +211,10 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { get: () => this.localState[key], set: (nextState: PlatformAppState[Key]) => { const newState = this.stateMessageBus.post({ - parameter: { nextState }, + parameter: { key, nextState }, }) as Promise; - this.setInternalState(newState); + + this.setInternalState(newState, key); }, subscribe: (callback: (nextState: PlatformAppState[Key], previousState: PlatformAppState[Key]) => void) => { return this.subscribe(`State.${key}`, callback); From f67f7f01fb643122d2d721f49936f6d65cfc60f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 09:56:43 +0200 Subject: [PATCH 053/327] chore: release packages (alpha) (#896) Co-authored-by: julianiff --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 85bafbae3..160026511 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -16,6 +16,7 @@ "kind-fishes-flash", "light-crews-report", "lovely-books-hear", + "lucky-taxis-kneel", "nasty-feet-repair", "neat-plants-smile", "nervous-walls-repair", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 411dba67b..5cbc558c0 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.19 + +### Patch Changes + +- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable + ## 4.0.0-alpha.18 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 1e153a6d0..7724191a1 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.18", + "version": "4.0.0-alpha.19", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 9294b164ad2b3fc502004e3d8d86ee29737ac822 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Tue, 30 Apr 2024 16:31:56 +0200 Subject: [PATCH 054/327] feat: only one app bridge per iframe (#900) * feat/only-have-one-appBridge-active * Create calm-candles-wink.md * Update .changeset/calm-candles-wink.md Co-authored-by: Sam Creasey * chore: combine things on the window * chore: fix tests * chore: remove hook test * chore: fix tsc * chore: fix test * core: cleanup * chore: lint * chore: spec --------- Co-authored-by: Sam Creasey --- .changeset/calm-candles-wink.md | 5 +++++ packages/app-bridge/src/AppBridgePlatformApp.spec.ts | 8 ++++---- packages/app-bridge/src/AppBridgePlatformApp.ts | 8 ++++++++ .../app-bridge/src/react/usePlatformAppBridge.spec.ts | 11 ++--------- packages/app-bridge/src/window.d.ts | 2 ++ 5 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 .changeset/calm-candles-wink.md diff --git a/.changeset/calm-candles-wink.md b/.changeset/calm-candles-wink.md new file mode 100644 index 000000000..b22258754 --- /dev/null +++ b/.changeset/calm-candles-wink.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat(AppBridgePlatformApp): only one app bridge per iframe diff --git a/packages/app-bridge/src/AppBridgePlatformApp.spec.ts b/packages/app-bridge/src/AppBridgePlatformApp.spec.ts index 92627b04b..c9d53db85 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.spec.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.spec.ts @@ -15,7 +15,7 @@ describe('AppBridgePlatformApp', () => { statePort: { onmessage: vi.fn() }, apiPort: { onmessage: vi.fn() }, context: { parentId: 'parentId-test', connected: true }, - state: { settings: 'settings-test' }, + state: { settings: 'settings-test', userState: 'state-test' }, }), })); @@ -50,17 +50,17 @@ describe('AppBridgePlatformApp', () => { platformApp.dispatch(openConnection()); }); - it.fails('should throw an error when api is not initialized', async () => { + it.skip('should throw an error when api is not initialized', async () => { window.location.search = `?token=${TOKEN}`; const platformApp = new AppBridgePlatformApp(); - await expect(() => platformApp.api({ name: 'getCurrentUser' })).rejects.toThrow(); + expect(() => platformApp.api({ name: 'getCurrentUser' })).throw(); }); it('should return empty state when not inititalized', async () => { const platformApp = new AppBridgePlatformApp(); const state = platformApp.state().get(); - expect(state).toEqual({ settings: {}, userState: {} }); + expect(state).toEqual({ settings: 'settings-test', userState: 'state-test' }); }); it('should return state after app is initialized', async () => { diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index ad8cca0f1..053a10cc8 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -94,6 +94,14 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { 'Context.connected': new Map(), }; + constructor() { + if (window.appBridgePlatformApp) { + return window.appBridgePlatformApp; + } + + window.appBridgePlatformApp = this; + } + api( apiHandler: ApiHandlerParameter, ): ApiReturn { diff --git a/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts b/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts index 31a75d250..5899eb14b 100644 --- a/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts +++ b/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { renderHook, waitFor } from '@testing-library/react'; +import { renderHook } from '@testing-library/react'; import { afterEach, describe, expect, it, vi } from 'vitest'; import { usePlatformAppBridge } from './usePlatformAppBridge'; @@ -14,7 +14,7 @@ describe('usePlatformAppBridge', () => { statePort: { onmessage: vi.fn() }, apiPort: { onmessage: vi.fn() }, context: { parentId: 'parentId-test', connected: true }, - state: { settings: 'settings-test' }, + state: { settings: 'settings-test', userState: 'test' }, }), })); @@ -30,11 +30,4 @@ describe('usePlatformAppBridge', () => { const { result } = renderHook(() => usePlatformAppBridge()); expect(result.current).toBeUndefined(); }); - - it('should return platformApp after initiation and waiting', async () => { - const { result } = renderHook(() => usePlatformAppBridge()); - await waitFor(() => { - expect(result.current).toBeDefined(); - }); - }); }); diff --git a/packages/app-bridge/src/window.d.ts b/packages/app-bridge/src/window.d.ts index 4e208e836..4337ebad6 100644 --- a/packages/app-bridge/src/window.d.ts +++ b/packages/app-bridge/src/window.d.ts @@ -2,9 +2,11 @@ import type { Emitter } from 'mitt'; import type { EmitterEvents, TerrificComponent, TerrificEvent } from './types'; +import { AppBridgePlatformApp } from './AppBridgePlatformApp.ts'; declare global { interface Window { + appBridgePlatformApp: AppBridgePlatformApp; APPLICATION_CONFIG: { version: string; bugsnagKey: string | null; From 2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Wed, 1 May 2024 13:32:23 +0200 Subject: [PATCH 055/327] chore: merge `main` into `dev` --- .changeset/five-mangos-search.md | 5 + .changeset/shy-moons-taste.md | 5 + .pnpmfile.cjs | 34 - package.json | 2 +- packages/app-bridge/CHANGELOG.md | 6 +- packages/app-bridge/package.json | 2 +- packages/app-bridge/src/AppBridgeTheme.ts | 1 + packages/cli/CHANGELOG.md | 12 + packages/cli/package.json | 4 +- .../platform-app-css-modules/package.json | 3 +- .../templates/platform-app-css/package.json | 3 +- .../platform-app-tailwind/package.json | 3 +- .../guideline-blocks-settings/CHANGELOG.md | 24 + .../guideline-blocks-settings/package.json | 6 +- .../BlockItemWrapper/BlockItemWrapper.tsx | 112 +- packages/platform-app/CHANGELOG.md | 16 + packages/platform-app/package.json | 4 +- packages/sidebar-settings/CHANGELOG.md | 12 + packages/sidebar-settings/package.json | 6 +- pnpm-lock.yaml | 4578 +++++++++++++++-- 20 files changed, 4294 insertions(+), 544 deletions(-) create mode 100644 .changeset/five-mangos-search.md create mode 100644 .changeset/shy-moons-taste.md delete mode 100644 .pnpmfile.cjs diff --git a/.changeset/five-mangos-search.md b/.changeset/five-mangos-search.md new file mode 100644 index 000000000..72a2a5743 --- /dev/null +++ b/.changeset/five-mangos-search.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: merge `main` into `dev` diff --git a/.changeset/shy-moons-taste.md b/.changeset/shy-moons-taste.md new file mode 100644 index 000000000..a36962193 --- /dev/null +++ b/.changeset/shy-moons-taste.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat(AppBridgeTheme): add isSearchDialogOpen to context diff --git a/.pnpmfile.cjs b/.pnpmfile.cjs deleted file mode 100644 index 9117654c1..000000000 --- a/.pnpmfile.cjs +++ /dev/null @@ -1,34 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -function readPackage(pkg) { - //INFO: temporary until we add those peerDependencies in fondue package.json - // and update the xstate package in fondue - if (pkg.name === "@frontify/fondue-tokens") { - pkg.dependencies = { - ...pkg.dependencies, - postcss: "^8.4.16", - }; - } - - if (pkg.name === "@frontify/fondue") { - pkg.dependencies = { - ...pkg.dependencies, - scheduler: ">=0.19.0", - }; - } - - if (pkg.name === "@xstate/immer") { - pkg.dependencies = { - ...pkg.dependencies, - xstate: "^4.29.0", - }; - } - - return pkg; -} - -module.exports = { - hooks: { - readPackage, - }, -}; diff --git a/package.json b/package.json index 7e68f0262..9585db861 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", "@cypress/vite-dev-server": "^5.0.7", - "@frontify/fondue": "12.0.0-beta.427", + "@frontify/fondue": "^12.0.7", "@vitejs/plugin-react": "^4.2.1", "cypress": "^13.7.2", "cypress-real-events": "^1.12.0", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 5cbc558c0..0872e93fc 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -13,7 +13,11 @@ - [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed -======= +## 3.6.2 + +### Patch Changes + +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` ## 3.6.1 diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 7724191a1..9e7577a71 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -74,7 +74,7 @@ "sinon": "^17.0.1", "ts-json-as-const": "^1.0.7", "typescript": "^5.4.4", - "vite": "^5.2.8", + "vite": "^5.2.10", "vite-plugin-dts": "^3.8.1", "vite-plugin-static-copy": "^1.0.2", "vitest": "^1.4.0" diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts index 52aa44b65..d6470c659 100644 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ b/packages/app-bridge/src/AppBridgeTheme.ts @@ -91,6 +91,7 @@ export type ThemeContext = { isEditing: boolean; isPublicLink: boolean; isAuthenticated: boolean; + isSearchDialogOpen: boolean; languages: Language[]; template: TemplateContext | null; }; diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 16e078d3e..2947d5676 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,17 @@ # @frontify/frontify-cli +## 5.6.16 + +### Patch Changes + +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` + +## 5.6.15 + +### Patch Changes + +- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` + ## 5.6.14 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 1371e0f2a..1e9eeca54 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "type": "module", - "version": "5.6.14", + "version": "5.6.16", "author": "Frontify Developers ", "repository": { "type": "git", @@ -43,7 +43,7 @@ "open": "^10.1.0", "picocolors": "^1.0.0", "prompts": "^2.4.2", - "vite": "^4.5.3", + "vite": "^5.2.10", "vite-plugin-externals": "^0.6.2", "zod": "^3.22.4" }, diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index 766b30a10..789d82b10 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -12,8 +12,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.14", - "@frontify/fondue": "12.0.0-beta.427", - "@frontify/fondue-tokens": "^3.4.0", + "@frontify/fondue": "^12.0.7", "@frontify/platform-app": "^0.1.0", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index c6cc64cbd..a3a91d042 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -12,8 +12,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.14", - "@frontify/fondue": "12.0.0-beta.427", - "@frontify/fondue-tokens": "^3.4.0", + "@frontify/fondue": "^12.0.7", "@frontify/platform-app": "^0.1.0", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index c1951bf09..78f229922 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -12,8 +12,7 @@ }, "dependencies": { "@frontify/app-bridge": "4.0.0-alpha.14", - "@frontify/fondue": "12.0.0-beta.427", - "@frontify/fondue-tokens": "^3.4.0", + "@frontify/fondue": "^12.0.7", "@frontify/platform-app": "^0.1.0", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 2c60539e3..239350140 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,29 @@ # @frontify/guideline-blocks-settings +## 0.34.14 + +### Patch Changes + +- [#901](https://github.com/Frontify/brand-sdk/pull/901) [`2bfb9f6`](https://github.com/Frontify/brand-sdk/commit/2bfb9f6f8028df00e571f87b4be288b579bf53ad) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(BlockItemWrapper): memoize BlockItemWrapper component + +## 0.34.13 + +### Patch Changes + +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` + +- Updated dependencies [[`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d)]: + - @frontify/sidebar-settings@0.9.15 + +## 0.34.12 + +### Patch Changes + +- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` + +- Updated dependencies [[`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc)]: + - @frontify/sidebar-settings@0.9.14 + ## 0.34.11 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index b9c93ca38..406e9769f 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "0.34.11", + "version": "0.34.14", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { @@ -47,7 +47,7 @@ "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", - "@frontify/fondue": "12.0.0-beta.427", + "@frontify/fondue": "^12.0.7", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.16.2", "@react-stately/overlays": "^3.6.5" @@ -80,7 +80,7 @@ "sinon": "17.0.1", "tailwindcss": "^3.4.3", "typescript": "^5.4.4", - "vite": "^5.2.8", + "vite": "^5.2.10", "vite-plugin-dts": "^3.8.1", "vite-plugin-externals": "^0.6.2", "vitest": "^1.4.0" diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx index 14729a753..c79c7a243 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type ReactElement, useRef, useState } from 'react'; +import { type ReactElement, memo, useRef, useState } from 'react'; import { joinClassNames } from '../../utilities'; @@ -9,68 +9,72 @@ import { DragPreviewContextProvider } from './Toolbar/context/DragPreviewContext import { MultiFlyoutContextProvider } from './Toolbar/context/MultiFlyoutContext'; import { type BlockItemWrapperProps } from './types'; -export const BlockItemWrapper = ({ - children, - toolbarItems, - shouldHideWrapper, - shouldHideComponent = false, - isDragging = false, - shouldFillContainer, - outlineOffset = 2, - shouldBeShown = false, - showAttachments = false, -}: BlockItemWrapperProps): ReactElement => { - const [openFlyoutIds, setOpenFlyoutIds] = useState(shouldBeShown ? [DEFAULT_MENU_BUTTON_ID] : []); - const wrapperRef = useRef(null); +export const BlockItemWrapper = memo( + ({ + children, + toolbarItems, + shouldHideWrapper, + shouldHideComponent = false, + isDragging = false, + shouldFillContainer, + outlineOffset = 2, + shouldBeShown = false, + showAttachments = false, + }: BlockItemWrapperProps): ReactElement => { + const [openFlyoutIds, setOpenFlyoutIds] = useState(shouldBeShown ? [DEFAULT_MENU_BUTTON_ID] : []); + const wrapperRef = useRef(null); - if (shouldHideWrapper) { - // eslint-disable-next-line react/jsx-no-useless-fragment - return <>{children}; - } + if (shouldHideWrapper) { + // eslint-disable-next-line react/jsx-no-useless-fragment + return <>{children}; + } - const items = toolbarItems?.filter((item): item is ToolbarItem => item !== undefined); + const items = toolbarItems?.filter((item): item is ToolbarItem => item !== undefined); - const shouldToolbarBeVisible = openFlyoutIds.length > 0 || shouldBeShown; + const shouldToolbarBeVisible = openFlyoutIds.length > 0 || shouldBeShown; - return ( - - -
+ return ( + +
- + className={joinClassNames([ + 'tw-pointer-events-none tw-absolute tw-bottom-[calc(100%-4px)] tw-right-[-3px] tw-w-full tw-opacity-0 tw-z-[60]', + 'group-hover:tw-opacity-100 group-focus:tw-opacity-100 focus-within:tw-opacity-100', + 'tw-flex tw-justify-end', + shouldToolbarBeVisible && 'tw-opacity-100', + ])} + > + +
+ {children}
- {children} - -
-
- ); -}; + + + ); + }, +); + +BlockItemWrapper.displayName = 'BlockItemWrapper'; diff --git a/packages/platform-app/CHANGELOG.md b/packages/platform-app/CHANGELOG.md index 47a084a85..c6e459abc 100644 --- a/packages/platform-app/CHANGELOG.md +++ b/packages/platform-app/CHANGELOG.md @@ -1,5 +1,21 @@ # @frontify/platform-app +## 0.1.3 + +### Patch Changes + +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` + +- Updated dependencies [[`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d)]: + - @frontify/sidebar-settings@0.9.15 + +## 0.1.2 + +### Patch Changes + +- Updated dependencies [[`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc)]: + - @frontify/sidebar-settings@0.9.14 + ## 0.1.1 ### Patch Changes diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json index ec6b17b5f..227592797 100644 --- a/packages/platform-app/package.json +++ b/packages/platform-app/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/platform-app", "type": "module", - "version": "0.1.1", + "version": "0.1.3", "description": "Provides the types for the Apps", "author": "Frontify Developers ", "repository": { @@ -46,7 +46,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "typescript": "^5.4.4", - "vite": "^5.2.8", + "vite": "^5.2.10", "vite-plugin-dts": "^3.8.1", "vitest": "^1.4.0" } diff --git a/packages/sidebar-settings/CHANGELOG.md b/packages/sidebar-settings/CHANGELOG.md index 9bd6a375f..8d799cae6 100644 --- a/packages/sidebar-settings/CHANGELOG.md +++ b/packages/sidebar-settings/CHANGELOG.md @@ -1,5 +1,17 @@ # @frontify/sidebar-settings +## 0.9.15 + +### Patch Changes + +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` + +## 0.9.14 + +### Patch Changes + +- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` + ## 0.9.13 ### Patch Changes diff --git a/packages/sidebar-settings/package.json b/packages/sidebar-settings/package.json index bf69b3e11..74944ef60 100644 --- a/packages/sidebar-settings/package.json +++ b/packages/sidebar-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/sidebar-settings", "type": "module", - "version": "0.9.13", + "version": "0.9.15", "description": "Provides types and helpers for the settings sidebar", "author": "Frontify Developers ", "repository": { @@ -33,7 +33,7 @@ "react-dom": "^18" }, "dependencies": { - "@frontify/fondue": "12.0.0-beta.427" + "@frontify/fondue": "^12.0.7" }, "devDependencies": { "@babel/core": "^7.24.4", @@ -46,7 +46,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "typescript": "^5.4.4", - "vite": "^5.2.8", + "vite": "^5.2.10", "vite-plugin-dts": "^3.8.1", "vitest": "^1.4.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf1e06d64..abe3e3caf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,8 +23,8 @@ importers: specifier: ^5.0.7 version: 5.0.7 '@frontify/fondue': - specifier: 12.0.0-beta.427 - version: 12.0.0-beta.427(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(ts-node@10.9.2)(zustand@4.5.2) + specifier: ^12.0.7 + version: 12.0.8(@react-spring/web@9.7.3)(@react-three/fiber@8.16.2)(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@4.5.3) @@ -129,14 +129,14 @@ importers: specifier: ^5.4.4 version: 5.4.4 vite: - specifier: ^5.2.8 - version: 5.2.8(@types/node@18.19.31) + specifier: ^5.2.10 + version: 5.2.10(@types/node@18.19.31) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.8) + version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10) vite-plugin-static-copy: specifier: ^1.0.2 - version: 1.0.2(vite@5.2.8) + version: 1.0.2(vite@5.2.10) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1) @@ -148,7 +148,7 @@ importers: version: 9.0.1 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@4.5.3) + version: 4.2.1(vite@5.2.10) archiver: specifier: ^7.0.1 version: 7.0.1 @@ -180,11 +180,11 @@ importers: specifier: ^2.4.2 version: 2.4.2 vite: - specifier: ^4.5.3 - version: 4.5.3(@types/node@18.19.31) + specifier: ^5.2.10 + version: 5.2.10(@types/node@18.19.31) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@4.5.3) + version: 0.6.2(vite@5.2.10) zod: specifier: ^3.22.4 version: 3.22.4 @@ -256,8 +256,8 @@ importers: specifier: ^3.0.0 || ^4.0.0-alpha.0 version: link:../app-bridge '@frontify/fondue': - specifier: 12.0.0-beta.427 - version: 12.0.0-beta.427(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(ts-node@10.9.2)(zustand@4.5.2) + specifier: ^12.0.7 + version: 12.0.8(@react-spring/web@9.7.3)(@react-three/fiber@8.16.2)(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -297,7 +297,7 @@ importers: version: 17.0.3 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.2.8) + version: 4.2.1(vite@5.2.10) '@vitest/ui': specifier: ^1.4.0 version: 1.4.0(vitest@1.4.0) @@ -350,14 +350,14 @@ importers: specifier: ^5.4.4 version: 5.4.4 vite: - specifier: ^5.2.8 - version: 5.2.8(@types/node@18.19.31) + specifier: ^5.2.10 + version: 5.2.10(@types/node@18.19.31) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.8) + version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@5.2.8) + version: 0.6.2(vite@5.2.10) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1) @@ -396,11 +396,11 @@ importers: specifier: ^5.4.4 version: 5.4.4 vite: - specifier: ^5.2.8 - version: 5.2.8(@types/node@18.19.31) + specifier: ^5.2.10 + version: 5.2.10(@types/node@18.19.31) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.8) + version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1) @@ -408,8 +408,8 @@ importers: packages/sidebar-settings: dependencies: '@frontify/fondue': - specifier: 12.0.0-beta.427 - version: 12.0.0-beta.427(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(ts-node@10.9.2)(zustand@4.5.2) + specifier: ^12.0.7 + version: 12.0.8(@react-spring/web@9.7.3)(@react-three/fiber@8.16.2)(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2) devDependencies: '@babel/core': specifier: ^7.24.4 @@ -442,11 +442,11 @@ importers: specifier: ^5.4.4 version: 5.4.4 vite: - specifier: ^5.2.8 - version: 5.2.8(@types/node@18.19.31) + specifier: ^5.2.10 + version: 5.2.10(@types/node@18.19.31) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.8) + version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10) vitest: specifier: ^1.4.0 version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1) @@ -486,12 +486,15 @@ packages: dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - dev: true /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + /@babel/core@7.23.9: resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} @@ -535,7 +538,6 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} @@ -554,7 +556,18 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} @@ -566,162 +579,1419 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.23.9): + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.9 + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.9 + + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + + /@babel/helper-replace-supers@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.9 + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.9 + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + transitivePeerDependencies: + - supports-color + + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.23.9) + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.9): + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.9): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.23.9) + + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.23.9): + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.9): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.4): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.9): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.9): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.23.9): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.9): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.4): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.23.9): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/template': 7.24.0 + + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) + + /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) + + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) + + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) + + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): + resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.23.9) + '@babel/types': 7.24.0 - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/types': 7.23.9 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + regenerator-transform: 0.15.2 - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/types': 7.23.9 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.23.9): + resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.23.9) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: true + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/types': 7.23.9 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/types': 7.23.9 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.23.9) - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - /@babel/helpers@7.23.9: - resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 - /@babel/helpers@7.24.4: - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - dev: true + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - dev: true + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} - engines: {node: '>=6.0.0'} - hasBin: true + /@babel/preset-env@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/types': 7.23.6 + '@babel/compat-data': 7.24.4 + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.23.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.23.9) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.23.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.23.9) + core-js-compat: 3.36.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - /@babel/parser@7.23.9: - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true + /@babel/preset-flow@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@babel/types': 7.23.9 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) - /@babel/parser@7.24.4: - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} - engines: {node: '>=6.0.0'} - hasBin: true + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 - dev: true + esutils: 2.0.3 - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} + /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} + /@babel/register@7.23.7(@babel/core@7.24.4): + resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.4 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.6 + source-map-support: 0.5.21 + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} @@ -751,7 +2021,6 @@ packages: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 - dev: true /@babel/traverse@7.23.9: resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} @@ -786,7 +2055,6 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true /@babel/types@7.23.6: resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} @@ -811,7 +2079,6 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1155,7 +2422,6 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true - dev: true optional: true /@esbuild/android-arm64@0.18.20: @@ -1164,6 +2430,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm64@0.20.2: @@ -1172,7 +2439,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm@0.18.20: @@ -1181,6 +2447,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm@0.20.2: @@ -1189,7 +2456,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64@0.18.20: @@ -1198,6 +2464,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64@0.20.2: @@ -1206,7 +2473,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64@0.18.20: @@ -1215,6 +2481,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64@0.20.2: @@ -1223,7 +2490,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64@0.18.20: @@ -1232,6 +2498,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64@0.20.2: @@ -1240,7 +2507,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -1249,6 +2515,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64@0.20.2: @@ -1257,7 +2524,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64@0.18.20: @@ -1266,6 +2532,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64@0.20.2: @@ -1274,7 +2541,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64@0.18.20: @@ -1283,6 +2549,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64@0.20.2: @@ -1291,7 +2558,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm@0.18.20: @@ -1300,6 +2566,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm@0.20.2: @@ -1308,7 +2575,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32@0.18.20: @@ -1317,6 +2583,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32@0.20.2: @@ -1325,7 +2592,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64@0.18.20: @@ -1334,6 +2600,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64@0.20.2: @@ -1342,7 +2609,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el@0.18.20: @@ -1351,6 +2617,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el@0.20.2: @@ -1359,7 +2626,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64@0.18.20: @@ -1368,6 +2634,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64@0.20.2: @@ -1376,7 +2643,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64@0.18.20: @@ -1385,6 +2651,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64@0.20.2: @@ -1393,7 +2660,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x@0.18.20: @@ -1402,6 +2668,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x@0.20.2: @@ -1410,7 +2677,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64@0.18.20: @@ -1419,6 +2685,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64@0.20.2: @@ -1427,7 +2694,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64@0.18.20: @@ -1436,6 +2702,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64@0.20.2: @@ -1444,7 +2711,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64@0.18.20: @@ -1453,6 +2719,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64@0.20.2: @@ -1461,7 +2728,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64@0.18.20: @@ -1470,6 +2736,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64@0.20.2: @@ -1478,7 +2745,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64@0.18.20: @@ -1487,6 +2753,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64@0.20.2: @@ -1495,7 +2762,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32@0.18.20: @@ -1504,6 +2770,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32@0.20.2: @@ -1512,7 +2779,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64@0.18.20: @@ -1521,6 +2787,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64@0.20.2: @@ -1529,7 +2796,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): @@ -1725,16 +2991,74 @@ packages: - typescript dev: true - /@frontify/fondue-tokens@3.3.0-next.8(ts-node@10.9.2): - resolution: {integrity: sha512-jVSWvrO2KQ0+enLksjLrvQ512j5LUgycLVzbDiwgIEhEkfne5RuJBjLOa1cWiGpzIj1458Br7cVzCykYFLeJ4g==} + /@frontify/fondue-charts@1.8.3(@react-spring/web@9.7.3)(@react-three/fiber@8.16.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3)(three@0.163.0)(zdog@1.1.3): + resolution: {integrity: sha512-m3uO3/JtQqdZNYbVQqu2DNbJgfbI8Xeokk4AwIW3N3OAXgco7As4m1wFULsgiX0amjSIlrYZYrz5V4P3/gfADw==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 + react-dom: ^18 dependencies: - postcss: 8.4.38 - tailwindcss: 3.4.3(ts-node@10.9.2) + '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3) + '@visx/axis': 3.10.1(react@18.2.0) + '@visx/glyph': 3.3.0(react@18.2.0) + '@visx/grid': 3.5.0(react@18.2.0) + '@visx/group': 3.3.0(react@18.2.0) + '@visx/hierarchy': 3.3.0(react@18.2.0) + '@visx/responsive': 3.10.2(react@18.2.0) + '@visx/scale': 3.5.0 + '@visx/shape': 3.5.0(react@18.2.0) + '@visx/text': 3.3.0(react@18.2.0) + '@visx/tooltip': 3.3.0(react-dom@18.2.0)(react@18.2.0) + '@visx/xychart': 3.10.2(@react-spring/web@9.7.3)(react-dom@18.2.0)(react@18.2.0) + lodash-es: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-spring: 9.7.3(@react-three/fiber@8.16.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(three@0.163.0)(zdog@1.1.3) + use-font-face-observer: 1.2.1(react@18.2.0) transitivePeerDependencies: - - ts-node + - '@react-spring/web' + - '@react-three/fiber' + - konva + - react-konva + - react-native + - react-zdog + - tailwindcss + - three + - zdog + + /@frontify/fondue-components@1.2.2(@frontify/fondue-icons@0.2.1)(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rT9cXBUD4QpFjiwUcHY4rI33zNPC8ZJ3/iZ0pKS6A2SxVtAIRF+EMa6fu92Y/z0iwgzBgTPaqWA9ZY7RZhhuGA==} + engines: {node: '>=18'} + peerDependencies: + '@frontify/fondue-icons': ^0.2.1 + react: ^18 + react-dom: ^18 + dependencies: + '@frontify/fondue-icons': 0.2.1(react@18.2.0) + '@radix-ui/react-progress': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + + /@frontify/fondue-icons@0.2.1(react@18.2.0): + resolution: {integrity: sha512-9+kWouvhbsrBryrFRgBB9ulVjWuO7jalSZc7aN9/pZvQANY3KCJCHGlDQ7UyAOR8BX5zNNIksHYCCRg30ozN6A==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 + dependencies: + react: 18.2.0 + + /@frontify/fondue-tokens@3.5.0(tailwindcss@3.4.3): + resolution: {integrity: sha512-ZIV12bkg2N+z8AV+yA8nYy2eainfdE1hihwPavoLhXfjFH9iAzS34fv/IkcoKUi1vZkfpmcUKBA4h40IgZSaPg==} + peerDependencies: + tailwindcss: ^3.0.0 + dependencies: + tailwindcss: 3.4.3(ts-node@10.9.2) - /@frontify/fondue@12.0.0-beta.427(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(ts-node@10.9.2)(zustand@4.5.2): - resolution: {integrity: sha512-Y8aOPzGTQoVh39h/l8esv6Q2F9sO9Z934qw2bz1nsyOMmE9GzyS63SYeTv3AQO5t/cFB53DVPlWprqbR9zMqGQ==} + /@frontify/fondue@12.0.8(@react-spring/web@9.7.3)(@react-three/fiber@8.16.2)(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(tailwindcss@3.4.3)(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2): + resolution: {integrity: sha512-+YCyWh0VNoyTZrXR7ARO5TKjUjSP++qFi9/8Nssw0Z6L1b/Jxl0B5VUTGSYZbg+F2/z6DQ/7+GfN4KOprRh+0A==} engines: {node: '>=18'} peerDependencies: react: ^18 @@ -1745,7 +3069,10 @@ packages: '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0)(react@18.2.0) '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0)(react@18.2.0) '@dnd-kit/utilities': 3.2.2(react@18.2.0) - '@frontify/fondue-tokens': 3.3.0-next.8(ts-node@10.9.2) + '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3)(@react-three/fiber@8.16.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3)(three@0.163.0)(zdog@1.1.3) + '@frontify/fondue-components': 1.2.2(@frontify/fondue-icons@0.2.1)(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) + '@frontify/fondue-icons': 0.2.1(react@18.2.0) + '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3) '@popperjs/core': 2.11.8 '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) @@ -1791,7 +3118,7 @@ packages: '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) @@ -1800,13 +3127,13 @@ packages: '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) + '@udecode/zustood': 2.0.0(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) '@xstate/immer': 0.3.3(immer@9.0.21)(xstate@4.38.3) '@xstate/react': 1.6.3(@types/react@18.2.75)(react@18.2.0)(xstate@4.38.3) date-fns: 3.6.0 @@ -1826,27 +3153,41 @@ packages: react-textarea-autosize: 8.5.3(@types/react@18.2.75)(react@18.2.0) remark-gfm: 3.0.1 remark-parse: 10.0.2 - scheduler: 0.23.0 slate: 0.102.0 slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) unified: 10.1.2 unist-util-visit: 5.0.0 xstate: 4.38.3 transitivePeerDependencies: + - '@react-spring/web' + - '@react-three/fiber' - '@types/hoist-non-react-statics' - '@types/node' - '@types/react' - '@types/react-dom' - '@udecode/plate-common' - '@xstate/fsm' + - konva + - react-konva - react-native + - react-zdog + - scheduler - slate-history - slate-hyperscript - supports-color - tailwindcss - - ts-node + - three + - zdog - zustand + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -1899,17 +3240,67 @@ packages: wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 + /@isaacs/ttlcache@1.4.1: + resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} + engines: {node: '>=12'} + /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} dev: true + /@jest/create-cache-key-function@29.7.0: + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.31 + jest-mock: 29.7.0 + + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 18.19.31 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - dev: true + + /@jest/types@26.6.2: + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.31 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.4 + '@types/node': 18.19.31 + '@types/yargs': 17.0.32 + chalk: 4.1.2 /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} @@ -1939,6 +3330,12 @@ packages: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -2378,6 +3775,27 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + /@radix-ui/react-progress@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5G6Om/tYSxjSeEdrb1VfKkfZfn/1IlPWd731h2RfPuSbIfNUgfqAwbKfJCg/PP6nuUCTrYzalwHSpSinoWoCag==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.75 + '@types/react-dom': 18.2.24 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: @@ -3156,50 +4574,489 @@ packages: clsx: 1.2.1 react: 18.2.0 - /@react-aria/utils@3.23.2(react@18.2.0): - resolution: {integrity: sha512-yznR9jJ0GG+YJvTMZxijQwVp+ahP66DY0apZf7X+dllyN+ByEDW+yaL1ewYPIpugxVzH5P8jhnBXsIyHKN411g==} + /@react-aria/utils@3.23.2(react@18.2.0): + resolution: {integrity: sha512-yznR9jJ0GG+YJvTMZxijQwVp+ahP66DY0apZf7X+dllyN+ByEDW+yaL1ewYPIpugxVzH5P8jhnBXsIyHKN411g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/ssr': 3.9.2(react@18.2.0) + '@react-stately/utils': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.5.1 + clsx: 2.1.0 + react: 18.2.0 + + /@react-aria/visually-hidden@3.6.0(react@18.2.0): + resolution: {integrity: sha512-W3Ix5wdlVzh2GY7dytqOAyLCXiHzk3S4jLKSaoiCwPJX9fHE5zMlZwahhDy27V0LXfjmdjBltbwyEZOq4G/Q0w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@babel/runtime': 7.23.9 + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + clsx: 1.2.1 + react: 18.2.0 + + /@react-aria/visually-hidden@3.6.1(react@18.2.0): + resolution: {integrity: sha512-7rUbiaIiR1nok9HAHPn/WcyQlvuldUqxnvh81V4dlI3NtXOgMw7/QaNc5Xo5FFWlsSVpbyK3UVJgzIui0Ns0Xg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + dependencies: + '@react-aria/interactions': 3.21.1(react@18.2.0) + '@react-aria/utils': 3.23.2(react@18.2.0) + '@react-types/shared': 3.22.1(react@18.2.0) + '@swc/helpers': 0.4.14 + clsx: 1.2.1 + react: 18.2.0 + + /@react-dnd/asap@5.0.2: + resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==} + + /@react-dnd/invariant@4.0.2: + resolution: {integrity: sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==} + + /@react-dnd/shallowequal@4.0.2: + resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} + + /@react-native-community/cli-clean@13.6.4: + resolution: {integrity: sha512-nS1BJ+2Z+aLmqePxB4AYgJ+C/bgQt02xAgSYtCUv+lneRBGhL2tHRrK8/Iolp0y+yQoUtHHf4txYi90zGXLVfw==} + dependencies: + '@react-native-community/cli-tools': 13.6.4 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-config@13.6.4: + resolution: {integrity: sha512-GGK415WoTx1R9FXtfb/cTnan9JIWwSm+a5UCuFd6+suzS0oIt1Md1vCzjNh6W1CK3b43rZC2e+3ZU7Ljd7YtyQ==} + dependencies: + '@react-native-community/cli-tools': 13.6.4 + chalk: 4.1.2 + cosmiconfig: 5.2.1 + deepmerge: 4.3.1 + fast-glob: 3.3.2 + joi: 17.13.0 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-debugger-ui@13.6.4: + resolution: {integrity: sha512-9Gs31s6tA1kuEo69ay9qLgM3x2gsN/RI994DCUKnFSW+qSusQJyyrmfllR2mGU3Wl1W09/nYpIg87W9JPf5y4A==} + dependencies: + serve-static: 1.15.0 + transitivePeerDependencies: + - supports-color + + /@react-native-community/cli-doctor@13.6.4: + resolution: {integrity: sha512-lWOXCISH/cHtLvO0cWTr+IPSzA54FewVOw7MoCMEvWusH+1n7c3hXTAve78mLozGQ7iuUufkHFWwKf3dzOkflQ==} + dependencies: + '@react-native-community/cli-config': 13.6.4 + '@react-native-community/cli-platform-android': 13.6.4 + '@react-native-community/cli-platform-apple': 13.6.4 + '@react-native-community/cli-platform-ios': 13.6.4 + '@react-native-community/cli-tools': 13.6.4 + chalk: 4.1.2 + command-exists: 1.2.9 + deepmerge: 4.3.1 + envinfo: 7.12.0 + execa: 5.1.1 + hermes-profile-transformer: 0.0.6 + node-stream-zip: 1.15.0 + ora: 5.4.1 + semver: 7.6.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + yaml: 2.3.2 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-hermes@13.6.4: + resolution: {integrity: sha512-VIAufA/2wTccbMYBT9o+mQs9baOEpTxCiIdWeVdkPWKzIwtKsLpDZJlUqj4r4rI66mwjFyQ60PhwSzEJ2ApFeQ==} + dependencies: + '@react-native-community/cli-platform-android': 13.6.4 + '@react-native-community/cli-tools': 13.6.4 + chalk: 4.1.2 + hermes-profile-transformer: 0.0.6 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-platform-android@13.6.4: + resolution: {integrity: sha512-WhknYwIobKKCqaGCN3BzZEQHTbaZTDiGvcXzevvN867ldfaGdtbH0DVqNunbPoV1RNzeV9qKoQHFdWBkg83tpg==} + dependencies: + '@react-native-community/cli-tools': 13.6.4 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.3.6 + logkitty: 0.7.1 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-platform-apple@13.6.4: + resolution: {integrity: sha512-TLBiotdIz0veLbmvNQIdUv9fkBx7m34ANGYqr5nH7TFxdmey+Z+omoBqG/HGpvyR7d0AY+kZzzV4k+HkYHM/aQ==} + dependencies: + '@react-native-community/cli-tools': 13.6.4 + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.3.6 + ora: 5.4.1 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-platform-ios@13.6.4: + resolution: {integrity: sha512-8Dlva8RY+MY5nhWAj6V7voG3+JOEzDTJmD0FHqL+4p0srvr9v7IEVcxfw5lKBDIUNd0OMAHNevGA+cyz1J60jg==} + dependencies: + '@react-native-community/cli-platform-apple': 13.6.4 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-server-api@13.6.4: + resolution: {integrity: sha512-D2qSuYCFwrrUJUM0SDc9l3lEhU02yjf+9Peri/xhspzAhALnsf6Z/H7BCjddMV42g9/eY33LqiGyN5chr83a+g==} + dependencies: + '@react-native-community/cli-debugger-ui': 13.6.4 + '@react-native-community/cli-tools': 13.6.4 + compression: 1.7.4 + connect: 3.7.0 + errorhandler: 1.5.1 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.15.0 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + /@react-native-community/cli-tools@13.6.4: + resolution: {integrity: sha512-N4oHLLbeTdg8opqJozjClmuTfazo1Mt+oxU7mr7m45VCsFgBqTF70Uwad289TM/3l44PP679NRMAHVYqpIRYtQ==} + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + execa: 5.1.1 + find-up: 5.0.0 + mime: 2.6.0 + node-fetch: 2.6.9 + open: 6.4.0 + ora: 5.4.1 + semver: 7.6.0 + shell-quote: 1.8.1 + sudo-prompt: 9.2.1 + transitivePeerDependencies: + - encoding + + /@react-native-community/cli-types@13.6.4: + resolution: {integrity: sha512-NxGCNs4eYtVC8x0wj0jJ/MZLRy8C+B9l8lY8kShuAcvWTv5JXRqmXjg8uK1aA+xikPh0maq4cc/zLw1roroY/A==} + dependencies: + joi: 17.13.0 + + /@react-native-community/cli@13.6.4: + resolution: {integrity: sha512-V7rt2N5JY7M4dJFgdNfR164r3hZdR/Z7V54dv85TFQHRbdwF4QrkG+GeagAU54qrkK/OU8OH3AF2+mKuiNWpGA==} + engines: {node: '>=18'} + hasBin: true + dependencies: + '@react-native-community/cli-clean': 13.6.4 + '@react-native-community/cli-config': 13.6.4 + '@react-native-community/cli-debugger-ui': 13.6.4 + '@react-native-community/cli-doctor': 13.6.4 + '@react-native-community/cli-hermes': 13.6.4 + '@react-native-community/cli-server-api': 13.6.4 + '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-types': 13.6.4 + chalk: 4.1.2 + commander: 9.5.0 + deepmerge: 4.3.1 + execa: 5.1.1 + find-up: 4.1.0 + fs-extra: 8.1.0 + graceful-fs: 4.2.11 + prompts: 2.4.2 + semver: 7.6.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + /@react-native/assets-registry@0.74.81: + resolution: {integrity: sha512-ms+D6pJ6l30epm53pwnAislW79LEUHJxWfe1Cu0LWyTTBlg1OFoqXfB3eIbpe4WyH3nrlkQAh0yyk4huT2mCvw==} + engines: {node: '>=18'} + + /@react-native/babel-plugin-codegen@0.74.81(@babel/preset-env@7.24.4): + resolution: {integrity: sha512-Bj6g5/xkLMBAdC6665TbD3uCKCQSmLQpGv3gyqya/ydZpv3dDmDXfkGmO4fqTwEMunzu09Sk55st2ipmuXAaAg==} + engines: {node: '>=18'} + dependencies: + '@react-native/codegen': 0.74.81(@babel/preset-env@7.24.4) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + /@react-native/babel-preset@0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4): + resolution: {integrity: sha512-H80B3Y3lBBVC4x9tceTEQq/04lx01gW6ajWCcVbd7sHvGEAxfMFEZUmVZr0451Cafn02wVnDJ8psto1F+0w5lw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.23.9) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.23.9) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.23.9) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.23.9) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.23.9) + '@babel/template': 7.24.0 + '@react-native/babel-plugin-codegen': 0.74.81(@babel/preset-env@7.24.4) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.23.9) + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + /@react-native/codegen@0.74.81(@babel/preset-env@7.24.4): + resolution: {integrity: sha512-hhXo4ccv2lYWaJrZDsdbRTZ5SzSOdyZ0MY6YXwf3xEFLuSunbUMu17Rz5LXemKXlpVx4KEgJ/TDc2pPVaRPZgA==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + dependencies: + '@babel/parser': 7.24.4 + '@babel/preset-env': 7.24.4(@babel/core@7.23.9) + glob: 7.2.3 + hermes-parser: 0.19.1 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.24.4) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + /@react-native/community-cli-plugin@0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4): + resolution: {integrity: sha512-ezPOwPxbDgrBZLJJMcXryXJXjv3VWt+Mt4jRZiEtvy6pAoi2owSH0b178T5cEZaWsxQN0BbyJ7F/xJsNiF4z0Q==} + engines: {node: '>=18'} + dependencies: + '@react-native-community/cli-server-api': 13.6.4 + '@react-native-community/cli-tools': 13.6.4 + '@react-native/dev-middleware': 0.74.81 + '@react-native/metro-babel-transformer': 0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4) + chalk: 4.1.2 + execa: 5.1.1 + metro: 0.80.8 + metro-config: 0.80.8 + metro-core: 0.80.8 + node-fetch: 2.6.9 + querystring: 0.2.1 + readline: 1.3.0 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + /@react-native/debugger-frontend@0.74.81: + resolution: {integrity: sha512-HCYF1/88AfixG75558HkNh9wcvGweRaSZGBA71KoZj03umXM8XJy0/ZpacGOml2Fwiqpil72gi6uU+rypcc/vw==} + engines: {node: '>=18'} + + /@react-native/dev-middleware@0.74.81: + resolution: {integrity: sha512-x2IpvUJN1LJE0WmPsSfQIbQaa9xwH+2VDFOUrzuO9cbQap8rNfZpcvVNbrZgrlKbgS4LXbbsj6VSL8b6SnMKMA==} + engines: {node: '>=18'} + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.74.81 + '@rnx-kit/chromium-edge-launcher': 1.0.0 + chrome-launcher: 0.15.2 + connect: 3.7.0 + debug: 2.6.9 + node-fetch: 2.6.9 + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.15.0 + temp-dir: 2.0.0 + ws: 6.2.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + /@react-native/gradle-plugin@0.74.81: + resolution: {integrity: sha512-7YQ4TLnqfe2kplWWzBWO6k0rPSrWEbuEiRXSJNZQCtCk+t2YX985G62p/9jWm3sGLN4UTcpDXaFNTTPBvlycoQ==} + engines: {node: '>=18'} + + /@react-native/js-polyfills@0.74.81: + resolution: {integrity: sha512-o4MiR+/kkHoeoQ/zPwt81LnTm6pqdg0wOhU7S7vIZUqzJ7YUpnpaAvF+/z7HzUOPudnavoCN0wvcZPe/AMEyCA==} + engines: {node: '>=18'} + + /@react-native/metro-babel-transformer@0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4): + resolution: {integrity: sha512-PVcMjj23poAK6Uemflz4MIJdEpONpjqF7JASNqqQkY6wfDdaIiZSNk8EBCWKb0t7nKqhMvtTq11DMzYJ0JFITg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.23.9 + '@react-native/babel-preset': 0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4) + hermes-parser: 0.19.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + /@react-native/normalize-colors@0.74.81: + resolution: {integrity: sha512-g3YvkLO7UsSWiDfYAU+gLhRHtEpUyz732lZB+N8IlLXc5MnfXHC8GKneDGY3Mh52I3gBrs20o37D5viQX9E1CA==} + + /@react-native/virtualized-lists@0.74.81(react-native@0.74.0)(react@18.2.0): + resolution: {integrity: sha512-5jF9S10Ug2Wl+L/0+O8WmbC726sMMX8jk/1JrvDDK+0DRLMobfjLc1L26fONlVBF7lE5ctqvKZ9TlKdhPTNOZg==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.2.6 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.2.0 + react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4)(react@18.2.0) + + /@react-spring/animated@9.7.3(react@18.2.0): + resolution: {integrity: sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 + react: 18.2.0 + + /@react-spring/core@9.7.3(react@18.2.0): + resolution: {integrity: sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/animated': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 + react: 18.2.0 + + /@react-spring/konva@9.7.3(konva@9.3.6)(react-konva@18.2.10)(react@18.2.0): + resolution: {integrity: sha512-R9sY6SiPGYqz1383P5qppg5z57YfChVknOC1UxxaGxpw+WiZa8fZ4zmZobslrw+os3/+HAXZv8O+EvU/nQpf7g==} + peerDependencies: + konva: '>=2.6' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-konva: ^16.8.0 || ^16.8.7-0 || ^16.9.0-0 || ^16.10.1-0 || ^16.12.0-0 || ^16.13.0-0 || ^17.0.0-0 || ^17.0.1-0 || ^17.0.2-0 || ^18.0.0-0 + dependencies: + '@react-spring/animated': 9.7.3(react@18.2.0) + '@react-spring/core': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 + konva: 9.3.6 + react: 18.2.0 + react-konva: 18.2.10(konva@9.3.6)(react-dom@18.2.0)(react@18.2.0) + + /@react-spring/native@9.7.3(react-native@0.74.0)(react@18.2.0): + resolution: {integrity: sha512-4mpxX3FuEBCUT6ae2fjhxcJW6bhr2FBwFf274eXB7n+U30Gdg8Wo2qYwcUnmiAA0S3dvP8vLTazx3+CYWFShnA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react: ^16.8.0 || >=17.0.0 || >=18.0.0 + react-native: '>=0.58' dependencies: - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - clsx: 2.1.0 + '@react-spring/animated': 9.7.3(react@18.2.0) + '@react-spring/core': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 react: 18.2.0 + react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4)(react@18.2.0) - /@react-aria/visually-hidden@3.6.0(react@18.2.0): - resolution: {integrity: sha512-W3Ix5wdlVzh2GY7dytqOAyLCXiHzk3S4jLKSaoiCwPJX9fHE5zMlZwahhDy27V0LXfjmdjBltbwyEZOq4G/Q0w==} + /@react-spring/shared@9.7.3(react@18.2.0): + resolution: {integrity: sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - clsx: 1.2.1 + '@react-spring/types': 9.7.3 react: 18.2.0 - /@react-aria/visually-hidden@3.6.1(react@18.2.0): - resolution: {integrity: sha512-7rUbiaIiR1nok9HAHPn/WcyQlvuldUqxnvh81V4dlI3NtXOgMw7/QaNc5Xo5FFWlsSVpbyK3UVJgzIui0Ns0Xg==} + /@react-spring/three@9.7.3(@react-three/fiber@8.16.2)(react@18.2.0)(three@0.163.0): + resolution: {integrity: sha512-Q1p512CqUlmMK8UMBF/Rj79qndhOWq4XUTayxMP9S892jiXzWQuj+xC3Xvm59DP/D4JXusXpxxqfgoH+hmOktA==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@react-three/fiber': '>=6.0' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + three: '>=0.126' dependencies: - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - clsx: 1.2.1 + '@react-spring/animated': 9.7.3(react@18.2.0) + '@react-spring/core': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 + '@react-three/fiber': 8.16.2(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(three@0.163.0) react: 18.2.0 + three: 0.163.0 - /@react-dnd/asap@5.0.2: - resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==} + /@react-spring/types@9.7.3: + resolution: {integrity: sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==} - /@react-dnd/invariant@4.0.2: - resolution: {integrity: sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==} + /@react-spring/web@9.7.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/animated': 9.7.3(react@18.2.0) + '@react-spring/core': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) - /@react-dnd/shallowequal@4.0.2: - resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} + /@react-spring/zdog@9.7.3(react-dom@18.2.0)(react-zdog@1.2.2)(react@18.2.0)(zdog@1.1.3): + resolution: {integrity: sha512-L+yK/1PvNi9n8cldiJ309k4LdxcPkeWE0W18l1zrP1IBIyd5NB5EPA8DMsGr9gtNnnIujtEzZk+4JIOjT8u/tw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-zdog: '>=1.0' + zdog: '>=1.0' + dependencies: + '@react-spring/animated': 9.7.3(react@18.2.0) + '@react-spring/core': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/types': 9.7.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-zdog: 1.2.2 + zdog: 1.1.3 /@react-stately/checkbox@3.3.2(react@18.2.0): resolution: {integrity: sha512-eU3zvWgQrcqS8UK8ZVkb3fMP816PeuN9N0/dOJKuOXXhkoLPuxtuja1oEqKU3sFMa5+bx3czZhhNIRpr60NAdw==} @@ -3530,6 +5387,47 @@ packages: '@swc/helpers': 0.4.14 react: 18.2.0 + /@react-three/fiber@8.16.2(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(three@0.163.0): + resolution: {integrity: sha512-3Z5FW8mxzomBbrw2iF0lNOAlNBr2OK6HR0NM416PzcTs0UcSoPj/nD4eqmrV5Kut6kvCc/TJua5LyeoPE7vSmw==} + peerDependencies: + expo: '>=43.0' + expo-asset: '>=8.4' + expo-file-system: '>=11.0' + expo-gl: '>=11.0' + react: '>=18.0' + react-dom: '>=18.0' + react-native: '>=0.64' + three: '>=0.133' + peerDependenciesMeta: + expo: + optional: true + expo-asset: + optional: true + expo-file-system: + optional: true + expo-gl: + optional: true + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@types/react-reconciler': 0.26.7 + '@types/webxr': 0.5.15 + base64-js: 1.5.1 + buffer: 6.0.3 + its-fine: 1.2.5(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4)(react@18.2.0) + react-reconciler: 0.27.0(react@18.2.0) + react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0) + scheduler: 0.21.0 + suspend-react: 0.1.3(react@18.2.0) + three: 0.163.0 + zustand: 3.7.2(react@18.2.0) + /@react-types/accordion@3.0.0-alpha.13(react@18.2.0): resolution: {integrity: sha512-RQP+UInEdPjyyX8IbmUbPXgx6NJaKYpNrMDa8yxqDKLH0MIfsKQldu/lBHuRP3OIrVTr18r/ICjdOZjtVObtLw==} peerDependencies: @@ -3704,6 +5602,19 @@ packages: '@react-types/shared': 3.22.1(react@18.2.0) react: 18.2.0 + /@rnx-kit/chromium-edge-launcher@1.0.0: + resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==} + engines: {node: '>=14.15'} + dependencies: + '@types/node': 18.19.31 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + mkdirp: 1.0.4 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + /@rollup/pluginutils@5.1.0(rollup@4.14.1): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -3724,7 +5635,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@rollup/rollup-android-arm64@4.14.1: @@ -3732,7 +5642,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@rollup/rollup-darwin-arm64@4.14.1: @@ -3740,7 +5649,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@rollup/rollup-darwin-x64@4.14.1: @@ -3748,7 +5656,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm-gnueabihf@4.14.1: @@ -3756,7 +5663,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm64-gnu@4.14.1: @@ -3764,7 +5670,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-arm64-musl@4.14.1: @@ -3772,7 +5677,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-powerpc64le-gnu@4.14.1: @@ -3780,7 +5684,6 @@ packages: cpu: [ppc64le] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-riscv64-gnu@4.14.1: @@ -3788,7 +5691,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-s390x-gnu@4.14.1: @@ -3796,7 +5698,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-x64-gnu@4.14.1: @@ -3804,7 +5705,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-linux-x64-musl@4.14.1: @@ -3812,7 +5712,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-arm64-msvc@4.14.1: @@ -3820,7 +5719,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-ia32-msvc@4.14.1: @@ -3828,7 +5726,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-x64-msvc@4.14.1: @@ -3836,7 +5733,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@rushstack/node-core-library@4.0.2(@types/node@18.19.31): @@ -3887,9 +5783,19 @@ packages: - '@types/node' dev: true + /@sideway/address@4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + dependencies: + '@hapi/hoek': 9.3.0 + + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true /@sinonjs/commons@2.0.0: resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -3901,13 +5807,11 @@ packages: resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: type-detect: 4.0.8 - dev: true /@sinonjs/fake-timers@10.3.0: resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: '@sinonjs/commons': 3.0.0 - dev: true /@sinonjs/fake-timers@11.2.2: resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} @@ -4063,6 +5967,53 @@ packages: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true + /@types/d3-array@3.0.3: + resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==} + + /@types/d3-color@3.1.0: + resolution: {integrity: sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==} + + /@types/d3-delaunay@6.0.1: + resolution: {integrity: sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==} + + /@types/d3-format@3.0.1: + resolution: {integrity: sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==} + + /@types/d3-geo@3.1.0: + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + dependencies: + '@types/geojson': 7946.0.14 + + /@types/d3-hierarchy@1.1.11: + resolution: {integrity: sha512-lnQiU7jV+Gyk9oQYk0GGYccuexmQPTp08E0+4BidgFdiJivjEvf+esPSdZqCZ2C7UwTWejWpqetVaU8A+eX3FA==} + + /@types/d3-interpolate@3.0.1: + resolution: {integrity: sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==} + dependencies: + '@types/d3-color': 3.1.0 + + /@types/d3-path@1.0.11: + resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} + + /@types/d3-scale@4.0.2: + resolution: {integrity: sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==} + dependencies: + '@types/d3-time': 3.0.0 + + /@types/d3-shape@1.3.12: + resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} + dependencies: + '@types/d3-path': 1.0.11 + + /@types/d3-time-format@2.1.0: + resolution: {integrity: sha512-/myT3I7EwlukNOX2xVdMzb8FRgNzRMpsZddwst9Ld/VFe6LyJyRp0s32l/V9XoUzk+Gqu56F/oGk6507+8BxrA==} + + /@types/d3-time@3.0.0: + resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} + + /@types/d3-voronoi@1.1.12: + resolution: {integrity: sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw==} + /@types/debug@4.1.7: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: @@ -4070,7 +6021,9 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true + + /@types/geojson@7946.0.14: + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} /@types/glob-to-regexp@0.4.4: resolution: {integrity: sha512-nDKoaKJYbnn1MZxUY0cA1bPmmgZbg0cTq7Rh13d0KWYNOiKbqoR+2d89SnRPszGh7ROzSwZ/GOjZ4jPbmmZ6Eg==} @@ -4081,7 +6034,16 @@ packages: /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 /@types/js-levenshtein@1.1.1: resolution: {integrity: sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==} @@ -4126,6 +6088,11 @@ packages: /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + /@types/node-forge@1.3.11: + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + dependencies: + '@types/node': 18.19.31 + /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true @@ -4154,6 +6121,16 @@ packages: dependencies: '@types/react': 18.2.75 + /@types/react-reconciler@0.26.7: + resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==} + dependencies: + '@types/react': 18.2.75 + + /@types/react-reconciler@0.28.8: + resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==} + dependencies: + '@types/react': 18.2.75 + /@types/react@18.2.75: resolution: {integrity: sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==} dependencies: @@ -4188,18 +6165,37 @@ packages: resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} dev: true + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + /@types/unist@2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} /@types/unist@3.0.2: resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + /@types/webxr@0.5.15: + resolution: {integrity: sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw==} + /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: '@types/node': 18.19.31 dev: true + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + /@types/yargs@15.0.19: + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + dependencies: + '@types/yargs-parser': 21.0.3 + + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + dependencies: + '@types/yargs-parser': 21.0.3 + /@types/yauzl@2.10.3: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true @@ -4351,7 +6347,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4370,7 +6366,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4390,7 +6386,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4409,7 +6405,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4428,7 +6424,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4448,7 +6444,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) downshift: 6.1.12(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4457,7 +6453,7 @@ packages: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + /@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): resolution: {integrity: sha512-yhfFoJUlX81gOur093uDXrZu8lflm43DpcRhjHtX0pE6MiwSWIGygTNdjyXEE/MWC4/mwdeU1k94ahCXkfiffw==} peerDependencies: react: '>=16.8.0' @@ -4467,8 +6463,8 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) @@ -4486,7 +6482,7 @@ packages: - react-native - scheduler - /@udecode/plate-core@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + /@udecode/plate-core@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): resolution: {integrity: sha512-sBEB2vMu2KG4/KTBwyui1mBzORBm+tPg05p/mk+/Ihy/gBlxBpIyiuRUo3iRD9ZTm+sAJLZT5e3Vv8wWyu3Bfg==} peerDependencies: react: '>=16.8.0' @@ -4517,7 +6513,7 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) use-deep-compare: 1.2.1(react@18.2.0) zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) - zustand-x: 3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) + zustand-x: 3.0.2(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) transitivePeerDependencies: - '@types/react' - immer @@ -4537,7 +6533,7 @@ packages: dependencies: '@emoji-mart/data': 1.1.2 '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4559,7 +6555,7 @@ packages: dependencies: '@floating-ui/core': 1.6.0 '@floating-ui/react': 0.22.3(react-dom@18.2.0)(react@18.2.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4578,7 +6574,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4597,7 +6593,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 @@ -4618,7 +6614,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) lodash: 4.17.21 react: 18.2.0 @@ -4640,7 +6636,7 @@ packages: slate-react: '>=0.99.0' dependencies: '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4659,7 +6655,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4679,7 +6675,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4698,7 +6694,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -4706,7 +6702,7 @@ packages: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) - /@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + /@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): resolution: {integrity: sha512-IedyGPqF/yrSjc1ODBSM5xZXC5yPORyqq5vFlk+uNV4khPMDer2PMGnv5se6yVQhSMdAN81gLtlFKONDKIjAjQ==} peerDependencies: react: '>=16.8.0' @@ -4716,7 +6712,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0) '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) @@ -4785,33 +6781,298 @@ packages: /@udecode/slate@31.0.0(slate-history@0.100.0)(slate@0.102.0): resolution: {integrity: sha512-VK84em/ZQYgu2PnXBLG8ON47n3DAZZL//yA3oWs4J3hTg92UTXpizNZiwk9iA+mb+xcRomwuWwpTUCyE8VI3rQ==} peerDependencies: - slate: '>=0.94.0' - slate-history: '>=0.93.0' + slate: '>=0.94.0' + slate-history: '>=0.93.0' + dependencies: + '@udecode/utils': 31.0.0 + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + + /@udecode/utils@31.0.0: + resolution: {integrity: sha512-06JTl1UAm3mzLLAx8hdMUFw4XRQG727z9JoJ9PeBnmFb9q4Cg3DdmbFnhVJMrBPWlyOwoHtPrBjnanTFeiP36Q==} + + /@udecode/zustood@2.0.0(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2): + resolution: {integrity: sha512-zMmEhP55PHVxIsMWuBf7LbNUTkGDPAGeCtcbJUD+k47ubkLR/yg0hjQh0hD0DARl2X86U+SJNe628qxVtMARVw==} + peerDependencies: + zustand: '>=4.3.9' + dependencies: + immer: 10.0.4 + react-tracked: 1.7.11(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0) + zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + - react-native + - scheduler + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@visx/annotation@3.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-v0htpd/sT1kdU1N7frqmj078UByJXUwPQJT9LENv0ypssjGyRgvZERjkgSUuMKMjZquOBs/f6XOzxF4mLV57sA==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/react': 18.2.75 + '@visx/drag': 3.3.0(react@18.2.0) + '@visx/group': 3.3.0(react@18.2.0) + '@visx/text': 3.3.0(react@18.2.0) + classnames: 2.3.2 + prop-types: 15.8.1 + react: 18.2.0 + react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react-dom + + /@visx/axis@3.10.1(react@18.2.0): + resolution: {integrity: sha512-HBEDLcpZoJ16hFbkYu3S6mN5mbwlFmUWY5yN967X06RdIL4LmAG3gnZ7u4F9buA3LQo+trJXW78moN005odD4Q==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/react': 18.2.75 + '@visx/group': 3.3.0(react@18.2.0) + '@visx/point': 3.3.0 + '@visx/scale': 3.5.0 + '@visx/shape': 3.5.0(react@18.2.0) + '@visx/text': 3.3.0(react@18.2.0) + classnames: 2.3.2 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/bounds@3.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-gESmN+4N2NkeUzqQEDZaS63umkGfMp9XjQcKBqtOR64mjjQtamh3lNVRWvKjJ2Zb421RbYHWq22Wv9nay6ZUOg==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + react-dom: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/react': 18.2.75 + '@types/react-dom': 18.2.24 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@visx/curve@3.3.0: + resolution: {integrity: sha512-G1l1rzGWwIs8ka3mBhO/gj8uYK6XdU/3bwRSoiZ+MockMahQFPog0bUkuVgPwwzPSJfsA/E5u53Y/DNesnHQxg==} + dependencies: + '@types/d3-shape': 1.3.12 + d3-shape: 1.3.7 + + /@visx/drag@3.3.0(react@18.2.0): + resolution: {integrity: sha512-fLNsorq6GyANCqAE/dToG0q7YoGVxihGC9FZQUp0MCV1wMJIJ45ximhrl5NDng2ytbpWnBmXu8M8hdsdFuvIXw==} + peerDependencies: + react: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/react': 18.2.75 + '@visx/event': 3.3.0 + '@visx/point': 3.3.0 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/event@3.3.0: + resolution: {integrity: sha512-fKalbNgNz2ooVOTXhvcOx5IlEQDgVfX66rI7bgZhBxI2/scy+5rWcXJXpwkheRF68SMx9R93SjKW6tmiD0h+jA==} + dependencies: + '@types/react': 18.2.75 + '@visx/point': 3.3.0 + + /@visx/glyph@3.3.0(react@18.2.0): + resolution: {integrity: sha512-U2r1rFLpim3afKuuAmrbxXGSDCaLwXHmjXxWN8PiIQPMxpS7eaa/V5g2TRd/+x0KCkaf3Ismk4VKMl8ZlrmxIQ==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/d3-shape': 1.3.12 + '@types/react': 18.2.75 + '@visx/group': 3.3.0(react@18.2.0) + classnames: 2.3.2 + d3-shape: 1.3.7 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/grid@3.5.0(react@18.2.0): + resolution: {integrity: sha512-i1pdobTE223ItMiER3q4ojIaZWja3vg46TkS6FotnBZ4c0VRDHSrALQPdi0na+YEgppASWCQ2WrI/vD6mIkhSg==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/react': 18.2.75 + '@visx/curve': 3.3.0 + '@visx/group': 3.3.0(react@18.2.0) + '@visx/point': 3.3.0 + '@visx/scale': 3.5.0 + '@visx/shape': 3.5.0(react@18.2.0) + classnames: 2.3.2 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/group@3.3.0(react@18.2.0): + resolution: {integrity: sha512-yKepDKwJqlzvnvPS0yDuW13XNrYJE4xzT6xM7J++441nu6IybWWwextyap8ey+kU651cYDb+q1Oi6aHvQwyEyw==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/react': 18.2.75 + classnames: 2.3.2 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/hierarchy@3.3.0(react@18.2.0): + resolution: {integrity: sha512-nPOZDsSst95+eZOQjZQbq1cuVywriiNAOQp2yXDkZov/32b7Qj0aakXvwU1Yd2DhriuSxlNzMecwVX7L6azrIg==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/d3-hierarchy': 1.1.11 + '@types/react': 18.2.75 + '@visx/group': 3.3.0(react@18.2.0) + classnames: 2.3.2 + d3-hierarchy: 1.1.9 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/point@3.3.0: + resolution: {integrity: sha512-03eBBIJarkmX79WbeEGTUZwmS5/MUuabbiM9KfkGS9pETBTWkp1DZtEHZdp5z34x5TDQVLSi0rk1Plg3/8RtDg==} + + /@visx/react-spring@3.10.1(@react-spring/web@9.7.3)(react@18.2.0): + resolution: {integrity: sha512-OB64l98nGF0pBFXUmAgzQVJNhQvLXTw3RpyP11LpljJh4NRtpcnuHAYCruVQJjRrN7MIrqPdhhG0xvibLib2rg==} + peerDependencies: + '@react-spring/web': ^9.4.5 + react: ^16.3.0-0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/web': 9.7.3(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.75 + '@visx/axis': 3.10.1(react@18.2.0) + '@visx/grid': 3.5.0(react@18.2.0) + '@visx/scale': 3.5.0 + '@visx/text': 3.3.0(react@18.2.0) + classnames: 2.3.2 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/responsive@3.10.2(react@18.2.0): + resolution: {integrity: sha512-oDzFnLLpGpvTcFDoixVJX6iKOVzNJJW4dlAnsfgtxa/ibgMFZGoN4QL3NIzVlgg9s0fTDFCgQ+0FSMv1VvgKlQ==} + peerDependencies: + react: ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/lodash': 4.14.202 + '@types/react': 18.2.75 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/scale@3.5.0: + resolution: {integrity: sha512-xo3zrXV2IZxrMq9Y9RUVJUpd93h3NO/r/y3GVi5F9AsbOzOhsLIbsPkunhO9mpUSR8LZ9TiumLEBrY+3frRBSg==} + dependencies: + '@visx/vendor': 3.5.0 + + /@visx/shape@3.5.0(react@18.2.0): + resolution: {integrity: sha512-DP3t9jBQ7dSE3e6ptA1xO4QAIGxO55GrY/6P+S6YREuQGjZgq20TLYLAsiaoPEzFSS4tp0m12ZTPivWhU2VBTw==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/d3-path': 1.0.11 + '@types/d3-shape': 1.3.12 + '@types/lodash': 4.14.202 + '@types/react': 18.2.75 + '@visx/curve': 3.3.0 + '@visx/group': 3.3.0(react@18.2.0) + '@visx/scale': 3.5.0 + classnames: 2.3.2 + d3-path: 1.0.9 + d3-shape: 1.3.7 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.2.0 + + /@visx/text@3.3.0(react@18.2.0): + resolution: {integrity: sha512-fOimcsf0GtQE9whM5MdA/xIkHMaV29z7qNqNXysUDE8znSMKsN+ott7kSg2ljAEE89CQo3WKHkPNettoVsa84w==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/lodash': 4.14.202 + '@types/react': 18.2.75 + classnames: 2.3.2 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.2.0 + reduce-css-calc: 1.3.0 + + /@visx/tooltip@3.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0ovbxnvAphEU/RVJprWHdOJT7p3YfBDpwXclXRuhIY2EkH59g8sDHatDcYwiNPeqk61jBh1KACRZxqToMuutlg==} + peerDependencies: + react: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 + react-dom: ^16.8.0-0 || ^17.0.0-0 || ^18.0.0-0 dependencies: - '@udecode/utils': 31.0.0 - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - - /@udecode/utils@31.0.0: - resolution: {integrity: sha512-06JTl1UAm3mzLLAx8hdMUFw4XRQG727z9JoJ9PeBnmFb9q4Cg3DdmbFnhVJMrBPWlyOwoHtPrBjnanTFeiP36Q==} + '@types/react': 18.2.75 + '@visx/bounds': 3.3.0(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0) + + /@visx/vendor@3.5.0: + resolution: {integrity: sha512-yt3SEZRVmt36+APsCISSO9eSOtzQkBjt+QRxNRzcTWuzwMAaF3PHCCSe31++kkpgY9yFoF+Gfes1TBe5NlETiQ==} + dependencies: + '@types/d3-array': 3.0.3 + '@types/d3-color': 3.1.0 + '@types/d3-delaunay': 6.0.1 + '@types/d3-format': 3.0.1 + '@types/d3-geo': 3.1.0 + '@types/d3-interpolate': 3.0.1 + '@types/d3-scale': 4.0.2 + '@types/d3-time': 3.0.0 + '@types/d3-time-format': 2.1.0 + d3-array: 3.2.1 + d3-color: 3.1.0 + d3-delaunay: 6.0.2 + d3-format: 3.1.0 + d3-geo: 3.1.0 + d3-interpolate: 3.0.1 + d3-scale: 4.0.2 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + internmap: 2.0.3 + + /@visx/voronoi@3.3.0(react@18.2.0): + resolution: {integrity: sha512-twVovwdcEZZRkFV+x6yXGcyohf7gYHz0y/dFoS0SfGtEwT+CMEQgfO3ZDNQjU8X/m8je/wu9qtd35Zur+0RYOQ==} + peerDependencies: + react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 + dependencies: + '@types/d3-voronoi': 1.1.12 + '@types/react': 18.2.75 + classnames: 2.3.2 + d3-voronoi: 1.1.4 + prop-types: 15.8.1 + react: 18.2.0 - /@udecode/zustood@2.0.0(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2): - resolution: {integrity: sha512-zMmEhP55PHVxIsMWuBf7LbNUTkGDPAGeCtcbJUD+k47ubkLR/yg0hjQh0hD0DARl2X86U+SJNe628qxVtMARVw==} + /@visx/xychart@3.10.2(@react-spring/web@9.7.3)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5anIMd8QELJP+FMYYeC4vtdhSfHZlz+bx5NGe5eNSAfMFmrEJavYmhV8WblnjBa2DAm46E4yAP+8FJJG24MrSA==} peerDependencies: - zustand: '>=4.3.9' + '@react-spring/web': ^9.4.5 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - immer: 10.0.4 - react-tracked: 1.7.11(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) + '@react-spring/web': 9.7.3(react-dom@18.2.0)(react@18.2.0) + '@types/lodash': 4.14.202 + '@types/react': 18.2.75 + '@visx/annotation': 3.3.0(react-dom@18.2.0)(react@18.2.0) + '@visx/axis': 3.10.1(react@18.2.0) + '@visx/event': 3.3.0 + '@visx/glyph': 3.3.0(react@18.2.0) + '@visx/grid': 3.5.0(react@18.2.0) + '@visx/react-spring': 3.10.1(@react-spring/web@9.7.3)(react@18.2.0) + '@visx/responsive': 3.10.2(react@18.2.0) + '@visx/scale': 3.5.0 + '@visx/shape': 3.5.0(react@18.2.0) + '@visx/text': 3.3.0(react@18.2.0) + '@visx/tooltip': 3.3.0(react-dom@18.2.0)(react@18.2.0) + '@visx/vendor': 3.5.0 + '@visx/voronoi': 3.3.0(react@18.2.0) + classnames: 2.3.2 + d3-interpolate-path: 2.2.1 + d3-shape: 2.1.0 + lodash: 4.17.21 + mitt: 2.1.0 + prop-types: 15.8.1 + react: 18.2.0 transitivePeerDependencies: - - react - react-dom - - react-native - - scheduler - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true /@vitejs/plugin-react@4.2.1(vite@4.5.3): resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} @@ -4827,8 +7088,9 @@ packages: vite: 4.5.3(@types/node@18.19.31) transitivePeerDependencies: - supports-color + dev: true - /@vitejs/plugin-react@4.2.1(vite@5.2.8): + /@vitejs/plugin-react@4.2.1(vite@5.2.10): resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4839,10 +7101,9 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.2.8(@types/node@18.19.31) + vite: 5.2.10(@types/node@18.19.31) transitivePeerDependencies: - supports-color - dev: true /@vitest/coverage-v8@1.4.0(vitest@1.4.0): resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} @@ -5025,12 +7286,18 @@ packages: engines: {node: '>=6.5'} dependencies: event-target-shim: 5.0.1 - dev: false /abstract-logging@2.0.1: resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} dev: false + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -5090,6 +7357,9 @@ packages: uri-js: 4.4.1 dev: false + /anser@1.4.10: + resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} + /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -5102,6 +7372,17 @@ packages: type-fest: 0.21.3 dev: true + /ansi-fragments@0.2.1: + resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} + dependencies: + colorette: 1.4.0 + slice-ansi: 2.1.0 + strip-ansi: 5.2.0 + + /ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -5125,7 +7406,6 @@ packages: /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} @@ -5141,6 +7421,9 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 + /appdirsjs@1.2.7: + resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} + /arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} dev: true @@ -5185,7 +7468,6 @@ packages: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 - dev: true /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -5335,6 +7617,9 @@ packages: engines: {node: '>=0.10.0'} dev: true + /asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + /asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} dependencies: @@ -5354,11 +7639,24 @@ packages: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} dev: true + /ast-types@0.15.2: + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} + dependencies: + tslib: 2.6.2 + + /astral-regex@1.0.0: + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} + /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} dev: true + /async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + /async@3.2.5: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} @@ -5440,9 +7738,59 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false + /babel-core@7.0.0-bridge.0(@babel/core@7.24.4): + resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.23.9): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.23.9) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.23.9): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.23.9) + core-js-compat: 3.36.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.23.9): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.23.9) + transitivePeerDependencies: + - supports-color + + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.23.9): + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + dependencies: + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) + transitivePeerDependencies: + - '@babel/core' + /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + /balanced-match@0.4.2: + resolution: {integrity: sha512-STw03mQKnGUYtoNjmowo4F2cRmIIxYEGiMsjjwla/u5P1lxadj/05WkNaFjNiKTgJkj8KiXbgAiRTmcQRwQNtg==} + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -5472,7 +7820,6 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.0 - dev: true /blob-util@2.0.2: resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} @@ -5519,6 +7866,11 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -5528,19 +7880,20 @@ packages: engines: {node: '>=8.0.0'} dev: false + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} @@ -5554,6 +7907,10 @@ packages: run-applescript: 7.0.0 dev: false + /bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -5574,6 +7931,22 @@ packages: set-function-length: 1.2.1 dev: true + /caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + dependencies: + callsites: 2.0.0 + + /caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + dependencies: + caller-callsite: 2.0.0 + + /callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -5595,7 +7968,10 @@ packages: /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} /caniuse-lite@1.0.30001588: resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} @@ -5646,7 +8022,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true /character-entities-legacy@1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} @@ -5692,6 +8067,21 @@ packages: optionalDependencies: fsevents: 2.3.3 + /chrome-launcher@0.15.2: + resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} + engines: {node: '>=12.13.0'} + hasBin: true + dependencies: + '@types/node': 18.19.31 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + transitivePeerDependencies: + - supports-color + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} @@ -5700,7 +8090,6 @@ packages: /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - dev: true /ci-info@4.0.0: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} @@ -5727,12 +8116,10 @@ packages: engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 - dev: true /cli-spinners@2.7.0: resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} engines: {node: '>=6'} - dev: true /cli-table3@0.6.3: resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} @@ -5762,7 +8149,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -5771,12 +8157,18 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true /clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} @@ -5803,6 +8195,9 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true @@ -5814,11 +8209,12 @@ packages: delayed-stream: 1.0.0 dev: true + /command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} requiresBuild: true - dev: true - optional: true /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} @@ -5829,11 +8225,18 @@ packages: engines: {node: '>= 6'} dev: true + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} dev: true + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + /compress-commons@6.0.2: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} @@ -5845,6 +8248,26 @@ packages: readable-stream: 4.3.0 dev: false + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + /compute-scroll-into-view@1.0.20: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} @@ -5873,6 +8296,17 @@ packages: uint8array-extras: 0.3.0 dev: false + /connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -5890,7 +8324,6 @@ packages: resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: browserslist: 4.23.0 - dev: true /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -5898,7 +8331,15 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: false + + /cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.1 + parse-json: 4.0.0 /crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} @@ -6040,6 +8481,85 @@ packages: yauzl: 2.10.0 dev: true + /d3-array@3.2.1: + resolution: {integrity: sha512-gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==} + engines: {node: '>=12'} + dependencies: + internmap: 2.0.3 + + /d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + /d3-delaunay@6.0.2: + resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} + engines: {node: '>=12'} + dependencies: + delaunator: 5.0.1 + + /d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + /d3-geo@3.1.0: + resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.1 + + /d3-hierarchy@1.1.9: + resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==} + + /d3-interpolate-path@2.2.1: + resolution: {integrity: sha512-6qLLh/KJVzls0XtMsMpcxhqMhgVEN7VIbR/6YGZe2qlS8KDgyyVB20XcmGnDyB051HcefQXM/Tppa9vcANEA4Q==} + + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + + /d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + /d3-path@2.0.0: + resolution: {integrity: sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==} + + /d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.1 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + /d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + dependencies: + d3-path: 1.0.9 + + /d3-shape@2.1.0: + resolution: {integrity: sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA==} + dependencies: + d3-path: 2.0.0 + + /d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + dependencies: + d3-time: 3.1.0 + + /d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.1 + + /d3-voronoi@1.1.4: + resolution: {integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==} + /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true @@ -6098,7 +8618,6 @@ packages: /dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: true /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -6111,6 +8630,19 @@ packages: mimic-fn: 4.0.0 dev: false + /debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + /debug@3.2.7(supports-color@8.1.1): resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -6146,7 +8678,6 @@ packages: /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - dev: true /decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -6186,6 +8717,10 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + /default-browser-id@5.0.0: resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} engines: {node: '>=18'} @@ -6203,7 +8738,6 @@ packages: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 - dev: true /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} @@ -6228,15 +8762,31 @@ packages: object-keys: 1.1.1 dev: true + /delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + dependencies: + robust-predicates: 3.0.2 + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true + /denodeify@1.2.1: + resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + /detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -6365,6 +8915,9 @@ packages: safer-buffer: 2.1.2 dev: true + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + /electron-to-chromium@1.4.673: resolution: {integrity: sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==} @@ -6374,6 +8927,10 @@ packages: /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -6417,11 +8974,27 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false + /envinfo@7.12.0: + resolution: {integrity: sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==} + engines: {node: '>=4'} + hasBin: true + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - dev: true + + /error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + + /errorhandler@1.5.1: + resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} + engines: {node: '>= 0.8'} + dependencies: + accepts: 1.3.8 + escape-html: 1.0.3 /es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} @@ -6587,6 +9160,7 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 + dev: true /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} @@ -6617,7 +9191,6 @@ packages: '@esbuild/win32-arm64': 0.20.2 '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -6630,10 +9203,13 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - dev: true /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} @@ -7028,7 +9604,6 @@ packages: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -7062,12 +9637,14 @@ packages: /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - dev: false /eventemitter2@6.4.7: resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} @@ -7092,6 +9669,20 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -7213,6 +9804,12 @@ packages: resolution: {integrity: sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==} dev: false + /fast-xml-parser@4.3.6: + resolution: {integrity: sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==} + hasBin: true + dependencies: + strnum: 1.0.5 + /fastify-plugin@4.5.0: resolution: {integrity: sha512-79ak0JxddO0utAXAQ5ccKhvs6vX2MGyHHMMsmZkBANrq3hXc1CHzvNPHOcvTsVMEPl5I+NT+RO4YKMGehOfSIg==} dev: false @@ -7245,6 +9842,11 @@ packages: dependencies: reusify: 1.0.4 + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + /fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} dependencies: @@ -7277,11 +9879,33 @@ packages: flat-cache: 3.0.4 dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + /find-cache-dir@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} dependencies: - to-regex-range: 5.0.1 + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 /find-my-way@8.1.0: resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} @@ -7296,13 +9920,18 @@ packages: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} dev: true + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} @@ -7310,7 +9939,6 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true /find-up@6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} @@ -7339,6 +9967,16 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true + /flow-enums-runtime@0.0.6: + resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + + /flow-parser@0.234.0: + resolution: {integrity: sha512-J1Wn32xDF1l8FqwshoQnTwC9K3aJ83MFuXUx9AcBQr8ttbI/rkjEgAqnjxaIJuZ6RGMfccN5ZxDJSOMM64qy9Q==} + engines: {node: '>=0.4.0'} + + /fontfaceobserver@2.1.0: + resolution: {integrity: sha512-ReOsO2F66jUa0jmv2nlM/s1MiutJx/srhAe2+TE8dJCMi02ZZOcCTxTCQFr3Yet+uODUtnr4Mewg+tNQ+4V1Ng==} + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: @@ -7398,6 +10036,10 @@ packages: optionalDependencies: '@emotion/is-prop-valid': 0.8.8 + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -7431,7 +10073,6 @@ packages: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} @@ -7477,7 +10118,6 @@ packages: /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - dev: true /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -7509,6 +10149,10 @@ packages: pump: 3.0.0 dev: true + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -7587,7 +10231,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} @@ -7719,6 +10362,28 @@ packages: resolution: {integrity: sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==} dev: true + /hermes-estree@0.19.1: + resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==} + + /hermes-estree@0.20.1: + resolution: {integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==} + + /hermes-parser@0.19.1: + resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==} + dependencies: + hermes-estree: 0.19.1 + + /hermes-parser@0.20.1: + resolution: {integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==} + dependencies: + hermes-estree: 0.20.1 + + /hermes-profile-transformer@0.0.6: + resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==} + engines: {node: '>=8'} + dependencies: + source-map: 0.7.4 + /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: @@ -7732,6 +10397,16 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + /http-signature@1.3.6: resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} engines: {node: '>=0.10'} @@ -7750,6 +10425,10 @@ packages: engines: {node: '>=8.12.0'} dev: true + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -7770,12 +10449,26 @@ packages: engines: {node: '>= 4'} dev: true + /image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true + dependencies: + queue: 6.0.2 + /immer@10.0.4: resolution: {integrity: sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==} /immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + /import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -7792,7 +10485,6 @@ packages: /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - dev: true /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} @@ -7843,6 +10535,10 @@ packages: side-channel: 1.0.6 dev: true + /internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + /intl-messageformat@10.3.3: resolution: {integrity: sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==} dependencies: @@ -7898,7 +10594,6 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true /is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} @@ -7973,6 +10668,15 @@ packages: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true + /is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + + /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} @@ -7989,6 +10693,10 @@ packages: call-bind: 1.0.7 dev: true + /is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -8032,7 +10740,6 @@ packages: /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} @@ -8077,6 +10784,12 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + /is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -8155,7 +10868,6 @@ packages: /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -8179,6 +10891,16 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + /is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} @@ -8192,7 +10914,6 @@ packages: /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: false /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -8206,6 +10927,10 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + /isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true @@ -8253,6 +10978,14 @@ packages: set-function-name: 2.0.2 dev: true + /its-fine@1.2.5(react@18.2.0): + resolution: {integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==} + peerDependencies: + react: '>=18.0' + dependencies: + '@types/react-reconciler': 0.28.8 + react: 18.2.0 + /jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} @@ -8261,6 +10994,74 @@ packages: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.31 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.24.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.31 + jest-util: 29.7.0 + + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + '@types/node': 18.19.31 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 18.19.31 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -8269,6 +11070,15 @@ packages: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true + /joi@17.13.0: + resolution: {integrity: sha512-9qcrTyoBmFZRNHeVP4edKqIUEgFzq7MHvTNSDuHSqkpOPtiBkgNgcmTSqmiw1kw9tdKaiddvIDv/eCJDxmqWCA==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + /jotai-optics@0.3.2(jotai@2.8.0)(optics-ts@2.4.1): resolution: {integrity: sha512-RH6SvqU5hmkVqnHmaqf9zBXvIAs4jLxkDHS4fr5ljuBKHs8+HQ02v+9hX7ahTppxx6dUb0GGUE80jQKJ0kFTLw==} peerDependencies: @@ -8327,7 +11137,6 @@ packages: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -8340,10 +11149,44 @@ packages: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true + /jsc-android@250231.0.0: + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} + + /jsc-safe-url@0.2.4: + resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} + + /jscodeshift@0.14.0(@babel/preset-env@7.24.4): + resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 + dependencies: + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/preset-env': 7.24.4(@babel/core@7.23.9) + '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/register': 7.23.7(@babel/core@7.24.4) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) + chalk: 4.1.2 + flow-parser: 0.234.0 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.21.5 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - dev: true /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} @@ -8356,6 +11199,9 @@ packages: hasBin: true dev: 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==} dev: true @@ -8420,7 +11266,6 @@ packages: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 - dev: true /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -8456,7 +11301,6 @@ packages: /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - dev: true /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} @@ -8470,6 +11314,9 @@ packages: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} dev: true + /konva@9.3.6: + resolution: {integrity: sha512-dqR8EbcM0hjuilZCBP6xauQ5V3kH3m9kBcsDkqPypQuRgsXbcXUrxqYxhNbdvKZpYNW8Amq94jAD/C0NY3qfBQ==} + /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true @@ -8493,6 +11340,10 @@ packages: readable-stream: 2.3.7 dev: false + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -8509,6 +11360,14 @@ packages: set-cookie-parser: 2.6.0 dev: false + /lighthouse-logger@1.4.2: + resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + dependencies: + debug: 2.6.9 + marky: 1.2.5 + transitivePeerDependencies: + - supports-color + /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -8554,19 +11413,24 @@ packages: pkg-types: 1.0.3 dev: true + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 - dev: true /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 - dev: true /locate-path@7.2.0: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} @@ -8577,7 +11441,9 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} @@ -8602,6 +11468,9 @@ packages: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} dev: true + /lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -8611,7 +11480,6 @@ packages: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true /log-update@4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} @@ -8623,6 +11491,14 @@ packages: wrap-ansi: 6.2.0 dev: true + /logkitty@0.7.1: + resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} + hasBin: true + dependencies: + ansi-fragments: 0.2.1 + dayjs: 1.11.10 + yargs: 15.4.1 + /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -8692,6 +11568,13 @@ packages: source-map-js: 1.0.2 dev: true + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + dependencies: + pify: 4.0.1 + semver: 5.7.2 + /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -8702,6 +11585,11 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -8715,6 +11603,12 @@ packages: /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + /marky@1.2.5: + resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} + + /math-expression-evaluator@1.4.0: + resolution: {integrity: sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw==} + /mdast-util-find-and-replace@2.2.2: resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} dependencies: @@ -8803,61 +11697,260 @@ packages: transitivePeerDependencies: - supports-color - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + /mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + dependencies: + '@types/mdast': 3.0.10 + unist-util-is: 5.2.1 + + /mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + dependencies: + '@types/mdast': 3.0.10 + '@types/unist': 2.0.6 + longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.1 + mdast-util-to-string: 3.2.0 + micromark-util-decode-string: 1.0.2 + unist-util-visit: 4.1.2 + zwitch: 2.0.4 + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + dependencies: + '@types/mdast': 3.0.10 + + /memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + + /meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /metric-lcs@0.1.2: + resolution: {integrity: sha512-+TZ5dUDPKPJaU/rscTzxyN8ZkX7eAVLAiQU/e+YINleXPv03SCmJShaMT1If1liTH8OcmWXZs0CmzCBRBLcMpA==} + dev: true + + /metro-babel-transformer@0.80.8: + resolution: {integrity: sha512-TTzNwRZb2xxyv4J/+yqgtDAP2qVqH3sahsnFu6Xv4SkLqzrivtlnyUbaeTdJ9JjtADJUEjCbgbFgUVafrXdR9Q==} + engines: {node: '>=18'} + dependencies: + '@babel/core': 7.24.4 + hermes-parser: 0.20.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + /metro-cache-key@0.80.8: + resolution: {integrity: sha512-qWKzxrLsRQK5m3oH8ePecqCc+7PEhR03cJE6Z6AxAj0idi99dHOSitTmY0dclXVB9vP2tQIAE8uTd8xkYGk8fA==} + engines: {node: '>=18'} + + /metro-cache@0.80.8: + resolution: {integrity: sha512-5svz+89wSyLo7BxdiPDlwDTgcB9kwhNMfNhiBZPNQQs1vLFXxOkILwQiV5F2EwYT9DEr6OPZ0hnJkZfRQ8lDYQ==} + engines: {node: '>=18'} + dependencies: + metro-core: 0.80.8 + rimraf: 3.0.2 + + /metro-config@0.80.8: + resolution: {integrity: sha512-VGQJpfJawtwRzGzGXVUoohpIkB0iPom4DmSbAppKfumdhtLA8uVeEPp2GM61kL9hRvdbMhdWA7T+hZFDlo4mJA==} + engines: {node: '>=18'} + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + jest-validate: 29.7.0 + metro: 0.80.8 + metro-cache: 0.80.8 + metro-core: 0.80.8 + metro-runtime: 0.80.8 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + /metro-core@0.80.8: + resolution: {integrity: sha512-g6lud55TXeISRTleW6SHuPFZHtYrpwNqbyFIVd9j9Ofrb5IReiHp9Zl8xkAfZQp8v6ZVgyXD7c130QTsCz+vBw==} + engines: {node: '>=18'} + dependencies: + lodash.throttle: 4.1.1 + metro-resolver: 0.80.8 + + /metro-file-map@0.80.8: + resolution: {integrity: sha512-eQXMFM9ogTfDs2POq7DT2dnG7rayZcoEgRbHPXvhUWkVwiKkro2ngcBE++ck/7A36Cj5Ljo79SOkYwHaWUDYDw==} + engines: {node: '>=18'} + dependencies: + anymatch: 3.1.3 + debug: 2.6.9 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.5 + node-abort-controller: 3.1.1 + nullthrows: 1.1.1 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + + /metro-minify-terser@0.80.8: + resolution: {integrity: sha512-y8sUFjVvdeUIINDuW1sejnIjkZfEF+7SmQo0EIpYbWmwh+kq/WMj74yVaBWuqNjirmUp1YNfi3alT67wlbBWBQ==} + engines: {node: '>=18'} + dependencies: + terser: 5.30.4 + + /metro-resolver@0.80.8: + resolution: {integrity: sha512-JdtoJkP27GGoZ2HJlEsxs+zO7jnDUCRrmwXJozTlIuzLHMRrxgIRRby9fTCbMhaxq+iA9c+wzm3iFb4NhPmLbQ==} + engines: {node: '>=18'} + + /metro-runtime@0.80.8: + resolution: {integrity: sha512-2oScjfv6Yb79PelU1+p8SVrCMW9ZjgEiipxq7jMRn8mbbtWzyv3g8Mkwr+KwOoDFI/61hYPUbY8cUnu278+x1g==} + engines: {node: '>=18'} + dependencies: + '@babel/runtime': 7.23.9 + + /metro-source-map@0.80.8: + resolution: {integrity: sha512-+OVISBkPNxjD4eEKhblRpBf463nTMk3KMEeYS8Z4xM/z3qujGJGSsWUGRtH27+c6zElaSGtZFiDMshEb8mMKQg==} + engines: {node: '>=18'} + dependencies: + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + invariant: 2.2.4 + metro-symbolicate: 0.80.8 + nullthrows: 1.1.1 + ob1: 0.80.8 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + /metro-symbolicate@0.80.8: + resolution: {integrity: sha512-nwhYySk79jQhwjL9QmOUo4wS+/0Au9joEryDWw7uj4kz2yvw1uBjwmlql3BprQCBzRdB3fcqOP8kO8Es+vE31g==} + engines: {node: '>=18'} + hasBin: true dependencies: - '@types/mdast': 3.0.10 - unist-util-is: 5.2.1 + invariant: 2.2.4 + metro-source-map: 0.80.8 + nullthrows: 1.1.1 + source-map: 0.5.7 + through2: 2.0.5 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + /metro-transform-plugins@0.80.8: + resolution: {integrity: sha512-sSu8VPL9Od7w98MftCOkQ1UDeySWbsIAS5I54rW22BVpPnI3fQ42srvqMLaJUQPjLehUanq8St6OMBCBgH/UWw==} + engines: {node: '>=18'} dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - longest-streak: 3.1.0 - mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.0.2 - unist-util-visit: 4.1.2 - zwitch: 2.0.4 - - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + /metro-transform-worker@0.80.8: + resolution: {integrity: sha512-+4FG3TQk3BTbNqGkFb2uCaxYTfsbuFOCKMMURbwu0ehCP8ZJuTUramkaNZoATS49NSAkRgUltgmBa4YaKZ5mqw==} + engines: {node: '>=18'} dependencies: - '@types/mdast': 3.0.10 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + metro: 0.80.8 + metro-babel-transformer: 0.80.8 + metro-cache: 0.80.8 + metro-cache-key: 0.80.8 + metro-minify-terser: 0.80.8 + metro-source-map: 0.80.8 + metro-transform-plugins: 0.80.8 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate - /meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} + /metro@0.80.8: + resolution: {integrity: sha512-in7S0W11mg+RNmcXw+2d9S3zBGmCARDxIwoXJAmLUQOQoYsRP3cpGzyJtc7WOw8+FXfpgXvceD0u+PZIHXEL7g==} + engines: {node: '>=18'} + hasBin: true dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - /metric-lcs@0.1.2: - resolution: {integrity: sha512-+TZ5dUDPKPJaU/rscTzxyN8ZkX7eAVLAiQU/e+YINleXPv03SCmJShaMT1If1liTH8OcmWXZs0CmzCBRBLcMpA==} - dev: true + '@babel/code-frame': 7.24.2 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + denodeify: 1.2.1 + error-stack-parser: 2.1.4 + graceful-fs: 4.2.11 + hermes-parser: 0.20.1 + image-size: 1.1.1 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.80.8 + metro-cache: 0.80.8 + metro-cache-key: 0.80.8 + metro-config: 0.80.8 + metro-core: 0.80.8 + metro-file-map: 0.80.8 + metro-resolver: 0.80.8 + metro-runtime: 0.80.8 + metro-source-map: 0.80.8 + metro-symbolicate: 0.80.8 + metro-transform-plugins: 0.80.8 + metro-transform-worker: 0.80.8 + mime-types: 2.1.35 + node-fetch: 2.6.9 + nullthrows: 1.1.1 + rimraf: 3.0.2 + serialize-error: 2.1.0 + source-map: 0.5.7 + strip-ansi: 6.0.1 + throat: 5.0.0 + ws: 7.5.9 + yargs: 17.7.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate /micromark-core-commonmark@1.0.6: resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} @@ -9098,19 +12191,26 @@ packages: /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: true /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - dev: true + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + /mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} @@ -9160,12 +12260,14 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /minipass@7.0.4: resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} + /mitt@2.1.0: + resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} + /mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -9174,6 +12276,17 @@ packages: engines: {node: '>= 8.0.0'} dev: true + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + /mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} dependencies: @@ -9203,12 +12316,14 @@ packages: engines: {node: '>=10'} dev: true + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /msw@1.3.3(typescript@5.4.4): resolution: {integrity: sha512-CiPyRFiYJCXYyH/vwxT7m+sa4VZHuUH6cGwRBj0kaTjBGpsk4EnL47YzhoA859htVCF2vzqZuOsomIUlFqg9GQ==} @@ -9270,6 +12385,13 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + /nise@5.1.5: resolution: {integrity: sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==} dependencies: @@ -9280,6 +12402,10 @@ packages: path-to-regexp: 1.8.0 dev: true + /nocache@3.0.4: + resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} + engines: {node: '>=12.0.0'} + /nock@13.5.4: resolution: {integrity: sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==} engines: {node: '>= 10.13'} @@ -9291,6 +12417,15 @@ packages: - supports-color dev: true + /node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + /node-dir@0.1.17: + resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} + engines: {node: '>= 0.10.5'} + dependencies: + minimatch: 3.1.2 + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -9306,7 +12441,6 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: true /node-fetch@3.3.2: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} @@ -9317,6 +12451,10 @@ packages: formdata-polyfill: 4.0.10 dev: false + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + /node-html-parser@5.3.3: resolution: {integrity: sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==} dependencies: @@ -9324,9 +12462,16 @@ packages: he: 1.2.0 dev: true + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + /node-stream-zip@1.15.0: + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -9350,7 +12495,6 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 - dev: true /npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} @@ -9365,6 +12509,13 @@ packages: boolbase: 1.0.0 dev: true + /nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + + /ob1@0.80.8: + resolution: {integrity: sha512-QHJQk/lXMmAW8I7AIM3in1MSlwe1umR72Chhi8B7Xnq6mzjhBKkA6Fy/zAhQnGkA4S912EPCEvTij5yh+EQTAA==} + engines: {node: '>=18'} + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -9454,6 +12605,22 @@ packages: resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} dev: false + /on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -9464,7 +12631,6 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 - dev: true /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} @@ -9483,6 +12649,19 @@ packages: is-wsl: 3.1.0 dev: false + /open@6.4.0: + resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} + engines: {node: '>=8'} + dependencies: + is-wsl: 1.1.0 + + /open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + /optics-ts@2.4.1: resolution: {integrity: sha512-HaYzMHvC80r7U/LqAd4hQyopDezC60PO2qF5GuIwALut2cl5rK1VWHsqTp0oqoJJWjiv6uXKqsO+Q2OO0C3MmQ==} @@ -9511,7 +12690,6 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} @@ -9542,14 +12720,12 @@ packages: engines: {node: '>=6'} dependencies: p-try: 2.2.0 - dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 - dev: true /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -9565,19 +12741,23 @@ packages: yocto-queue: 1.0.0 dev: true + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 - dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 - dev: true /p-locate@6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} @@ -9601,7 +12781,6 @@ packages: /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - dev: true /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -9621,6 +12800,13 @@ packages: is-hexadecimal: 1.0.4 dev: true + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -9631,14 +12817,21 @@ packages: lines-and-columns: 1.2.4 dev: true + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true + /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'} - dev: true /path-exists@5.0.0: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} @@ -9713,7 +12906,6 @@ packages: /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - dev: true /pino-abstract-transport@1.1.0: resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} @@ -9747,6 +12939,12 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + /pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + dependencies: + find-up: 3.0.0 + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -9875,6 +13073,15 @@ packages: engines: {node: '>=6'} dev: true + /pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + dependencies: + '@jest/types': 26.6.2 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 17.0.2 + /pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -9891,7 +13098,6 @@ packages: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true /prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} @@ -9899,7 +13105,6 @@ packages: /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: false /process-warning@2.2.0: resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} @@ -9913,13 +13118,17 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} + /promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + dependencies: + asap: 2.0.6 + /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: false /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -9979,6 +13188,11 @@ packages: side-channel: 1.0.6 dev: true + /querystring@0.2.1: + resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + /querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} dev: true @@ -9990,6 +13204,11 @@ packages: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} dev: false + /queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + dependencies: + inherits: 2.0.4 + /quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} dev: false @@ -9999,6 +13218,10 @@ packages: engines: {node: '>=8'} dev: true + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + /react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} peerDependencies: @@ -10023,6 +13246,15 @@ packages: react-onclickoutside: 6.13.0(react-dom@18.2.0)(react@18.2.0) react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0) + /react-devtools-core@5.1.0: + resolution: {integrity: sha512-NRtLBqYVLrIY+lOa2oTpFiAhI7Hru0AUXI0tP9neCyaPPAzlZyeH0i+VZ0shIyRTJbpvyqbD/uCsewA2hpfZHw==} + dependencies: + shell-quote: 1.8.1 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + /react-dnd-html5-backend@16.0.1: resolution: {integrity: sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==} dependencies: @@ -10082,6 +13314,78 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==} + peerDependencies: + konva: ^8.0.1 || ^7.2.5 || ^9.0.0 + react: '>=18.0.0' + react-dom: '>=18.0.0' + dependencies: + '@types/react-reconciler': 0.28.8 + its-fine: 1.2.5(react@18.2.0) + konva: 9.3.6 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-reconciler: 0.29.0(react@18.2.0) + scheduler: 0.23.0 + + /react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4)(react@18.2.0): + resolution: {integrity: sha512-Vpp9WPmkCm4TUH5YDxwQhqktGVon/yLpjbTgjgLqup3GglOgWagYCX3MlmK1iksIcqtyMJHMEWa+UEzJ3G9T8w==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@types/react': ^18.2.6 + react: 18.2.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native-community/cli': 13.6.4 + '@react-native-community/cli-platform-android': 13.6.4 + '@react-native-community/cli-platform-ios': 13.6.4 + '@react-native/assets-registry': 0.74.81 + '@react-native/codegen': 0.74.81(@babel/preset-env@7.24.4) + '@react-native/community-cli-plugin': 0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4) + '@react-native/gradle-plugin': 0.74.81 + '@react-native/js-polyfills': 0.74.81 + '@react-native/normalize-colors': 0.74.81 + '@react-native/virtualized-lists': 0.74.81(react-native@0.74.0)(react@18.2.0) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + base64-js: 1.5.1 + chalk: 4.1.2 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + jsc-android: 250231.0.0 + memoize-one: 5.2.1 + metro-runtime: 0.80.8 + metro-source-map: 0.80.8 + mkdirp: 0.5.6 + nullthrows: 1.1.1 + pretty-format: 26.6.2 + promise: 8.3.0 + react: 18.2.0 + react-devtools-core: 5.1.0 + react-refresh: 0.14.0 + react-shallow-renderer: 16.15.0(react@18.2.0) + regenerator-runtime: 0.13.11 + scheduler: 0.24.0-canary-efb381bbf-20230505 + stacktrace-parser: 0.1.10 + whatwg-fetch: 3.6.20 + ws: 6.2.2 + yargs: 17.7.1 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + /react-onclickoutside@6.13.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==} peerDependencies: @@ -10104,6 +13408,26 @@ packages: react-fast-compare: 3.2.2 warning: 4.0.3 + /react-reconciler@0.27.0(react@18.2.0): + resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.0.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.21.0 + + /react-reconciler@0.29.0(react@18.2.0): + resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} @@ -10141,6 +13465,38 @@ packages: use-callback-ref: 1.3.0(@types/react@18.2.75)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.75)(react@18.2.0) + /react-shallow-renderer@16.15.0(react@18.2.0): + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + object-assign: 4.1.1 + react: 18.2.0 + react-is: 18.2.0 + + /react-spring@9.7.3(@react-three/fiber@8.16.2)(konva@9.3.6)(react-dom@18.2.0)(react-konva@18.2.10)(react-native@0.74.0)(react-zdog@1.2.2)(react@18.2.0)(three@0.163.0)(zdog@1.1.3): + resolution: {integrity: sha512-oTxDpFV5gzq7jQX6+bU0SVq+vX8VnuuT5c8Zwn6CpDErOPvCmV+DRkPiEBtaL3Ozgzwiy5yFx83N0h303j/r3A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@react-spring/core': 9.7.3(react@18.2.0) + '@react-spring/konva': 9.7.3(konva@9.3.6)(react-konva@18.2.10)(react@18.2.0) + '@react-spring/native': 9.7.3(react-native@0.74.0)(react@18.2.0) + '@react-spring/three': 9.7.3(@react-three/fiber@8.16.2)(react@18.2.0)(three@0.163.0) + '@react-spring/web': 9.7.3(react-dom@18.2.0)(react@18.2.0) + '@react-spring/zdog': 9.7.3(react-dom@18.2.0)(react-zdog@1.2.2)(react@18.2.0)(zdog@1.1.3) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@react-three/fiber' + - konva + - react-konva + - react-native + - react-zdog + - three + - zdog + /react-style-singleton@2.2.1(@types/react@18.2.75)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -10170,7 +13526,7 @@ packages: transitivePeerDependencies: - '@types/react' - /react-tracked@1.7.11(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0): + /react-tracked@1.7.11(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0): resolution: {integrity: sha512-+XXv4dJH7NnLtSD/cPVL9omra4A3KRK91L33owevXZ81r7qF/a9DdCsVZa90jMGht/V1Ym9sasbmidsJykhULQ==} peerDependencies: react: '>=16.8.0' @@ -10186,8 +13542,26 @@ packages: proxy-compare: 2.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - scheduler: 0.23.0 - use-context-selector: 1.4.1(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) + react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4)(react@18.2.0) + scheduler: 0.23.0 + use-context-selector: 1.4.1(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0) + + /react-use-measure@2.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==} + peerDependencies: + react: '>=16.13' + react-dom: '>=16.13' + dependencies: + debounce: 1.2.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /react-zdog@1.2.2: + resolution: {integrity: sha512-Ix7ALha91aOEwiHuxumCeYbARS5XNpc/w0v145oGkM6poF/CvhKJwzLhM5sEZbtrghMA+psAhOJkCTzJoseicA==} + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} @@ -10239,7 +13613,6 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: false /readable-stream@3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} @@ -10248,7 +13621,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /readable-stream@4.3.0: resolution: {integrity: sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==} @@ -10272,11 +13644,23 @@ packages: dependencies: picomatch: 2.3.1 + /readline@1.3.0: + resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} + /real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} dev: false + /recast@0.21.5: + resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} + engines: {node: '>= 4'} + dependencies: + ast-types: 0.15.2 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.6.2 + /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -10285,6 +13669,18 @@ packages: strip-indent: 3.0.0 dev: true + /reduce-css-calc@1.3.0: + resolution: {integrity: sha512-0dVfwYVOlf/LBA2ec4OwQ6p3X9mYxn/wOl2xTcLwjnPYrkgEfPx3VI4eGCH3rQLlPISG5v9I9bkZosKsNRTRKA==} + dependencies: + balanced-match: 0.4.2 + math-expression-evaluator: 1.4.0 + reduce-function-call: 1.0.3 + + /reduce-function-call@1.0.3: + resolution: {integrity: sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==} + dependencies: + balanced-match: 1.0.2 + /redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: @@ -10303,13 +13699,26 @@ packages: which-builtin-type: 1.1.3 dev: true + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: true /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.23.9 + /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true @@ -10325,6 +13734,17 @@ packages: set-function-name: 2.0.2 dev: true + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + /regjsparser@0.10.0: resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true @@ -10332,6 +13752,12 @@ packages: jsesc: 0.5.0 dev: true + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + /remark-gfm@3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} dependencies: @@ -10360,7 +13786,6 @@ packages: /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - dev: true /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} @@ -10369,12 +13794,18 @@ packages: /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + + /resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -10427,7 +13858,6 @@ packages: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true /ret@0.2.2: resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} @@ -10441,12 +13871,20 @@ packages: /rfdc@1.3.1: resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + /rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + hasBin: true + dependencies: + glob: 7.2.3 + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 - dev: true + + /robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} /rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} @@ -10454,6 +13892,7 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.3 + dev: true /rollup@4.14.1: resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} @@ -10478,7 +13917,6 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.14.1 '@rollup/rollup-win32-x64-msvc': 4.14.1 fsevents: 2.3.3 - dev: true /run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} @@ -10519,11 +13957,9 @@ packages: /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: false /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} @@ -10549,11 +13985,21 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true + /scheduler@0.21.0: + resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==} + dependencies: + loose-envify: 1.4.0 + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 + /scheduler@0.24.0-canary-efb381bbf-20230505: + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} + dependencies: + loose-envify: 1.4.0 + /scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} dependencies: @@ -10563,10 +14009,16 @@ packages: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - dev: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -10586,9 +14038,43 @@ packages: dependencies: lru-cache: 6.0.0 + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + /serialize-error@2.1.0: + resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} + engines: {node: '>=0.10.0'} + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} @@ -10615,6 +14101,15 @@ packages: has-property-descriptors: 1.0.2 dev: true + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -10637,6 +14132,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + /side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -10653,7 +14151,6 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -10681,12 +14178,10 @@ packages: /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: false /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true /slate-history@0.100.0(slate@0.102.0): resolution: {integrity: sha512-x5rUuWLNtH97hs9PrFovGgt3Qc5zkTm/5mcUB+0NR/TK923eLax4HsL6xACLHMs245nI6aJElyM1y6hN0y5W/Q==} @@ -10731,6 +14226,14 @@ packages: is-plain-object: 5.0.0 tiny-warning: 1.0.3 + /slice-ansi@2.1.0: + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -10777,10 +14280,23 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} @@ -10822,7 +14338,6 @@ packages: /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true /sshpk@1.18.0: resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} @@ -10840,10 +14355,33 @@ packages: tweetnacl: 0.14.5 dev: true + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true + /stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + /std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} dev: true @@ -10948,13 +14486,11 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - dev: false /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true /stringify-object@4.0.1: resolution: {integrity: sha512-qpV1FBpN0R1gDAhCHIU71SYGZb35Te+gOQbQ6lYRmVJT7pF1NB8mkHeEJvyYNiHXw+fB4KIbeIjQl1rgiIijiA==} @@ -10965,6 +14501,12 @@ packages: is-regexp: 3.1.0 dev: true + /strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + dependencies: + ansi-regex: 4.1.1 + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -10985,7 +14527,6 @@ packages: /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - dev: true /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} @@ -11010,6 +14551,9 @@ packages: js-tokens: 8.0.3 dev: true + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + /stubborn-fs@1.2.5: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} dev: false @@ -11027,6 +14571,9 @@ packages: pirates: 4.0.6 ts-interface-checker: 0.1.13 + /sudo-prompt@9.2.1: + resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -11038,7 +14585,6 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} @@ -11050,6 +14596,13 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + /suspend-react@0.1.3(react@18.2.0): + resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==} + peerDependencies: + react: '>=17.0' + dependencies: + react: 18.2.0 + /synckit@0.6.2: resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} engines: {node: '>=12.20'} @@ -11111,11 +14664,31 @@ packages: streamx: 2.15.5 dev: false + /temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + + /temp@0.8.4: + resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} + engines: {node: '>=6.0.0'} + dependencies: + rimraf: 2.6.3 + /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} dev: true + /terser@5.30.4: + resolution: {integrity: sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -11146,10 +14719,22 @@ packages: real-require: 0.2.0 dev: false + /three@0.163.0: + resolution: {integrity: sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==} + + /throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + /throttleit@1.0.1: resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} dev: true + /through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -11188,6 +14773,9 @@ packages: rimraf: 3.0.2 dev: true + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -11203,6 +14791,10 @@ packages: engines: {node: '>=12'} dev: false + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + /totalist@3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} @@ -11220,7 +14812,6 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} @@ -11334,7 +14925,6 @@ packages: /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - dev: true /type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} @@ -11356,6 +14946,10 @@ packages: engines: {node: '>=8'} dev: true + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} @@ -11452,6 +15046,25 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: @@ -11513,7 +15126,6 @@ packages: /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - dev: true /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} @@ -11528,6 +15140,10 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -11576,7 +15192,7 @@ packages: dependencies: react: 18.2.0 - /use-context-selector@1.4.1(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0): + /use-context-selector@1.4.1(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0): resolution: {integrity: sha512-Io2ArvcRO+6MWIhkdfMFt+WKQX+Vb++W8DS2l03z/Vw/rz3BclKpM0ynr4LYGyU85Eke+Yx5oIhTY++QR0ZDoA==} peerDependencies: react: '>=16.8.0' @@ -11591,6 +15207,7 @@ packages: dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4)(react@18.2.0) scheduler: 0.23.0 /use-deep-compare@1.2.1(react@18.2.0): @@ -11601,6 +15218,14 @@ packages: dequal: 2.0.3 react: 18.2.0 + /use-font-face-observer@1.2.1(react@18.2.0): + resolution: {integrity: sha512-5ieKTMvtUux0l7YoOEz842djfgMH3oVg+tO13E/kyS+gGRLDyfAMmRv0D3fzM7UdFag1kz+3AQIFLkkfEF3TUg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + fontfaceobserver: 2.1.0 + react: 18.2.0 + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.75)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: @@ -11669,6 +15294,10 @@ packages: which-typed-array: 1.1.15 dev: true + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -11708,6 +15337,10 @@ packages: engines: {node: '>= 0.10'} dev: true + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + /verror@1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} @@ -11740,7 +15373,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@18.19.31) + vite: 5.2.10(@types/node@18.19.31) transitivePeerDependencies: - '@types/node' - less @@ -11752,7 +15385,7 @@ packages: - terser dev: true - /vite-plugin-dts@3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.8): + /vite-plugin-dts@3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10): resolution: {integrity: sha512-zEYyQxH7lKto1VTKZHF3ZZeOPkkJgnMrePY4VxDHfDSvDjmYMMfWjZxYmNwW8QxbaItWJQhhXY+geAbyNphI7g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -11769,7 +15402,7 @@ packages: kolorist: 1.8.0 magic-string: 0.30.9 typescript: 5.4.4 - vite: 5.2.8(@types/node@18.19.31) + vite: 5.2.10(@types/node@18.19.31) vue-tsc: 1.8.27(typescript@5.4.4) transitivePeerDependencies: - '@types/node' @@ -11777,20 +15410,7 @@ packages: - supports-color dev: true - /vite-plugin-externals@0.6.2(vite@4.5.3): - resolution: {integrity: sha512-R5oVY8xDJjLXLTs2XDYzvYbc/RTZuIwOx2xcFbYf+/VXB6eJuatDgt8jzQ7kZ+IrgwQhe6tU8U2fTyy72C25CQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: '>=2.0.0' - dependencies: - acorn: 8.8.2 - es-module-lexer: 0.4.1 - fs-extra: 10.1.0 - magic-string: 0.25.9 - vite: 4.5.3(@types/node@18.19.31) - dev: false - - /vite-plugin-externals@0.6.2(vite@5.2.8): + /vite-plugin-externals@0.6.2(vite@5.2.10): resolution: {integrity: sha512-R5oVY8xDJjLXLTs2XDYzvYbc/RTZuIwOx2xcFbYf+/VXB6eJuatDgt8jzQ7kZ+IrgwQhe6tU8U2fTyy72C25CQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -11800,10 +15420,9 @@ packages: es-module-lexer: 0.4.1 fs-extra: 10.1.0 magic-string: 0.25.9 - vite: 5.2.8(@types/node@18.19.31) - dev: true + vite: 5.2.10(@types/node@18.19.31) - /vite-plugin-static-copy@1.0.2(vite@5.2.8): + /vite-plugin-static-copy@1.0.2(vite@5.2.10): resolution: {integrity: sha512-AfmEF+a/mfjsUsrgjbCkhzUCeIUF4EKQXXt3Ie1cour9MBpy6f6GphbdW2td28oYfOrwCyRzFCksgLkpk58q6Q==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: @@ -11813,7 +15432,7 @@ packages: fast-glob: 3.3.2 fs-extra: 11.1.1 picocolors: 1.0.0 - vite: 5.2.8(@types/node@18.19.31) + vite: 5.2.10(@types/node@18.19.31) dev: true /vite@4.5.3(@types/node@18.19.31): @@ -11850,6 +15469,42 @@ packages: rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 + dev: true + + /vite@5.2.10(@types/node@18.19.31): + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.19.31 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.1 + optionalDependencies: + fsevents: 2.3.3 /vite@5.2.8(@types/node@18.19.31): resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} @@ -11945,6 +15600,9 @@ packages: - terser dev: true + /vlq@1.0.1: + resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} + /vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} dependencies: @@ -11964,6 +15622,11 @@ packages: typescript: 5.4.4 dev: true + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + /warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} dependencies: @@ -11973,7 +15636,6 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 - dev: true /web-encoding@1.1.5: resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} @@ -11990,13 +15652,15 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} dev: true + /whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + /whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} @@ -12007,7 +15671,6 @@ packages: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true /when-exit@2.0.0: resolution: {integrity: sha512-17lB0PWIgOuil9dgC/vdQY0aq5lwT0umemaIsOTNDBsc1TwclvocXOvkwenwUXEawN5mW3F64X52xPkTFnihDw==} @@ -12052,7 +15715,6 @@ packages: /which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} - dev: true /which-pm@2.0.0: resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} @@ -12115,7 +15777,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -12136,17 +15797,51 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + /write-file-atomic@2.4.3: + resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} + dependencies: + graceful-fs: 4.2.11 + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + /ws@6.2.2: + resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dependencies: + async-limiter: 1.0.1 + + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /xstate@4.38.3: resolution: {integrity: sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw==} + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - dev: true /yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} @@ -12177,12 +15872,10 @@ packages: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 - dev: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - dev: true /yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} @@ -12199,7 +15892,6 @@ packages: which-module: 2.0.0 y18n: 4.0.3 yargs-parser: 18.1.3 - dev: true /yargs@17.7.1: resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} @@ -12212,7 +15904,6 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true /yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} @@ -12228,7 +15919,6 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} @@ -12247,6 +15937,9 @@ packages: commander: 2.20.3 dev: true + /zdog@1.1.3: + resolution: {integrity: sha512-raRj6r0gPzopFm5XWBJZr/NuV4EEnT4iE+U3dp5FV5pCb588Gmm3zLIp/j9yqqcMiHH8VNQlerLTgOqL7krh6w==} + /zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -12260,14 +15953,14 @@ packages: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} dev: false - /zustand-x@3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2): + /zustand-x@3.0.2(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2): resolution: {integrity: sha512-tb4qMWbmgrWEdemb+LlrJiHI1ZMxwlQNz7jDHN5iA/vmU8xlpAX80MQZ2FNLP2KejBFEnsA1RWRAO/0D5O0rPw==} peerDependencies: zustand: '>=4.3.9' dependencies: immer: 10.0.4 lodash.mapvalues: 4.6.0 - react-tracked: 1.7.11(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) + react-tracked: 1.7.11(react-dom@18.2.0)(react-native@0.74.0)(react@18.2.0)(scheduler@0.23.0) zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) transitivePeerDependencies: - react @@ -12275,6 +15968,17 @@ packages: - react-native - scheduler + /zustand@3.7.2(react@18.2.0): + resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} + engines: {node: '>=12.7.0'} + peerDependencies: + react: '>=16.8' + peerDependenciesMeta: + react: + optional: true + dependencies: + react: 18.2.0 + /zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0): resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} engines: {node: '>=12.7.0'} From 52962fa56228111a7a70edf81e57e80913ef2a9d Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Wed, 1 May 2024 13:36:15 +0200 Subject: [PATCH 056/327] fix: changelog --- packages/app-bridge/CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 0872e93fc..81ffb5af5 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -32,6 +32,19 @@ - [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +## 3.6.2 + +### Patch Changes + +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` + +## 3.6.1 + +### Patch Changes + +- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed + ## 3.6.0 ### Minor Changes From d8e3a3b7481f53d3682aaf8bed872b6837e14429 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 14:26:31 +0200 Subject: [PATCH 057/327] chore: release packages (alpha) (#906) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 3 +++ packages/app-bridge/CHANGELOG.md | 10 ++++++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 160026511..2c773f92f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -9,7 +9,9 @@ "@frontify/platform-app": "0.0.5" }, "changesets": [ + "calm-candles-wink", "cuddly-pets-hammer", + "five-mangos-search", "giant-shrimps-dream", "hip-days-applaud", "khaki-dryers-shout", @@ -26,6 +28,7 @@ "polite-eels-shake", "pretty-items-marry", "shaggy-mugs-speak", + "shy-moons-taste", "smart-suns-type", "smooth-planets-pay", "stale-hairs-wash", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 81ffb5af5..4ca162cec 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,15 @@ # @frontify/app-bridge +## 4.0.0-alpha.20 + +### Patch Changes + +- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context + ## 4.0.0-alpha.19 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 9e7577a71..3947a2147 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.19", + "version": "4.0.0-alpha.20", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 0723d89575f47682bc146661e693651f61965c8c Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Wed, 8 May 2024 12:30:57 +0200 Subject: [PATCH 058/327] feat: update appBridgeThemeStub w context/state (#910) * feat: update AppBridgeThemeStub with context and state * changeset --- .changeset/four-crabs-bake.md | 5 ++ .../src/tests/AppBridgeThemeStub.ts | 59 ++++++++++++++++++- 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 .changeset/four-crabs-bake.md diff --git a/.changeset/four-crabs-bake.md b/.changeset/four-crabs-bake.md new file mode 100644 index 000000000..8e28ee068 --- /dev/null +++ b/.changeset/four-crabs-bake.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: (AppBridgeTheme) update appBridgeThemeStub with context and state diff --git a/packages/app-bridge/src/tests/AppBridgeThemeStub.ts b/packages/app-bridge/src/tests/AppBridgeThemeStub.ts index b04cd8a36..dd08751ea 100644 --- a/packages/app-bridge/src/tests/AppBridgeThemeStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeThemeStub.ts @@ -379,8 +379,63 @@ export const getAppBridgeThemeStub = ({ openAssetChooser(callback); }), api: stub>().resolves(), - state: stub>().resolves(), - context: stub>().resolves(), + context: stub>().callsFake((args) => { + if (args === undefined) { + return { + get: () => ({ portalId, brandId, projectId, isEditing: editorState }), + }; + } else { + switch (args) { + case 'portalId': + return { + get: () => portalId, + }; + case 'brandId': + return { + get: () => brandId, + }; + case 'projectId': + return { + get: () => projectId, + }; + case 'isEditing': + return { + get: () => editorState, + }; + default: + return { + get: () => { + throw new Error(`Unknown context key: ${args}`); + }, + }; + } + } + }), + state: stub>().callsFake((args) => { + if (args === undefined) { + return { + get: () => [themeSettings], + set: () => undefined, + }; + } else { + switch (args) { + case 'settings': + return { + get: () => themeSettings, + set: () => undefined, + }; + default: + return { + get: () => { + throw new Error(`Unknown context key: ${args}`); + }, + set: () => { + throw new Error(`Unknown context key: ${args}`); + }, + }; + } + } + }), subscribe: stub>().resolves(), dispatch: stub>().resolves(), }; From 614e13f66735f9c68ba780090b8b05b62318955f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 12:40:07 +0200 Subject: [PATCH 059/327] chore: release packages (alpha) (#911) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 2c773f92f..063cf09ab 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -12,6 +12,7 @@ "calm-candles-wink", "cuddly-pets-hammer", "five-mangos-search", + "four-crabs-bake", "giant-shrimps-dream", "hip-days-applaud", "khaki-dryers-shout", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 4ca162cec..71865ba6c 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.21 + +### Patch Changes + +- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state + ## 4.0.0-alpha.20 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 3947a2147..8c9504efa 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.20", + "version": "4.0.0-alpha.21", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From f58ea80695bc84e2ace370dfe2de0cffb1070d60 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 18:19:44 +0200 Subject: [PATCH 060/327] chore: release packages (alpha) (#915) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 +- packages/app-bridge/CHANGELOG.md | 162 ++++++++++++++++--------------- packages/app-bridge/package.json | 2 +- 3 files changed, 86 insertions(+), 80 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 063cf09ab..a8c0461b8 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -14,6 +14,7 @@ "five-mangos-search", "four-crabs-bake", "giant-shrimps-dream", + "gorgeous-seas-search", "hip-days-applaud", "khaki-dryers-shout", "kind-fishes-flash", @@ -29,7 +30,6 @@ "polite-eels-shake", "pretty-items-marry", "shaggy-mugs-speak", - "shy-moons-taste", "smart-suns-type", "smooth-planets-pay", "stale-hairs-wash", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index e0e8044f8..08c53887d 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,39 +1,45 @@ # @frontify/app-bridge +## 4.0.0-alpha.22 + +### Patch Changes + +- chore: merge branch `main` into dev + ## 4.0.0-alpha.21 ### Patch Changes -- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state +- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state ## 4.0.0-alpha.20 ### Patch Changes -- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe +- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context ## 4.0.0-alpha.19 ### Patch Changes -- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable +- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable ## 4.0.0-alpha.18 ### Patch Changes -- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed - fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed +- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed ## 4.0.0-alpha.17 ### Minor Changes -- # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` ## 3.7.0 @@ -49,312 +55,312 @@ ### Patch Changes -- [#903](https://github.com/Frontify/brand-sdk/pull/903) [`b8c5bb7`](https://github.com/Frontify/brand-sdk/commit/b8c5bb7156a58f6fa020dd56fa1cb6a016440666) Thanks [@Kenny806](https://github.com/Kenny806)! - feat(AppBridgeTheme): add isSearchDialogOpen to context +- [#903](https://github.com/Frontify/brand-sdk/pull/903) [`b8c5bb7`](https://github.com/Frontify/brand-sdk/commit/b8c5bb7156a58f6fa020dd56fa1cb6a016440666) Thanks [@Kenny806](https://github.com/Kenny806)! - feat(AppBridgeTheme): add isSearchDialogOpen to context ## 3.6.2 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` ## 3.6.1 ### Patch Changes -- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed - fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed +- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed ## 3.6.0 ### Minor Changes -- [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` ## 4.0.0-alpha.16 ### Patch Changes -- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings ## 3.5.9 ### Patch Changes -- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings ## 4.0.0-alpha.15 ### Patch Changes -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` ## 3.5.8 ### Patch Changes -- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook +- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook ## 4.0.0-alpha.14 ### Major Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. ### Patch Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. - - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. + - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. ## 3.5.7 ### Patch Changes -- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook +- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook ## 3.5.6 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies ## 4.0.0-alpha.13 ### Patch Changes -- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 +- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 -- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 4.0.0-alpha.12 ### Patch Changes -- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` +- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` ## 4.0.0-alpha.11 ### Minor Changes -- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 4.0.0-alpha.10 ### Minor Changes -- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 4.0.0-alpha.9 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.5.4 ### Patch Changes -- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method +- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method ## 3.5.3 ### Patch Changes -- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well +- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well ## 3.5.2 ### Patch Changes -- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 3.5.1 ### Patch Changes -- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. +- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. - ```jsx - const Component = () => { - const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); + ```jsx + const Component = () => { + const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); - useEffect(() => { - setBlockSettings({ ...blockSettings }); - }, [setBlockSettings]); - }; - ``` + useEffect(() => { + setBlockSettings({ ...blockSettings }); + }, [setBlockSettings]); + }; + ``` ## 3.5.0 ### Minor Changes -- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 3.4.2 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages ## 4.0.0-alpha.8 ### Patch Changes -- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription +- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription -- Merge main into dev +- Merge main into dev ## 3.4.1 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM ## 3.4.0 ### Minor Changes -- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.7 ### Minor Changes -- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.6 ### Patch Changes -- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 -- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext - refactor: rename from type to surface +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface ## 4.0.0-alpha.5 ### Patch Changes -- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type -- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 3.3.2 ### Patch Changes -- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type ## 4.0.0-alpha.4 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.3.1 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 4.0.0-alpha.3 ### Patch Changes -- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision ## 4.0.0-alpha.2 ### Patch Changes -- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 4.0.0-alpha.1 ### Patch Changes -- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme ## 3.3.0 ### Minor Changes -- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 ### Minor Changes -- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context ## 4.0.0-alpha.0 ### Major Changes -- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock ## 3.1.0 ### Minor Changes -- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. - You will need to update the import paths in your tests: +- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. + You will need to update the import paths in your tests: - ```git - - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; - + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; - ``` + ```git + - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; + + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; + ``` ## 3.0.4 ### Patch Changes -- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json +- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json ## 3.0.3 ### Patch Changes -- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order +- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order ## 3.0.2 ### Patch Changes -- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions ## 3.0.1 ### Patch Changes -- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings ## 3.0.0 ### Major Changes -- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release +- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release ## 3.0.0-beta.32 ### Patch Changes -- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions +- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions ## 3.0.0-beta.31 ### Minor Changes -- Add Brandportal link +- Add Brandportal link diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 8c9504efa..f114a8fae 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.21", + "version": "4.0.0-alpha.22", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 1d48008561a2dc3f4b7b4c9fcb7bc44cd7d04bc6 Mon Sep 17 00:00:00 2001 From: Sam Creasey Date: Wed, 15 May 2024 17:59:28 +1000 Subject: [PATCH 061/327] chore: merge main into dev (#918) * feat: add new useAfterInsertion hook (#909) * add new insertion hook * fix lint errors * fix lockfile * fix pr comments * add changeset * adjust changeset * update with review changes * chore: release packages (#916) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] * delete config * remove formatting changes * add changeset --------- Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] --- .changeset/fuzzy-walls-repeat.md | 5 +++ packages/app-bridge/CHANGELOG.md | 24 +++++++++++ packages/app-bridge/src/AppBridgeBlock.ts | 1 + packages/app-bridge/src/react/index.ts | 1 + .../src/react/useAfterInsertion.spec.tsx | 42 +++++++++++++++++++ .../src/react/useAfterInsertion.tsx | 17 ++++++++ .../src/tests/AppBridgeBlockStub.ts | 6 +++ 7 files changed, 96 insertions(+) create mode 100644 .changeset/fuzzy-walls-repeat.md create mode 100644 packages/app-bridge/src/react/useAfterInsertion.spec.tsx create mode 100644 packages/app-bridge/src/react/useAfterInsertion.tsx diff --git a/.changeset/fuzzy-walls-repeat.md b/.changeset/fuzzy-walls-repeat.md new file mode 100644 index 000000000..3d0f4d81a --- /dev/null +++ b/.changeset/fuzzy-walls-repeat.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +chore: Merge main into dev diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 08c53887d..d5554eba9 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -41,6 +41,30 @@ - # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +## 3.8.0 + +### Minor Changes + +- [#909](https://github.com/Frontify/brand-sdk/pull/909) [`14b9fdf`](https://github.com/Frontify/brand-sdk/commit/14b9fdfb5bc58b482350109d1eee1a8c4ff942d6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(useAfterInsertion): A new hook to execute a callback after a block has been inserted, can be used to focus a specific element for faster editing. The callback is only executed when the third argument is true (default). This hook is only usable with instances of AppBridgeBlock. + + ```jsx + const ExampleBlock = ({ appBridge }: BlockProps) => { + const buttonRef = useRef(null); + const [data, setData] = useState(null); + const hasData = data !== null; + + useEffect(() => { + getAsyncData().then((data) => setData(data)); + }, []); + + useAfterInsertion(appBridge, () => buttonRef.current?.focus(), hasData); + + return hasData ? + : +
Loading...
; + }; + ``` + ## 3.7.0 ### Minor Changes diff --git a/packages/app-bridge/src/AppBridgeBlock.ts b/packages/app-bridge/src/AppBridgeBlock.ts index 6b8fc1ad6..8f0bca74c 100644 --- a/packages/app-bridge/src/AppBridgeBlock.ts +++ b/packages/app-bridge/src/AppBridgeBlock.ts @@ -69,6 +69,7 @@ export type BlockContext = { blockId: number; sectionId?: number; isAuthenticated: boolean; + isNewlyInserted: boolean; }; export type BlockEvent = EventNameValidator< diff --git a/packages/app-bridge/src/react/index.ts b/packages/app-bridge/src/react/index.ts index 4d8e6d209..11220d580 100644 --- a/packages/app-bridge/src/react/index.ts +++ b/packages/app-bridge/src/react/index.ts @@ -1,5 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +export * from './useAfterInsertion'; export * from './useAssetBulkDownload'; export * from './useAssetChooser'; export * from './useAssetUpload'; diff --git a/packages/app-bridge/src/react/useAfterInsertion.spec.tsx b/packages/app-bridge/src/react/useAfterInsertion.spec.tsx new file mode 100644 index 000000000..70307fd98 --- /dev/null +++ b/packages/app-bridge/src/react/useAfterInsertion.spec.tsx @@ -0,0 +1,42 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { describe, expect, it, vi } from 'vitest'; + +import { getAppBridgeBlockStub } from '../tests'; + +import { useAfterInsertion } from './useAfterInsertion'; + +describe('useAfterInsertion', () => { + it('should execute a callback after the block has been inserted', () => { + const appBridge = getAppBridgeBlockStub({ isNewlyInserted: true }); + const callbackStub = vi.fn(); + renderHook(() => useAfterInsertion(appBridge, callbackStub)); + + expect(callbackStub).toHaveBeenCalledOnce(); + }); + + it('should not execute a callback if the block is not newly inserted', () => { + const appBridge = getAppBridgeBlockStub({ isNewlyInserted: false }); + const callbackStub = vi.fn(); + renderHook(() => useAfterInsertion(appBridge, callbackStub)); + + expect(callbackStub).not.toHaveBeenCalledOnce(); + }); + + it('should execute callback if the hook is enabled', () => { + const appBridge = getAppBridgeBlockStub({ isNewlyInserted: true }); + const callbackStub = vi.fn(); + renderHook(() => useAfterInsertion(appBridge, callbackStub, true)); + + expect(callbackStub).toHaveBeenCalledOnce(); + }); + + it('should not execute callback if the hook is disabled', () => { + const appBridge = getAppBridgeBlockStub({ isNewlyInserted: true }); + const callbackStub = vi.fn(); + renderHook(() => useAfterInsertion(appBridge, callbackStub, false)); + + expect(callbackStub).not.toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge/src/react/useAfterInsertion.tsx b/packages/app-bridge/src/react/useAfterInsertion.tsx new file mode 100644 index 000000000..19374ae54 --- /dev/null +++ b/packages/app-bridge/src/react/useAfterInsertion.tsx @@ -0,0 +1,17 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useEffect } from 'react'; + +import { type AppBridgeBlock } from '../AppBridgeBlock'; + +export const useAfterInsertion = (appBridge: T, callback: () => void, enabled = true) => { + useEffect(() => { + const isNewlyInserted = appBridge.context('isNewlyInserted').get(); + if (enabled && isNewlyInserted) { + callback(); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [enabled, appBridge]); + + return appBridge; +}; diff --git a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts index 024610fbb..0a62329eb 100644 --- a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts @@ -31,6 +31,7 @@ export type getAppBridgeBlockStubProps = { blockId?: number; sectionId?: number; projectId?: number; + isNewlyInserted?: boolean; isAuthenticated?: boolean; user?: User; language?: string; @@ -46,6 +47,7 @@ export const getAppBridgeBlockStub = ({ blockId = BLOCK_ID, sectionId = SECTION_ID, projectId = PROJECT_ID, + isNewlyInserted = false, isAuthenticated = true, user = UserDummy.with(USER_ID), language = 'en', @@ -199,6 +201,10 @@ export const getAppBridgeBlockStub = ({ return { get: () => isAuthenticated, }; + case 'isNewlyInserted': + return { + get: () => isNewlyInserted, + }; default: return { get: () => { From bc4c48301d1bc4a3dfcec0f75f1c84d3dc6974c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 18:13:18 +1000 Subject: [PATCH 062/327] chore: release packages (alpha) (#919) Signed-off-by: Sam Creasey Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index a8c0461b8..d4e75e31a 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -13,6 +13,7 @@ "cuddly-pets-hammer", "five-mangos-search", "four-crabs-bake", + "fuzzy-walls-repeat", "giant-shrimps-dream", "gorgeous-seas-search", "hip-days-applaud", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index d5554eba9..22fffe324 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.23 + +### Patch Changes + +- [#918](https://github.com/Frontify/brand-sdk/pull/918) [`1d48008`](https://github.com/Frontify/brand-sdk/commit/1d48008561a2dc3f4b7b4c9fcb7bc44cd7d04bc6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: Merge main into dev + ## 4.0.0-alpha.22 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index f114a8fae..f09e42f03 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.22", + "version": "4.0.0-alpha.23", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 24b668ca40c5e03ed5420e3aba8266de6bf83e62 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 13:52:42 +0200 Subject: [PATCH 063/327] chore: release packages (alpha) (#923) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index d4e75e31a..15a5f9a6c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -35,6 +35,7 @@ "smooth-planets-pay", "stale-hairs-wash", "strong-tools-check", + "tough-nails-shout", "tricky-boats-sip", "warm-hounds-refuse", "wild-bags-judge", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 4fca3d8bc..8736e30b2 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.24 + +### Patch Changes + +- chore: merge main to dev + ## 4.0.0-alpha.23 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index f09e42f03..51389e64a 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.23", + "version": "4.0.0-alpha.24", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 1431822951fd1140615237b6bfb7af4f8806b704 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 16:53:31 +0200 Subject: [PATCH 064/327] chore: release packages (alpha) (#926) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 15a5f9a6c..6f314243a 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -31,6 +31,7 @@ "polite-eels-shake", "pretty-items-marry", "shaggy-mugs-speak", + "shy-jobs-protect", "smart-suns-type", "smooth-planets-pay", "stale-hairs-wash", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index e59c96579..398631c82 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.25 + +### Patch Changes + +- chore: merge main to dev + ## 4.0.0-alpha.24 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 51389e64a..0b85d0a35 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.24", + "version": "4.0.0-alpha.25", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 76bf4644605534c40ed30d8ab6f242682c0a7b41 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 17 May 2024 16:32:47 +0200 Subject: [PATCH 065/327] fix: adjust regex to be more strict (#927) * chore: adjust test and restrict regex * Create blue-lions-brush.md * Update packages/cli/src/utils/verifyManifest.ts --- .changeset/blue-lions-brush.md | 5 +++++ packages/cli/src/utils/verifyManifest.ts | 4 ++-- packages/cli/tests/utils/verifyManifest.spec.ts | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/blue-lions-brush.md diff --git a/.changeset/blue-lions-brush.md b/.changeset/blue-lions-brush.md new file mode 100644 index 000000000..0d84f8992 --- /dev/null +++ b/.changeset/blue-lions-brush.md @@ -0,0 +1,5 @@ +--- +"@frontify/frontify-cli": patch +--- + +Fix: adjust regex to be more strict diff --git a/packages/cli/src/utils/verifyManifest.ts b/packages/cli/src/utils/verifyManifest.ts index c7fe0cfd5..f647547a4 100644 --- a/packages/cli/src/utils/verifyManifest.ts +++ b/packages/cli/src/utils/verifyManifest.ts @@ -32,11 +32,11 @@ const secretSchema = object({ } secretKeySet.add(key); - return /^[\w-]+$/.test(key); + return /^\w+$/.test(key); }, { message: - "Secret Key must be unique and should only contain letters from a-z, A-Z, numbers from 0-9, '-' and '_' without any spaces", + "Secret Key must be unique and should only contain letters from a-z, A-Z, numbers from 0-9 and '_' without any spaces", }, ), }); diff --git a/packages/cli/tests/utils/verifyManifest.spec.ts b/packages/cli/tests/utils/verifyManifest.spec.ts index e5ed3c059..562c49e59 100644 --- a/packages/cli/tests/utils/verifyManifest.spec.ts +++ b/packages/cli/tests/utils/verifyManifest.spec.ts @@ -153,7 +153,7 @@ const MANIFEST_WITH_TOO_LONG_TITLE_ASSET_CREATION = { const VALID_MANIFEST_WITH_SECRETS = { appType: 'platform-app', appId: 'abcdabcdabcdabcdabcdabcda', - secrets: [{ label: 'first label', key: 'first-key' }], + secrets: [{ label: 'first label', key: 'first_key' }], surfaces: { mediaLibrary: { assetAction: { From 414ea4092d5446815df032a87471829801604634 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 22 May 2024 13:54:22 +0200 Subject: [PATCH 066/327] refactor: Method to reflect feature (#929) * refactor: rename to reflect new name * chore: adjust types * Create red-islands-report.md --- .changeset/red-islands-report.md | 5 +++++ packages/app-bridge/src/AppBridgePlatformApp.ts | 2 +- .../src/registries/api/ApiMethodRegistry.ts | 4 ++-- .../registries/api/GetProxyNetworkCall.spec.ts | 17 ----------------- .../src/registries/api/GetProxyNetworkCall.ts | 12 ------------ .../src/registries/api/GetSecretRequest.spec.ts | 17 +++++++++++++++++ .../src/registries/api/GetSecretRequest.ts | 15 +++++++++++++++ packages/app-bridge/src/registries/api/index.ts | 2 +- 8 files changed, 41 insertions(+), 33 deletions(-) create mode 100644 .changeset/red-islands-report.md delete mode 100644 packages/app-bridge/src/registries/api/GetProxyNetworkCall.spec.ts delete mode 100644 packages/app-bridge/src/registries/api/GetProxyNetworkCall.ts create mode 100644 packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts create mode 100644 packages/app-bridge/src/registries/api/GetSecretRequest.ts diff --git a/.changeset/red-islands-report.md b/.changeset/red-islands-report.md new file mode 100644 index 000000000..8460e449a --- /dev/null +++ b/.changeset/red-islands-report.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +refactor: Method to reflect feature diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index 053a10cc8..4bcf2393c 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -25,7 +25,7 @@ import { ErrorMessageBus, type IMessageBus, MessageBus } from './utilities/Messa import { getQueryParameters } from './utilities/queryParams'; export type PlatformAppApiMethod = ApiMethodNameValidator< - Pick + Pick >; export type PlatformAppCommandRegistry = CommandNameValidator<{ diff --git a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts index 8cab26265..76615f97d 100644 --- a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts +++ b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts @@ -14,7 +14,7 @@ import { import { type GetCurrentUserPayload, type GetCurrentUserResponse } from './GetCurrentUser'; import { type GetDocumentNavigationPayload, type GetDocumentNavigationResponse } from './GetDocumentNavigation'; import { type GetPortalNavigationResponse } from './GetPortalNavigation'; -import { type GetProxyNetworkCallPayload, type GetProxyNetworkCallResponse } from './GetProxyNetworkCall'; +import { type GetSecretRequestPayload, type GetSecretRequestResponse } from './GetSecretRequest.ts'; import { type SetAssetIdsByBlockAssetKeyPayload, type SetAssetIdsByBlockAssetKeyResponse, @@ -35,7 +35,7 @@ export type ApiMethodRegistry = ApiMethodNameValidator<{ payload: SetAssetIdsByBlockAssetKeyPayload; response: SetAssetIdsByBlockAssetKeyResponse; }; - getProxyNetworkCall: { payload: GetProxyNetworkCallPayload; response: GetProxyNetworkCallResponse }; + getSecretRequest: { payload: GetSecretRequestPayload; response: GetSecretRequestResponse }; getDocumentNavigation: { payload: GetDocumentNavigationPayload; response: GetDocumentNavigationResponse }; getPortalNavigation: { payload: void; response: GetPortalNavigationResponse }; }>; diff --git a/packages/app-bridge/src/registries/api/GetProxyNetworkCall.spec.ts b/packages/app-bridge/src/registries/api/GetProxyNetworkCall.spec.ts deleted file mode 100644 index 1d6ce37d0..000000000 --- a/packages/app-bridge/src/registries/api/GetProxyNetworkCall.spec.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { getProxyNetworkCall } from './GetProxyNetworkCall'; - -describe('GetProxyNetworkCall', () => { - it('should return correct method name', () => { - const TEST_ID = 'user-api'; - const proxyNetworkCall = getProxyNetworkCall({ id: TEST_ID, props: 'data' }); - expect(proxyNetworkCall.name).toBe('getProxyNetworkCall'); - expect(proxyNetworkCall.payload).toStrictEqual({ - id: TEST_ID, - props: 'data', - }); - }); -}); diff --git a/packages/app-bridge/src/registries/api/GetProxyNetworkCall.ts b/packages/app-bridge/src/registries/api/GetProxyNetworkCall.ts deleted file mode 100644 index c0e800190..000000000 --- a/packages/app-bridge/src/registries/api/GetProxyNetworkCall.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type GetProxyNetworkCallPayload = { - id: string; - props: unknown; -}; - -export type GetProxyNetworkCallResponse = { - data: unknown; -}; - -export const getProxyNetworkCall = (payload: GetProxyNetworkCallPayload) => ({ name: 'getProxyNetworkCall', payload }); diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts new file mode 100644 index 000000000..70cc1afa9 --- /dev/null +++ b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts @@ -0,0 +1,17 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { getSecretRequest } from './GetSecretRequest.ts'; + +describe('GetSecretRequest', () => { + it('should return correct method name', () => { + const TEST_ID = 'user-api'; + const secretRequest = getSecretRequest({ id: TEST_ID, requestParams: 'data' }); + expect(secretRequest.name).toBe('getSecretRequest'); + expect(secretRequest.payload).toStrictEqual({ + id: TEST_ID, + requestParams: 'data', + }); + }); +}); diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.ts new file mode 100644 index 000000000..98c796848 --- /dev/null +++ b/packages/app-bridge/src/registries/api/GetSecretRequest.ts @@ -0,0 +1,15 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type GetSecretRequestPayload = { + id: string; + requestParams: unknown; +}; + +export type GetSecretRequestResponse = { + data: unknown; +}; + +export const getSecretRequest = (payload: GetSecretRequestPayload) => ({ + name: 'getSecretRequest', + payload, +}); diff --git a/packages/app-bridge/src/registries/api/index.ts b/packages/app-bridge/src/registries/api/index.ts index 4ed17f00d..afe608785 100644 --- a/packages/app-bridge/src/registries/api/index.ts +++ b/packages/app-bridge/src/registries/api/index.ts @@ -6,6 +6,6 @@ export * from './CreateAsset'; export * from './GetAssetResourceInformation'; export * from './GetCurrentUser'; export * from './SetAssetIdsByBlockAssetKey'; -export * from './GetProxyNetworkCall'; +export * from './GetSecretRequest'; export * from './GetDocumentNavigation'; export * from './GetPortalNavigation'; From 5faf96af292035f2e51bb8b54a684898d09a2e56 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 22 May 2024 14:01:11 +0200 Subject: [PATCH 067/327] chore: release packages (alpha) (#928) Co-authored-by: julianiff --- .changeset/pre.json | 2 ++ packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- packages/cli/CHANGELOG.md | 6 ++++++ packages/cli/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 6f314243a..ee64d53f1 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -9,6 +9,7 @@ "@frontify/platform-app": "0.0.5" }, "changesets": [ + "blue-lions-brush", "calm-candles-wink", "cuddly-pets-hammer", "five-mangos-search", @@ -30,6 +31,7 @@ "pink-geckos-change", "polite-eels-shake", "pretty-items-marry", + "red-islands-report", "shaggy-mugs-speak", "shy-jobs-protect", "smart-suns-type", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 398631c82..6454e0833 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.26 + +### Patch Changes + +- [#929](https://github.com/Frontify/brand-sdk/pull/929) [`414ea40`](https://github.com/Frontify/brand-sdk/commit/414ea4092d5446815df032a87471829801604634) Thanks [@julianiff](https://github.com/julianiff)! - refactor: Method to reflect feature + ## 4.0.0-alpha.25 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 0b85d0a35..a8bcd3055 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.25", + "version": "4.0.0-alpha.26", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index af5a1164a..578e30481 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/frontify-cli +## 5.6.18-alpha.0 + +### Patch Changes + +- [#927](https://github.com/Frontify/brand-sdk/pull/927) [`76bf464`](https://github.com/Frontify/brand-sdk/commit/76bf4644605534c40ed30d8ab6f242682c0a7b41) Thanks [@julianiff](https://github.com/julianiff)! - Fix: adjust regex to be more strict + ## 5.6.17 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 4e545a41c..f1dcf18b5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "type": "module", - "version": "5.6.17", + "version": "5.6.18-alpha.0", "author": "Frontify Developers ", "repository": { "type": "git", From 456c31d1d6b013d75b6c3dece0b2632716e14d3e Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 22 May 2024 14:20:00 +0200 Subject: [PATCH 068/327] fix: revert release stuff of cli (#930) * fix: revert release stuff of cli * adjust pre.json --- .changeset/blue-lions-brush.md | 5 ----- .changeset/pre.json | 1 - packages/cli/CHANGELOG.md | 6 ------ packages/cli/package.json | 2 +- 4 files changed, 1 insertion(+), 13 deletions(-) delete mode 100644 .changeset/blue-lions-brush.md diff --git a/.changeset/blue-lions-brush.md b/.changeset/blue-lions-brush.md deleted file mode 100644 index 0d84f8992..000000000 --- a/.changeset/blue-lions-brush.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@frontify/frontify-cli": patch ---- - -Fix: adjust regex to be more strict diff --git a/.changeset/pre.json b/.changeset/pre.json index ee64d53f1..308dff857 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -9,7 +9,6 @@ "@frontify/platform-app": "0.0.5" }, "changesets": [ - "blue-lions-brush", "calm-candles-wink", "cuddly-pets-hammer", "five-mangos-search", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 578e30481..af5a1164a 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,11 +1,5 @@ # @frontify/frontify-cli -## 5.6.18-alpha.0 - -### Patch Changes - -- [#927](https://github.com/Frontify/brand-sdk/pull/927) [`76bf464`](https://github.com/Frontify/brand-sdk/commit/76bf4644605534c40ed30d8ab6f242682c0a7b41) Thanks [@julianiff](https://github.com/julianiff)! - Fix: adjust regex to be more strict - ## 5.6.17 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index f1dcf18b5..4e545a41c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "type": "module", - "version": "5.6.18-alpha.0", + "version": "5.6.17", "author": "Frontify Developers ", "repository": { "type": "git", From 341886e9d16184048f9285d692df5177bfd2d0d1 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 29 May 2024 10:11:02 +0200 Subject: [PATCH 069/327] chore: rename brand sdk name (#937) * chore: rename to endpoint * Create clever-suns-laugh.md --- .changeset/clever-suns-laugh.md | 5 +++++ .../app-bridge/src/registries/api/GetSecretRequest.spec.ts | 4 ++-- packages/app-bridge/src/registries/api/GetSecretRequest.ts | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/clever-suns-laugh.md diff --git a/.changeset/clever-suns-laugh.md b/.changeset/clever-suns-laugh.md new file mode 100644 index 000000000..3cbac03e7 --- /dev/null +++ b/.changeset/clever-suns-laugh.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +chore: rename brand sdk name diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts index 70cc1afa9..2cabc4bd5 100644 --- a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts +++ b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts @@ -7,10 +7,10 @@ import { getSecretRequest } from './GetSecretRequest.ts'; describe('GetSecretRequest', () => { it('should return correct method name', () => { const TEST_ID = 'user-api'; - const secretRequest = getSecretRequest({ id: TEST_ID, requestParams: 'data' }); + const secretRequest = getSecretRequest({ endpoint: TEST_ID, requestParams: 'data' }); expect(secretRequest.name).toBe('getSecretRequest'); expect(secretRequest.payload).toStrictEqual({ - id: TEST_ID, + endpoint: TEST_ID, requestParams: 'data', }); }); diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.ts index 98c796848..5cbb790cf 100644 --- a/packages/app-bridge/src/registries/api/GetSecretRequest.ts +++ b/packages/app-bridge/src/registries/api/GetSecretRequest.ts @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export type GetSecretRequestPayload = { - id: string; + endpoint: string; requestParams: unknown; }; From 565ce629b90c29a26844d77f6a2779d32e5dc858 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 10:17:18 +0200 Subject: [PATCH 070/327] chore: release packages (alpha) (#938) Co-authored-by: julianiff --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 308dff857..66ccb8f12 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -10,6 +10,7 @@ }, "changesets": [ "calm-candles-wink", + "clever-suns-laugh", "cuddly-pets-hammer", "five-mangos-search", "four-crabs-bake", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 6454e0833..5c5def2e8 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.27 + +### Patch Changes + +- [#937](https://github.com/Frontify/brand-sdk/pull/937) [`341886e`](https://github.com/Frontify/brand-sdk/commit/341886e9d16184048f9285d692df5177bfd2d0d1) Thanks [@julianiff](https://github.com/julianiff)! - chore: rename brand sdk name + ## 4.0.0-alpha.26 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index a8bcd3055..1beaae379 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.26", + "version": "4.0.0-alpha.27", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 7ea653ca17f2a16c72e8ee5525580eaee0d6405a Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 29 May 2024 10:44:47 +0200 Subject: [PATCH 071/327] refactor: rename brandsdk name from secret to secure (#939) * chore: rename from secret to secure * Create odd-geckos-end.md * chore: rename api metho * chore: fixup --- .changeset/odd-geckos-end.md | 5 +++++ packages/app-bridge/src/AppBridgePlatformApp.ts | 2 +- .../src/registries/api/ApiMethodRegistry.ts | 4 ++-- .../src/registries/api/GetSecretRequest.spec.ts | 10 +++++----- .../src/registries/api/GetSecretRequest.ts | 15 --------------- .../src/registries/api/GetSecureRequest.ts | 15 +++++++++++++++ packages/app-bridge/src/registries/api/index.ts | 2 +- 7 files changed, 29 insertions(+), 24 deletions(-) create mode 100644 .changeset/odd-geckos-end.md delete mode 100644 packages/app-bridge/src/registries/api/GetSecretRequest.ts create mode 100644 packages/app-bridge/src/registries/api/GetSecureRequest.ts diff --git a/.changeset/odd-geckos-end.md b/.changeset/odd-geckos-end.md new file mode 100644 index 000000000..5a7a253de --- /dev/null +++ b/.changeset/odd-geckos-end.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +refactor: rename brandsdk name from secretRequest to secureRequest diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index 4bcf2393c..c7c51a4da 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -25,7 +25,7 @@ import { ErrorMessageBus, type IMessageBus, MessageBus } from './utilities/Messa import { getQueryParameters } from './utilities/queryParams'; export type PlatformAppApiMethod = ApiMethodNameValidator< - Pick + Pick >; export type PlatformAppCommandRegistry = CommandNameValidator<{ diff --git a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts index 76615f97d..b5cd82bcd 100644 --- a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts +++ b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts @@ -14,7 +14,7 @@ import { import { type GetCurrentUserPayload, type GetCurrentUserResponse } from './GetCurrentUser'; import { type GetDocumentNavigationPayload, type GetDocumentNavigationResponse } from './GetDocumentNavigation'; import { type GetPortalNavigationResponse } from './GetPortalNavigation'; -import { type GetSecretRequestPayload, type GetSecretRequestResponse } from './GetSecretRequest.ts'; +import { type GetSecureRequestPayload, type GetSecureRequestResponse } from './GetSecureRequest.ts'; import { type SetAssetIdsByBlockAssetKeyPayload, type SetAssetIdsByBlockAssetKeyResponse, @@ -35,7 +35,7 @@ export type ApiMethodRegistry = ApiMethodNameValidator<{ payload: SetAssetIdsByBlockAssetKeyPayload; response: SetAssetIdsByBlockAssetKeyResponse; }; - getSecretRequest: { payload: GetSecretRequestPayload; response: GetSecretRequestResponse }; + getSecureRequest: { payload: GetSecureRequestPayload; response: GetSecureRequestResponse }; getDocumentNavigation: { payload: GetDocumentNavigationPayload; response: GetDocumentNavigationResponse }; getPortalNavigation: { payload: void; response: GetPortalNavigationResponse }; }>; diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts index 2cabc4bd5..2a424fb40 100644 --- a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts +++ b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts @@ -2,14 +2,14 @@ import { describe, expect, it } from 'vitest'; -import { getSecretRequest } from './GetSecretRequest.ts'; +import { getSecureRequest } from './GetSecureRequest'; -describe('GetSecretRequest', () => { +describe('GetSecureRequest', () => { it('should return correct method name', () => { const TEST_ID = 'user-api'; - const secretRequest = getSecretRequest({ endpoint: TEST_ID, requestParams: 'data' }); - expect(secretRequest.name).toBe('getSecretRequest'); - expect(secretRequest.payload).toStrictEqual({ + const secureRequest = getSecureRequest({ endpoint: TEST_ID, requestParams: 'data' }); + expect(secureRequest.name).toBe('getSecureRequest'); + expect(secureRequest.payload).toStrictEqual({ endpoint: TEST_ID, requestParams: 'data', }); diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.ts deleted file mode 100644 index 5cbb790cf..000000000 --- a/packages/app-bridge/src/registries/api/GetSecretRequest.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type GetSecretRequestPayload = { - endpoint: string; - requestParams: unknown; -}; - -export type GetSecretRequestResponse = { - data: unknown; -}; - -export const getSecretRequest = (payload: GetSecretRequestPayload) => ({ - name: 'getSecretRequest', - payload, -}); diff --git a/packages/app-bridge/src/registries/api/GetSecureRequest.ts b/packages/app-bridge/src/registries/api/GetSecureRequest.ts new file mode 100644 index 000000000..6b4c23d00 --- /dev/null +++ b/packages/app-bridge/src/registries/api/GetSecureRequest.ts @@ -0,0 +1,15 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type GetSecureRequestPayload = { + endpoint: string; + requestParams: unknown; +}; + +export type GetSecureRequestResponse = { + data: unknown; +}; + +export const getSecureRequest = (payload: GetSecureRequestPayload) => ({ + name: 'getSecureRequest', + payload, +}); diff --git a/packages/app-bridge/src/registries/api/index.ts b/packages/app-bridge/src/registries/api/index.ts index afe608785..45e961473 100644 --- a/packages/app-bridge/src/registries/api/index.ts +++ b/packages/app-bridge/src/registries/api/index.ts @@ -6,6 +6,6 @@ export * from './CreateAsset'; export * from './GetAssetResourceInformation'; export * from './GetCurrentUser'; export * from './SetAssetIdsByBlockAssetKey'; -export * from './GetSecretRequest'; +export * from './GetSecureRequest'; export * from './GetDocumentNavigation'; export * from './GetPortalNavigation'; From 58efba6efac4b48de48c74a6d6e0c8ddb16dcc31 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 10:51:52 +0200 Subject: [PATCH 072/327] chore: release packages (alpha) (#940) Co-authored-by: julianiff --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 66ccb8f12..f63df2fb5 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -26,6 +26,7 @@ "nasty-feet-repair", "neat-plants-smile", "nervous-walls-repair", + "odd-geckos-end", "orange-jokes-listen", "pink-bugs-behave", "pink-geckos-change", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 5c5def2e8..449442024 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.28 + +### Patch Changes + +- [#939](https://github.com/Frontify/brand-sdk/pull/939) [`7ea653c`](https://github.com/Frontify/brand-sdk/commit/7ea653ca17f2a16c72e8ee5525580eaee0d6405a) Thanks [@julianiff](https://github.com/julianiff)! - refactor: rename brandsdk name from secretRequest to secureRequest + ## 4.0.0-alpha.27 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 1beaae379..c7372e884 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.27", + "version": "4.0.0-alpha.28", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 4e643ec9414e5671f877c556b68436a1a06569cb Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 29 May 2024 16:09:22 +0200 Subject: [PATCH 073/327] feat: adjust secure request response (#941) * chore: add secureRequestResponse * Create spicy-books-shout.md * chore: change to statusText --- .changeset/spicy-books-shout.md | 5 +++++ packages/app-bridge/src/registries/api/GetSecureRequest.ts | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 .changeset/spicy-books-shout.md diff --git a/.changeset/spicy-books-shout.md b/.changeset/spicy-books-shout.md new file mode 100644 index 000000000..28e101143 --- /dev/null +++ b/.changeset/spicy-books-shout.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +Feat: adjust secure request response diff --git a/packages/app-bridge/src/registries/api/GetSecureRequest.ts b/packages/app-bridge/src/registries/api/GetSecureRequest.ts index 6b4c23d00..553e18cff 100644 --- a/packages/app-bridge/src/registries/api/GetSecureRequest.ts +++ b/packages/app-bridge/src/registries/api/GetSecureRequest.ts @@ -7,6 +7,8 @@ export type GetSecureRequestPayload = { export type GetSecureRequestResponse = { data: unknown; + statusText: string; + status: string; }; export const getSecureRequest = (payload: GetSecureRequestPayload) => ({ From 050c7869ac6f9100cf23e109472dbc1fbeee4f67 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 16:18:01 +0200 Subject: [PATCH 074/327] chore: release packages (alpha) (#942) Co-authored-by: julianiff --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index f63df2fb5..c97e55b0c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -37,6 +37,7 @@ "shy-jobs-protect", "smart-suns-type", "smooth-planets-pay", + "spicy-books-shout", "stale-hairs-wash", "strong-tools-check", "tough-nails-shout", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 449442024..12186ef23 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.29 + +### Patch Changes + +- [#941](https://github.com/Frontify/brand-sdk/pull/941) [`4e643ec`](https://github.com/Frontify/brand-sdk/commit/4e643ec9414e5671f877c556b68436a1a06569cb) Thanks [@julianiff](https://github.com/julianiff)! - Feat: adjust secure request response + ## 4.0.0-alpha.28 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index c7372e884..ad15adad4 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.28", + "version": "4.0.0-alpha.29", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 703fdaec21ba4102b9d92bef2a0339e1030ba032 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 12:33:06 +0200 Subject: [PATCH 075/327] chore: release packages (alpha) (#951) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 7 +++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index c97e55b0c..00460c253 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -33,6 +33,7 @@ "polite-eels-shake", "pretty-items-marry", "red-islands-report", + "rich-olives-repeat", "shaggy-mugs-speak", "shy-jobs-protect", "smart-suns-type", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 51aca4664..23185d98c 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.30 + +### Patch Changes + +- chore: merge branch `main` into dev + ## 4.0.0-alpha.29 ### Patch Changes @@ -82,6 +88,7 @@ ### Minor Changes - # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` + ## 3.9.2 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index ad15adad4..ab5fa6526 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.29", + "version": "4.0.0-alpha.30", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 2491b6e88fc41ca8eafff5e41ec181247a968c46 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Mon, 17 Jun 2024 16:56:31 +0200 Subject: [PATCH 076/327] feat: add state listener to allow push from parent (#956) * chore:Adjust for 2 way communication * feat: add state Listener with push from Parent. * Create ten-guests-wash.md * chore: remove unused type --- .changeset/ten-guests-wash.md | 5 +++++ .../app-bridge/src/AppBridgePlatformApp.ts | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 .changeset/ten-guests-wash.md diff --git a/.changeset/ten-guests-wash.md b/.changeset/ten-guests-wash.md new file mode 100644 index 000000000..6febbe912 --- /dev/null +++ b/.changeset/ten-guests-wash.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: adds state listener to allow push from parent diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts index c7c51a4da..9726341cb 100644 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge/src/AppBridgePlatformApp.ts @@ -144,6 +144,10 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { this.apiMessageBus = new MessageBus(apiPort); this.stateMessageBus = new MessageBus(statePort); + statePort.onmessage = (event: MessageEvent<{ token: string; message: Record }>) => { + this.onStateChangeListener(event); + }; + this.localContext = context; this.localState = state; this.initialized = true; @@ -257,6 +261,20 @@ export class AppBridgePlatformApp implements IAppBridgePlatformApp { } } } + + private onStateChangeListener(event: MessageEvent<{ token: string; message: Record }>) { + const { token } = event.data; + + if (token === 'DEV_UPDATE_STATE' && 'settings' in event.data.message && 'userState' in event.data.message) { + const message = event.data.message as PlatformAppState; + + this.callSubscribedTopic('State.*', [message, this.localState]); + this.callSubscribedTopic('State.settings', [message.settings, this.localState.settings]); + this.callSubscribedTopic('State.userState', [message.userState, this.localState.userState]); + + this.localState = message; + } + } } export interface IAppBridgePlatformApp< From 4d191a8b61645afacb279e72bcbc67111ec6af3f Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Tue, 18 Jun 2024 10:57:10 +0200 Subject: [PATCH 077/327] feat: app bridge theme dev (#958) * feat: add app-bridge-theme package * first fine build * sonar * basic typing and definitions * fix: add missing export * deprecate searchInGuideline * cleaning and typing * assetsSettings type * export types needed * updates * more * chore: update lock file * changeset * deleting unused file --------- Co-authored-by: Jiri Matyas --- .changeset/pink-lobsters-beg.md | 5 + ...pp-bridge-theme-continuous-integration.yml | 43 +++ packages/app-bridge-theme/.browserslistrc | 3 + packages/app-bridge-theme/.eslintrc.cjs | 58 +++ packages/app-bridge-theme/.gitignore | 6 + packages/app-bridge-theme/.prettierrc.cjs | 10 + packages/app-bridge-theme/CHANGELOG.md | 1 + packages/app-bridge-theme/README.md | 2 + packages/app-bridge-theme/package.json | 54 +++ .../app-bridge-theme/src/AppBridgeTheme.ts | 35 ++ .../src/commands/CommandRegistry.ts | 13 + packages/app-bridge-theme/src/global.d.ts | 3 + packages/app-bridge-theme/src/index.ts | 3 + packages/app-bridge-theme/src/types.ts | 74 ++++ packages/app-bridge-theme/src/types/Asset.ts | 26 ++ .../app-bridge-theme/src/types/Context.ts | 64 ++++ .../app-bridge-theme/src/types/Guideline.ts | 102 +++++ .../src/types/GuidelineSearchResult.ts | 30 ++ .../app-bridge-theme/src/types/Language.ts | 23 ++ .../src/types/ThemeTemplate.ts | 3 + packages/app-bridge-theme/tsconfig.json | 23 ++ packages/app-bridge-theme/tsconfig.node.json | 12 + packages/app-bridge-theme/vite.config.mts | 31 ++ pnpm-lock.yaml | 348 ++++++++++++------ 24 files changed, 855 insertions(+), 117 deletions(-) create mode 100644 .changeset/pink-lobsters-beg.md create mode 100644 .github/workflows/app-bridge-theme-continuous-integration.yml create mode 100644 packages/app-bridge-theme/.browserslistrc create mode 100644 packages/app-bridge-theme/.eslintrc.cjs create mode 100644 packages/app-bridge-theme/.gitignore create mode 100644 packages/app-bridge-theme/.prettierrc.cjs create mode 100644 packages/app-bridge-theme/CHANGELOG.md create mode 100644 packages/app-bridge-theme/README.md create mode 100644 packages/app-bridge-theme/package.json create mode 100644 packages/app-bridge-theme/src/AppBridgeTheme.ts create mode 100644 packages/app-bridge-theme/src/commands/CommandRegistry.ts create mode 100644 packages/app-bridge-theme/src/global.d.ts create mode 100644 packages/app-bridge-theme/src/index.ts create mode 100644 packages/app-bridge-theme/src/types.ts create mode 100644 packages/app-bridge-theme/src/types/Asset.ts create mode 100644 packages/app-bridge-theme/src/types/Context.ts create mode 100644 packages/app-bridge-theme/src/types/Guideline.ts create mode 100644 packages/app-bridge-theme/src/types/GuidelineSearchResult.ts create mode 100644 packages/app-bridge-theme/src/types/Language.ts create mode 100644 packages/app-bridge-theme/src/types/ThemeTemplate.ts create mode 100644 packages/app-bridge-theme/tsconfig.json create mode 100644 packages/app-bridge-theme/tsconfig.node.json create mode 100644 packages/app-bridge-theme/vite.config.mts diff --git a/.changeset/pink-lobsters-beg.md b/.changeset/pink-lobsters-beg.md new file mode 100644 index 000000000..835c0e161 --- /dev/null +++ b/.changeset/pink-lobsters-beg.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat(AppBridgeThemes): initial alpha release of AppBridgeThemes diff --git a/.github/workflows/app-bridge-theme-continuous-integration.yml b/.github/workflows/app-bridge-theme-continuous-integration.yml new file mode 100644 index 000000000..fbcaf1f28 --- /dev/null +++ b/.github/workflows/app-bridge-theme-continuous-integration.yml @@ -0,0 +1,43 @@ +name: App Bridge Theme CI + +on: + pull_request: + paths: + - packages/app-bridge-theme/** + +# Ensures that only one workflow per branch will run at a time. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + app-bridge-theme-ci: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout default branch + uses: actions/checkout@v4 + with: + # Disabling shallow clone is recommended for improving relevancy of reporting + fetch-depth: 0 + + - name: Use pnpm + uses: pnpm/action-setup@v3 + with: + run_install: false + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + cache: "pnpm" + + - name: Install npm dependencies + run: pnpm i --frozen-lockfile + + - name: Typecheck code + run: pnpm --stream --filter {packages/app-bridge-theme} typecheck + + - name: Lint code + run: pnpm --stream --filter {packages/app-bridge-theme} lint diff --git a/packages/app-bridge-theme/.browserslistrc b/packages/app-bridge-theme/.browserslistrc new file mode 100644 index 000000000..d388ec78b --- /dev/null +++ b/packages/app-bridge-theme/.browserslistrc @@ -0,0 +1,3 @@ +last 2 versions +> 1% +not dead diff --git a/packages/app-bridge-theme/.eslintrc.cjs b/packages/app-bridge-theme/.eslintrc.cjs new file mode 100644 index 000000000..04ef1024d --- /dev/null +++ b/packages/app-bridge-theme/.eslintrc.cjs @@ -0,0 +1,58 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +module.exports = { + root: true, + extends: ['@frontify/eslint-config-react'], + plugins: ['notice'], + settings: { + react: { + version: 'detect', + }, + }, + parserOptions: { + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + sourceType: 'module', + }, + overrides: [ + { + files: ['*.js', '*.ts', '*.tsx'], + rules: { + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + }, + }, + { + files: ['*.ts', '*.tsx', '*.mts', '*.cts'], + rules: { + 'no-prototype-builtins': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-misused-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'warn', + '@typescript-eslint/no-unsafe-call': 'warn', + '@typescript-eslint/no-unsafe-member-access': 'warn', + '@typescript-eslint/no-unsafe-return': 'warn', + '@typescript-eslint/require-await': 'warn', + '@typescript-eslint/await-thenable': 'warn', + '@typescript-eslint/no-unsafe-enum-comparison': 'warn', + '@typescript-eslint/restrict-plus-operands': 'warn', + }, + }, + { + files: ['**/*.md/**/*'], + processor: 'markdown/markdown', + parserOptions: { + project: null, + }, + }, + ], +}; diff --git a/packages/app-bridge-theme/.gitignore b/packages/app-bridge-theme/.gitignore new file mode 100644 index 000000000..fc016d6fa --- /dev/null +++ b/packages/app-bridge-theme/.gitignore @@ -0,0 +1,6 @@ +node_modules +dist +.idea +coverage +.DS_Store +package.json.d.ts diff --git a/packages/app-bridge-theme/.prettierrc.cjs b/packages/app-bridge-theme/.prettierrc.cjs new file mode 100644 index 000000000..ac04664a5 --- /dev/null +++ b/packages/app-bridge-theme/.prettierrc.cjs @@ -0,0 +1,10 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +module.exports = { + singleQuote: true, + tabWidth: 4, + printWidth: 120, + trailingComma: 'all', + arrowParens: 'always', + endOfLine: 'lf', +}; diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md new file mode 100644 index 000000000..d0eda5458 --- /dev/null +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -0,0 +1 @@ +# @frontify/app-bridge-theme diff --git a/packages/app-bridge-theme/README.md b/packages/app-bridge-theme/README.md new file mode 100644 index 000000000..6ada156a8 --- /dev/null +++ b/packages/app-bridge-theme/README.md @@ -0,0 +1,2 @@ +# App Bridge Theme +Package to establish communication between Frontify and third party themes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json new file mode 100644 index 000000000..eb6adc516 --- /dev/null +++ b/packages/app-bridge-theme/package.json @@ -0,0 +1,54 @@ +{ + "name": "@frontify/app-bridge-theme", + "type": "module", + "version": "1.0.0-alpha.1", + "description": "Package to establish communication between Frontify and themes", + "author": "Frontify Developers ", + "repository": { + "type": "git", + "url": "https://github.com/Frontify/brand-sdk", + "directory": "packages/app-bridge-theme" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/index.js", + "import": "./dist/index.js" + } + }, + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "package.json.d.ts" + ], + "engines": { + "node": ">=16" + }, + "scripts": { + "build": "ts-json-as-const ./package.json && vite build", + "dev": "vite build --watch", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "typecheck": "tsc --noEmit" + }, + "peerDependencies": { + "react": "^18" + }, + "dependencies": {}, + "devDependencies": { + "@frontify/eslint-config-react": "^0.17.6", + "@types/react": "^18.2.75", + "@types/react-dom": "^18.2.24", + "eslint": "^8.57.0", + "eslint-plugin-notice": "^0.9.10", + "prettier": "^3.2.5", + "react": "^18.2.0", + "ts-json-as-const": "^1.0.7", + "type-fest": "^4.15.0", + "typescript": "^5.4.4", + "vite": "^5.2.10", + "vite-plugin-dts": "^3.8.1" + } +} diff --git a/packages/app-bridge-theme/src/AppBridgeTheme.ts b/packages/app-bridge-theme/src/AppBridgeTheme.ts new file mode 100644 index 000000000..02c9714ad --- /dev/null +++ b/packages/app-bridge-theme/src/AppBridgeTheme.ts @@ -0,0 +1,35 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { + type Command, + type DispatchHandlerParameter, + type AppBridgeThemeEvent, + type EventNameParameter, + type EventCallbackParameter, + type EventUnsubscribeFunction, +} from './types'; +import { type ContextReturn, type Context } from './types/Context'; +import { type GuidelineSearchResult } from './types/GuidelineSearchResult'; + +export interface AppBridgeTheme { + dispatch( + dispatchHandler: DispatchHandlerParameter, + ): Promise; + + context(): ContextReturn; + context(key: Key): ContextReturn; + context(key?: keyof Context | void): unknown; + + subscribe( + eventName: EventNameParameter, + callback: EventCallbackParameter, + ): EventUnsubscribeFunction; + + /** + * @deprecated + * Search in the current Guideline for a given query. + * @param query - The query to search for. + * @param order - The order in which the results should be returned. Defaults to 'relevance'. + */ + searchInGuideline(query: string, order?: 'relevance' | 'newest' | 'oldest'): Promise; +} diff --git a/packages/app-bridge-theme/src/commands/CommandRegistry.ts b/packages/app-bridge-theme/src/commands/CommandRegistry.ts new file mode 100644 index 000000000..5bb5440f1 --- /dev/null +++ b/packages/app-bridge-theme/src/commands/CommandRegistry.ts @@ -0,0 +1,13 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type CommandNameValidator } from 'src/types'; + +type OpenSearchDialog = void; +type CloseSearchDialog = void; +type NavigateToDocumentSection = number | string; + +export type CommandRegistry = CommandNameValidator<{ + openSearchDialog: OpenSearchDialog; + closeSearchDialog: CloseSearchDialog; + navigateToDocumentSection: NavigateToDocumentSection; +}>; diff --git a/packages/app-bridge-theme/src/global.d.ts b/packages/app-bridge-theme/src/global.d.ts new file mode 100644 index 000000000..fddff887f --- /dev/null +++ b/packages/app-bridge-theme/src/global.d.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +type Nullable = T | null; diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts new file mode 100644 index 000000000..9232746e5 --- /dev/null +++ b/packages/app-bridge-theme/src/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './AppBridgeTheme'; diff --git a/packages/app-bridge-theme/src/types.ts b/packages/app-bridge-theme/src/types.ts new file mode 100644 index 000000000..0bfe7ed34 --- /dev/null +++ b/packages/app-bridge-theme/src/types.ts @@ -0,0 +1,74 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type Simplify } from 'type-fest'; + +import { type CommandRegistry } from './commands/CommandRegistry'; +import { type Context } from './types/Context'; + +type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; +type EventVerb = 'chosen'; + +type NameContextList = 'Command' | 'Event'; +type WrongNamePattern = ApiMethodName extends string + ? `The following ${NameContext} do not match the naming pattern: ${ApiMethodName}` + : never; + +type ObjectNameValidator< + NameObject, + PatternObject, + NameContext extends NameContextList, +> = keyof NameObject extends keyof PatternObject + ? NameObject + : WrongNamePattern< + `${Exclude, Extract>}`, + NameContext + >; + +type CommandNamePattern = { [commandName: `${CommandVerb}${string}`]: unknown }; +export type CommandNameValidator = Simplify< + ObjectNameValidator +>; + +export type Command = CommandNameValidator< + Pick +>; + +type EventNameValidator = Simplify>; + +type ContextAsEventName = { + [ContextKey in keyof Context as ContextKey extends string ? `Context.${ContextKey}` : never]: [ + Context[ContextKey], + Context[ContextKey], + ]; +}; + +type DispatchHandler< + CommandName extends keyof CommandNamePattern, + Command extends CommandNamePattern, +> = Command[CommandName] extends void ? { name: CommandName } : { name: CommandName; payload: Command[CommandName] }; + +export type DispatchHandlerParameter< + CommandName, + Command extends CommandNamePattern, +> = CommandName extends keyof CommandNamePattern + ? DispatchHandler + : WrongNamePattern; + +export type AppBridgeThemeEvent = EventNameValidator>; + +export type EventNamePattern = { + [eventName: `Context.${string}` | `${string}${Capitalize}`]: unknown; +}; +export type EventNameParameter< + EventName, + EventNameParameter extends EventNamePattern, +> = EventName extends keyof EventNameParameter ? EventName : WrongNamePattern; + +export type EventCallbackParameter = EventName extends keyof AppBridgeThemeEvent + ? // eslint-disable-next-line @typescript-eslint/no-explicit-any + AppBridgeThemeEvent[EventName] extends any[] + ? (...eventReturn: AppBridgeThemeEvent[EventName]) => void + : (eventReturn: AppBridgeThemeEvent[EventName]) => void + : () => void; + +export type EventUnsubscribeFunction = () => void; diff --git a/packages/app-bridge-theme/src/types/Asset.ts b/packages/app-bridge-theme/src/types/Asset.ts new file mode 100644 index 000000000..385c92f15 --- /dev/null +++ b/packages/app-bridge-theme/src/types/Asset.ts @@ -0,0 +1,26 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type Asset = { + id: number; + creatorName: string; + extension: string; + externalUrl: Nullable; + fileName: string; + title: string; + status: string; + objectType: string; + height: Nullable; + width: Nullable; + genericUrl: string; + previewUrl: string; + originUrl: string; + projectId: number; + fileSize: number; + fileSizeHumanReadable: string; + fileId: string; + token: string; + projectType: Nullable; + revisionId: Nullable; + backgroundColor: Nullable; + isDownloadProtected: boolean; +}; diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts new file mode 100644 index 000000000..10073826e --- /dev/null +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -0,0 +1,64 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type EventUnsubscribeFunction } from 'src/types'; + +import { type Asset } from './Asset'; +import { + type GuidelineCoverPage, + type GuidelineDocument, + type GuidelineDocumentLibrary, + type GuidelineDocumentPage, +} from './Guideline'; +import { type Language } from './Language'; +import { type ThemeTemplate } from './ThemeTemplate'; + +export type TemplateContext = { templateId: string; type: ThemeTemplate } & ( + | { type: 'documentPage'; document: GuidelineDocument; documentPage: GuidelineDocumentPage } + | { type: 'library'; document: GuidelineDocumentLibrary } + | { type: 'cover'; coverPage: GuidelineCoverPage } +); + +export type Context = { + brandId: number; + projectId: number; + portalId: number; + portalToken: string | null; + currentLanguage: string; + defaultLanguage: string; + isEditing: boolean; + isPublicLink: boolean; + isAuthenticated: boolean; + isSearchDialogOpen: boolean; + languages: Language[]; + template: TemplateContext | null; + settings: { + templateSettings: Record; + templateAssets: Record; + }; +}; + +export type ContextReturn = Key extends keyof Context + ? { + /** + * Gets the current value of the context object at the given key. + */ + get(): Readonly; + /** + * Subscribes to changes in the context object at the given key. + */ + subscribe( + callbackFunction: (nextContext: Context[Key], previousContext: Context[Key]) => void, + ): EventUnsubscribeFunction; + } + : { + /** + * Gets the current value of the context object. + */ + get(): Readonly; + /** + * Subscribes to changes in the context object. + */ + subscribe( + callbackFunction: (nextContext: Context, previousContext: Context) => void, + ): EventUnsubscribeFunction; + }; diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts new file mode 100644 index 000000000..9e5862c45 --- /dev/null +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -0,0 +1,102 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export enum LinkSettingsDisplay { + TextAndIcon = 'ICON_TEXT', + IconOnly = 'ICON', + TextOnly = 'TEXT', +} + +export enum LinkSettingsIconPosition { + Right = 'RIGHT', + Left = 'LEFT', +} + +export interface GuidelineCoverPage { + id(): number; + title(language?: string): string; + isPublished(): boolean; + isHiddenInNavigation(): boolean; + url(language?: string): string; + type: 'cover-page'; +} + +export interface GuidelineDocumentGroup { + id(): number; + title(language?: string): string; + children(): (GuidelineDocument | GuidelineDocumentLibrary | GuidelineDocumentLink)[]; + type: 'document-group'; +} + +export interface GuidelineDocument { + id(): number; + title(language?: string): string; + slug(language?: string): string; + url(language?: string): string; + parentId(): Nullable; + type: 'document'; +} + +export interface GuidelineDocumentLibrary { + id(): number; + title(language?: string): string; + slug(language?: string): string; + url(language?: string): string; + parentId(): Nullable; + type: 'document-library'; +} + +export interface GuidelineDocumentLink { + id(): number; + title(language?: string): string; + url(): string; + displayMode(): LinkSettingsDisplay; + iconPosition(): LinkSettingsIconPosition; + customIconUrl(): Nullable; + shouldOpenInNewTab(): boolean; + parentId(): Nullable; + type: 'document-link'; +} + +export interface GuidelinePageCategory { + id(): number; + title(language?: string): string; + slug(language?: string): string; + children(): (GuidelineDocumentPage | GuidelineDocumentPageLink)[]; + type: 'page-category'; +} + +export interface GuidelineDocumentPage { + id(): number; + title(language?: string): string; + slug(language?: string): string; + url(language?: string): string; + headings(): GuidelineDocumentPageHeading[]; + type: 'document-page'; +} + +export interface GuidelineDocumentPageLink { + id(): number; + title(language?: string): string; + url(): string; + type: 'document-page-link'; +} + +export interface GuidelineDocumentPageHeading { + id(): number; + title(language?: string): string; + slug(language?: string): string; + type: 'document-page-heading'; +} + +export type PortalNavigationItem = + | GuidelineCoverPage + | GuidelineDocumentGroup + | GuidelineDocument + | GuidelineDocumentLibrary + | GuidelineDocumentLink; + +export type DocumentNavigationItem = + | GuidelinePageCategory + | GuidelineDocumentPage + | GuidelineDocumentPageLink + | GuidelineDocumentPageHeading; diff --git a/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts b/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts new file mode 100644 index 000000000..34f7863e7 --- /dev/null +++ b/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts @@ -0,0 +1,30 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export const GuidelineSearchResultTypeMap = { + block: 'BLOCK', + section: 'SECTION', + page: 'PAGE', + color: 'COLOR', +} as const; +type GuidelineSearchResultType = (typeof GuidelineSearchResultTypeMap)[keyof typeof GuidelineSearchResultTypeMap]; + +export type GuidelineSearchResult = { + highlights: string[]; + type: GuidelineSearchResultType; + objectId: number; + pageId: number; + pageSlug: string; + pageTitle: string; + pageCategorySlug: string | null; + blockId: number; + documentId: number; + documentSlug: string; + documentTitle: string; + portalId: number; + portalToken: string | null; + sectionId: string | null; + sectionSlug: string | null; + sectionTitle: string | null; + colorHex?: string; + projectColorId?: string; +}; diff --git a/packages/app-bridge-theme/src/types/Language.ts b/packages/app-bridge-theme/src/types/Language.ts new file mode 100644 index 000000000..ea2838728 --- /dev/null +++ b/packages/app-bridge-theme/src/types/Language.ts @@ -0,0 +1,23 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type Language = { + /** + * The language code in ISO 639-1 format. + */ + isoCode: string; + + /** + * The name of the language. + */ + name: string; + + /** + * Indicates whether the language is the default language. + */ + isDefault: boolean; + + /** + * Indicates whether the language is in draft state. + */ + isDraft: boolean; +}; diff --git a/packages/app-bridge-theme/src/types/ThemeTemplate.ts b/packages/app-bridge-theme/src/types/ThemeTemplate.ts new file mode 100644 index 000000000..1b3df14e9 --- /dev/null +++ b/packages/app-bridge-theme/src/types/ThemeTemplate.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type ThemeTemplate = 'documentPage' | 'cover' | 'library'; diff --git a/packages/app-bridge-theme/tsconfig.json b/packages/app-bridge-theme/tsconfig.json new file mode 100644 index 000000000..35cd9dce7 --- /dev/null +++ b/packages/app-bridge-theme/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2021", + "useDefineForClassFields": true, + "lib": ["ES2021", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": ".", + "types": ["vite/client"] + }, + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/app-bridge-theme/tsconfig.node.json b/packages/app-bridge-theme/tsconfig.node.json new file mode 100644 index 000000000..dcb1d4ec2 --- /dev/null +++ b/packages/app-bridge-theme/tsconfig.node.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "lib": ["ESNext"], + "target": "ESNext" + }, + "include": [".eslintrc.cjs", ".prettierrc.cjs", "vite.config.mts", "package.json"] +} diff --git a/packages/app-bridge-theme/vite.config.mts b/packages/app-bridge-theme/vite.config.mts new file mode 100644 index 000000000..e6eabb2a0 --- /dev/null +++ b/packages/app-bridge-theme/vite.config.mts @@ -0,0 +1,31 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; + +import { dependencies as dependenciesMap, peerDependencies as peerDependenciesMap } from './package.json'; + +const dependencies = Object.keys(dependenciesMap); +const peerDependencies = Object.keys(peerDependenciesMap); + +export const globals = { + react: 'React', + 'react-dom': 'ReactDOM', +}; + +export default defineConfig({ + plugins: [dts({ insertTypesEntry: true, rollupTypes: true })], + build: { + lib: { + entry: { + index: './src/index.ts', + }, + name: 'app-bridge-theme', + }, + sourcemap: true, + minify: true, + rollupOptions: { + external: [...dependencies, ...peerDependencies], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43543d6da..5d423c6f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,7 +24,7 @@ importers: version: 5.0.7 '@frontify/fondue': specifier: ^12.0.10 - version: 12.0.10(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) + version: 12.0.10(jhbqyupum772ivndo3xkwf7iuu) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@4.5.3(@types/node@18.19.31)(terser@5.30.4)) @@ -141,6 +141,45 @@ importers: specifier: ^1.4.0 version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + packages/app-bridge-theme: + devDependencies: + '@frontify/eslint-config-react': + specifier: ^0.17.6 + version: 0.17.6(eslint@8.57.0)(prettier@3.2.5)(react@18.2.0)(typescript@5.4.4) + '@types/react': + specifier: ^18.2.75 + version: 18.2.75 + '@types/react-dom': + specifier: ^18.2.24 + version: 18.2.24 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-plugin-notice: + specifier: ^0.9.10 + version: 0.9.10(eslint@8.57.0) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + react: + specifier: ^18.2.0 + version: 18.2.0 + ts-json-as-const: + specifier: ^1.0.7 + version: 1.0.7(typescript@5.4.4) + type-fest: + specifier: ^4.15.0 + version: 4.15.0 + typescript: + specifier: ^5.4.4 + version: 5.4.4 + vite: + specifier: ^5.2.10 + version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + vite-plugin-dts: + specifier: ^3.8.1 + version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + packages/cli: dependencies: '@fastify/cors': @@ -257,7 +296,7 @@ importers: version: 3.9.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sinon@17.0.1) '@frontify/fondue': specifier: ^12.0.10 - version: 12.0.10(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) + version: 12.0.10(g2qxhbirnett3q6vknbfcsddau) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -412,7 +451,7 @@ importers: dependencies: '@frontify/fondue': specifier: ^12.0.10 - version: 12.0.10(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) + version: 12.0.10(g2qxhbirnett3q6vknbfcsddau) devDependencies: '@babel/core': specifier: ^7.24.4 @@ -1786,6 +1825,7 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1793,6 +1833,7 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead '@internationalized/date@3.3.0': resolution: {integrity: sha512-qfRd7jCIgUjabI8RxeAsxhLDRS1u8eUPX96GB5uBp1Tpm6YY6dVveE7YwsTEV6L4QOp5LKFirFHHGsL/XQwJIA==} @@ -7468,6 +7509,7 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true robust-predicates@3.0.2: @@ -10393,7 +10435,7 @@ snapshots: '@changesets/apply-release-plan@7.0.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -10405,16 +10447,16 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 '@changesets/assemble-release-plan@6.0.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.5.4 + semver: 7.6.0 '@changesets/changelog-git@0.2.0': dependencies: @@ -10483,7 +10525,7 @@ snapshots: '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.5.4 + semver: 7.6.0 '@changesets/get-github-info@0.6.0': dependencies: @@ -10494,7 +10536,7 @@ snapshots: '@changesets/get-release-plan@4.0.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/assemble-release-plan': 6.0.0 '@changesets/config': 3.0.0 '@changesets/pre': 2.0.0 @@ -10506,7 +10548,7 @@ snapshots: '@changesets/git@3.0.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -10525,7 +10567,7 @@ snapshots: '@changesets/pre@2.0.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -10533,7 +10575,7 @@ snapshots: '@changesets/read@0.6.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -10548,7 +10590,7 @@ snapshots: '@changesets/write@0.3.0': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -10891,9 +10933,9 @@ snapshots: '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsonc: 2.15.0(eslint@8.57.0) eslint-plugin-lodash: 7.4.0(eslint@8.57.0) eslint-plugin-markdown: 4.0.1(eslint@8.57.0) @@ -11005,14 +11047,14 @@ snapshots: dependencies: tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) - ? '@frontify/fondue@12.0.10(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0))' - : dependencies: + '@frontify/fondue@12.0.10(g2qxhbirnett3q6vknbfcsddau)': + dependencies: '@ctrl/tinycolor': 4.0.4 '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) '@dnd-kit/utilities': 3.2.2(react@18.2.0) - '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3) + '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3) '@frontify/fondue-components': 1.2.3(@frontify/fondue-icons@0.2.1(react@18.2.0))(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@frontify/fondue-icons': 0.2.1(react@18.2.0) '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) @@ -11055,28 +11097,28 @@ snapshots: '@react-types/dialog': 3.4.5(react@18.2.0) '@react-types/shared': 3.16.0(react@18.2.0) '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) + '@udecode/zustood': 2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0)) '@xstate/immer': 0.3.3(immer@9.0.21)(xstate@4.38.3) '@xstate/react': 1.6.3(@types/react@18.2.75)(react@18.2.0)(xstate@4.38.3) date-fns: 3.6.0 @@ -11123,14 +11165,14 @@ snapshots: - zdog - zustand - ? '@frontify/fondue@12.0.10(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(@types/node@18.19.31)(@types/react-dom@18.2.24)(@types/react@18.2.75)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0))' - : dependencies: + '@frontify/fondue@12.0.10(jhbqyupum772ivndo3xkwf7iuu)': + dependencies: '@ctrl/tinycolor': 4.0.4 '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) '@dnd-kit/utilities': 3.2.2(react@18.2.0) - '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3) + '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3) '@frontify/fondue-components': 1.2.3(@frontify/fondue-icons@0.2.1(react@18.2.0))(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@frontify/fondue-icons': 0.2.1(react@18.2.0) '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) @@ -11173,28 +11215,28 @@ snapshots: '@react-types/dialog': 3.4.5(react@18.2.0) '@react-types/shared': 3.16.0(react@18.2.0) '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) + '@udecode/zustood': 2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) '@xstate/immer': 0.3.3(immer@9.0.21)(xstate@4.38.3) '@xstate/react': 1.6.3(@types/react@18.2.75)(react@18.2.0)(xstate@4.38.3) date-fns: 3.6.0 @@ -11383,7 +11425,7 @@ snapshots: '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -13261,7 +13303,7 @@ snapshots: '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@babel/runtime': 7.23.9 '@types/aria-query': 5.0.4 aria-query: 5.1.3 @@ -13321,7 +13363,7 @@ snapshots: '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.24.4 '@babel/types': 7.23.6 '@types/babel__traverse@7.20.4': @@ -13577,6 +13619,16 @@ snapshots: '@typescript-eslint/types': 7.5.0 eslint-visitor-keys: 3.4.3 + '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + dependencies: + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) @@ -13587,9 +13639,10 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13608,10 +13661,9 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13629,9 +13681,9 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-break@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13649,9 +13701,10 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-break@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13670,10 +13723,10 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-combobox@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - prismjs: 1.29.0 + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + downshift: 6.1.12(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13692,16 +13745,26 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-combobox@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - downshift: 6.1.12(react@18.2.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler '@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: @@ -13724,21 +13787,30 @@ snapshots: - react-native - scheduler - '@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-core@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 + clsx: 1.2.1 + is-hotkey: 0.2.0 + jotai: 2.8.0(@types/react@18.2.75)(react@18.2.0) + jotai-optics: 0.3.2(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(optics-ts@2.4.1) + jotai-x: 1.2.2(@types/react@18.2.75)(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) + lodash: 4.17.21 + nanoid: 3.3.7 + optics-ts: 2.4.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + react-hotkeys-hook: 4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + use-deep-compare: 1.2.1(react@18.2.0) + zustand: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) + zustand-x: 3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0)) transitivePeerDependencies: - '@types/react' - immer @@ -13805,6 +13877,18 @@ snapshots: - react-native - scheduler + '@udecode/plate-emoji@31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + dependencies: + '@emoji-mart/data': 1.1.2 + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + '@udecode/plate-emoji@31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: '@emoji-mart/data': 1.1.2 @@ -13817,11 +13901,11 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-emoji@31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@emoji-mart/data': 1.1.2 - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@floating-ui/core': 1.6.0 + '@floating-ui/react': 0.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13841,11 +13925,9 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-indent@31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/react': 0.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13863,9 +13945,11 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-indent@31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13885,11 +13969,11 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13909,11 +13993,10 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-mention@31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13932,10 +14015,10 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-mention@31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13954,10 +14037,9 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13975,9 +14057,9 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -13995,15 +14077,27 @@ snapshots: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler '@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': dependencies: @@ -14099,11 +14193,11 @@ snapshots: - react-native - scheduler - '@udecode/zustood@2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0))': + '@udecode/zustood@2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0))': dependencies: immer: 10.0.4 react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) + zustand: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) transitivePeerDependencies: - react - react-dom @@ -14420,10 +14514,10 @@ snapshots: '@vue/compiler-core@3.3.4': dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 - source-map-js: 1.0.2 + source-map-js: 1.2.0 '@vue/compiler-dom@3.3.4': dependencies: @@ -15782,13 +15876,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -15799,14 +15893,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -15816,7 +15910,7 @@ snapshots: eslint: 8.57.0 ignore: 5.2.4 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.4 @@ -15826,7 +15920,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -18185,7 +18279,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -20270,6 +20364,18 @@ snapshots: - react-native - scheduler + zustand-x@3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0)): + dependencies: + immer: 10.0.4 + lodash.mapvalues: 4.6.0 + react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) + zustand: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + - react-native + - scheduler + zustand-x@3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)): dependencies: immer: 10.0.4 @@ -20286,6 +20392,14 @@ snapshots: optionalDependencies: react: 18.2.0 + zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0): + dependencies: + use-sync-external-store: 1.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.75 + immer: 10.0.4 + react: 18.2.0 + zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0): dependencies: use-sync-external-store: 1.2.0(react@18.2.0) From b1c103be294bba6b2106e074945ac6d37585800b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 11:07:18 +0200 Subject: [PATCH 078/327] chore: release packages (alpha) (#959) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 5 ++++- packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 00460c253..1304297de 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -6,7 +6,8 @@ "@frontify/frontify-cli": "5.5.3", "@frontify/guideline-blocks-settings": "0.29.16", "@frontify/sidebar-settings": "0.8.1", - "@frontify/platform-app": "0.0.5" + "@frontify/platform-app": "0.0.5", + "@frontify/app-bridge-theme": "1.0.0-alpha.1" }, "changesets": [ "calm-candles-wink", @@ -30,6 +31,7 @@ "orange-jokes-listen", "pink-bugs-behave", "pink-geckos-change", + "pink-lobsters-beg", "polite-eels-shake", "pretty-items-marry", "red-islands-report", @@ -41,6 +43,7 @@ "spicy-books-shout", "stale-hairs-wash", "strong-tools-check", + "ten-guests-wash", "tough-nails-shout", "tricky-boats-sip", "warm-hounds-refuse", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index d0eda5458..b10891a13 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1 +1,7 @@ # @frontify/app-bridge-theme + +## 1.0.0-alpha.2 + +### Patch Changes + +- [#958](https://github.com/Frontify/brand-sdk/pull/958) [`4d191a8`](https://github.com/Frontify/brand-sdk/commit/4d191a8b61645afacb279e72bcbc67111ec6af3f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index eb6adc516..659cf527b 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 23185d98c..637d3fc70 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.31 + +### Patch Changes + +- [#956](https://github.com/Frontify/brand-sdk/pull/956) [`2491b6e`](https://github.com/Frontify/brand-sdk/commit/2491b6e88fc41ca8eafff5e41ec181247a968c46) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds state listener to allow push from parent + ## 4.0.0-alpha.30 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index ab5fa6526..ebcbc962f 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.30", + "version": "4.0.0-alpha.31", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 7a88fb512a8209ab377ef12a70e2c8484d5b6799 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Tue, 18 Jun 2024 11:25:04 +0200 Subject: [PATCH 079/327] refactor: AppBridgeTheme version fix (#960) * refactor: fix appBridgeTheme version * changeset --- .changeset/few-islands-build.md | 5 +++++ packages/app-bridge-theme/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/few-islands-build.md diff --git a/.changeset/few-islands-build.md b/.changeset/few-islands-build.md new file mode 100644 index 000000000..542e6a686 --- /dev/null +++ b/.changeset/few-islands-build.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +refactor(AppBridgeTheme): version number change diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 659cf527b..3a521190c 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "1.0.0-alpha.2", + "version": "0.0.0-alpha.0", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 6f485969416d6c35b03eaddac382e56ccfd20b0e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 11:53:03 +0200 Subject: [PATCH 080/327] chore: release packages (alpha) (#961) * chore: release packages (alpha) * fix changelog --------- Co-authored-by: github-actions[bot] Co-authored-by: Anxo botana --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 4 ++-- packages/app-bridge-theme/package.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 1304297de..23b1093f1 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -13,6 +13,7 @@ "calm-candles-wink", "clever-suns-laugh", "cuddly-pets-hammer", + "few-islands-build", "five-mangos-search", "four-crabs-bake", "fuzzy-walls-repeat", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index b10891a13..4b38d66c7 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,7 +1,7 @@ # @frontify/app-bridge-theme -## 1.0.0-alpha.2 +## 0.0.0-alpha.1 ### Patch Changes -- [#958](https://github.com/Frontify/brand-sdk/pull/958) [`4d191a8`](https://github.com/Frontify/brand-sdk/commit/4d191a8b61645afacb279e72bcbc67111ec6af3f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes +- [#960](https://github.com/Frontify/brand-sdk/pull/960) [`7a88fb5`](https://github.com/Frontify/brand-sdk/commit/7a88fb512a8209ab377ef12a70e2c8484d5b6799) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 3a521190c..95cea4daf 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.0", + "version": "0.0.0-alpha.1", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 43472d5f7ea4fd6bcdc44dc26103d1c3ce92cf4c Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Tue, 18 Jun 2024 12:48:42 +0200 Subject: [PATCH 081/327] fix: appBridgeTheme fix build and codeowners (#963) * fix: appBridgeTheme fix build and codeowners * changeset --- .changeset/modern-experts-dream.md | 5 +++++ CODEOWNERS | 20 +++++++++++++++++++ package.json | 3 ++- .../app-bridge-theme/src/commands/index.ts | 3 +++ packages/app-bridge-theme/src/index.ts | 3 +++ packages/app-bridge-theme/src/types/index.ts | 8 ++++++++ packages/app-bridge-theme/tsconfig.json | 1 + 7 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .changeset/modern-experts-dream.md create mode 100644 packages/app-bridge-theme/src/commands/index.ts create mode 100644 packages/app-bridge-theme/src/types/index.ts diff --git a/.changeset/modern-experts-dream.md b/.changeset/modern-experts-dream.md new file mode 100644 index 000000000..58a7b60aa --- /dev/null +++ b/.changeset/modern-experts-dream.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +fix(AppBridgeThemes): fix build and codeowners diff --git a/CODEOWNERS b/CODEOWNERS index f730b351e..073b7230b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,4 +1,5 @@ # App Bridge + packages/app-bridge/src/types @Frontify/api-and-sdk ## App Bridge Errors @@ -9,9 +10,11 @@ packages/app-bridge/src/errors/TimeoutReachedError.ts @Frontify/apps-and-integra packages/app-bridge/src/errors/ValidationError.ts @Frontify/apps-and-integrations ## App Bridge Helpers + packages/app-bridge/src/helpers/ @Frontify/themes-and-navigation ## React Hooks + packages/app-bridge/src/react/useAssetBulkDownload.spec.tsx @Frontify/content-and-blocks packages/app-bridge/src/react/useAssetBulkDownload.ts @Frontify/content-and-blocks packages/app-bridge/src/react/useAssetChooser.spec.tsx @Frontify/content-and-blocks @@ -77,6 +80,7 @@ packages/app-bridge/src/react/useUngroupedDocuments.spec.ts @Frontify/content-an packages/app-bridge/src/react/useUngroupedDocuments.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation ### App Bridge registries api + packages/app-bridge/src/registries/api/CreateAsset.ts @Frontify/apps-and-integrations packages/app-bridge/src/registries/api/CreateAsset.spec.ts @Frontify/apps-and-integrations packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts @Frontify/apps-and-integrations @@ -97,15 +101,19 @@ packages/app-bridge/src/registries/commands/NewPublication.ts @Frontify/content- packages/app-bridge/src/registries/commands/TemplateChooser.ts @Frontify/content-and-blocks ### App Bridge registries events + packages/app-bridge/src/registries/events/ @Frontify/content-and-blocks @Frontify/themes-and-navigation ### App Bridge registries verbs + packages/app-bridge/src/registries/verbs/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations ## App Bridge repositories + packages/app-bridge/src/repositories/ @Frontify/content-and-blocks ## App Bridge Tests + packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/content-and-blocks packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts @Frontify/apps-and-integrations packages/app-bridge/src/tests/AppBridgeThemeStub.ts @Frontify/themes-and-navigation @@ -113,6 +121,7 @@ packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/content-and- packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx @Frontify/themes-and-navigation ## App Bridge Utilities + packages/app-bridge/src/utilities/hash.ts @Frontify/apps-and-integrations packages/app-bridge/src/utilities/httpClient.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations packages/app-bridge/src/utilities/MessageBus.ts @Frontify/apps-and-integrations @@ -125,9 +134,11 @@ packages/app-bridge/src/utilities/queryParams.ts @Frontify/apps-and-integrations packages/app-bridge/src/utilities/subscribe.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations ## App Bridge Worker + packages/app-bridge/src/worker/ @Frontify/content-and-blocks ## App Bridge Interfaces + packages/app-bridge/src/AppBridge.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations packages/app-bridge/src/AppBridgeBlock.ts @Frontify/content-and-blocks packages/app-bridge/src/AppBridgeCreateAsset.spec.ts @Frontify/apps-and-integrations @@ -138,6 +149,7 @@ packages/app-bridge/src/AppBridgeTheme.ts @Frontify/themes-and-navigation packages/app-bridge/src/window.d.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations # CLI + packages/cli/src/commands/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations packages/cli/src/errors/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations packages/cli/src/utils/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations @@ -151,11 +163,19 @@ packages/cli/templates/platform-app-css-modules @Frontify/apps-and-integrations packages/cli/templates/platform-app-tailwind @Frontify/apps-and-integrations # Platform Apps types + packages/platform-app @Frontify/apps-and-integrations + # Guideline Blocks Settings + packages/guideline-blocks-settings @Frontify/content-and-blocks # Sidebar Settings + packages/sidebar-settings @Frontify/content-and-blocks @Frontify/themes-and-navigation +# App Bridge Theme + +packages/app-bridge-theme @Frontify/themes-and-navigation + CODEOWNERS @Frontify/architecture diff --git a/package.json b/package.json index 0ec1b6b60..fe5bdcdae 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,9 @@ "private": true, "packageManager": "pnpm@9.1.3+sha512.7c2ea089e1a6af306409c4fc8c4f0897bdac32b772016196c469d9428f1fe2d5a21daf8ad6512762654ac645b5d9136bb210ec9a00afa8dbc4677843ba362ecd", "scripts": { - "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli", + "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli && pnpm build:app-bridge-theme", "build:app-bridge": "pnpm --stream --filter {packages/app-bridge} build", + "build:app-bridge-theme": "pnpm --stream --filter {packages/app-bridge-theme} build", "build:sidebar-settings": "pnpm --stream --filter {packages/sidebar-settings} build", "build:guideline-blocks-settings": "pnpm --stream --filter {packages/guideline-blocks-settings} build", "build:platform-app": "pnpm --stream --filter {packages/platform-app} build", diff --git a/packages/app-bridge-theme/src/commands/index.ts b/packages/app-bridge-theme/src/commands/index.ts new file mode 100644 index 000000000..376f11c25 --- /dev/null +++ b/packages/app-bridge-theme/src/commands/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './CommandRegistry'; diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts index 9232746e5..3a20636eb 100644 --- a/packages/app-bridge-theme/src/index.ts +++ b/packages/app-bridge-theme/src/index.ts @@ -1,3 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './AppBridgeTheme'; +export * from './types/index'; +export * from './types'; +export * from './commands'; diff --git a/packages/app-bridge-theme/src/types/index.ts b/packages/app-bridge-theme/src/types/index.ts new file mode 100644 index 000000000..54cced7ca --- /dev/null +++ b/packages/app-bridge-theme/src/types/index.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './Asset'; +export * from './Context'; +export * from './Guideline'; +export * from './GuidelineSearchResult'; +export * from './Language'; +export * from './ThemeTemplate'; diff --git a/packages/app-bridge-theme/tsconfig.json b/packages/app-bridge-theme/tsconfig.json index 35cd9dce7..0e6aac3c5 100644 --- a/packages/app-bridge-theme/tsconfig.json +++ b/packages/app-bridge-theme/tsconfig.json @@ -19,5 +19,6 @@ "baseUrl": ".", "types": ["vite/client"] }, + "include": ["src"], "references": [{ "path": "./tsconfig.node.json" }] } From 496ec592207fa3b9fc72d8774d9285354bc5abb8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 12:56:28 +0200 Subject: [PATCH 082/327] chore: release packages (alpha) (#964) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 8 +++++++- packages/app-bridge-theme/package.json | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 23b1093f1..6f99ade93 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -25,6 +25,7 @@ "light-crews-report", "lovely-books-hear", "lucky-taxis-kneel", + "modern-experts-dream", "nasty-feet-repair", "neat-plants-smile", "nervous-walls-repair", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 4b38d66c7..d371cf81f 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,7 +1,13 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.2 + +### Patch Changes + +- [#963](https://github.com/Frontify/brand-sdk/pull/963) [`43472d5`](https://github.com/Frontify/brand-sdk/commit/43472d5f7ea4fd6bcdc44dc26103d1c3ce92cf4c) Thanks [@anxobotana](https://github.com/anxobotana)! - fix(AppBridgeThemes): fix build and codeowners + ## 0.0.0-alpha.1 ### Patch Changes -- [#960](https://github.com/Frontify/brand-sdk/pull/960) [`7a88fb5`](https://github.com/Frontify/brand-sdk/commit/7a88fb512a8209ab377ef12a70e2c8484d5b6799) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes +- [#960](https://github.com/Frontify/brand-sdk/pull/960) [`7a88fb5`](https://github.com/Frontify/brand-sdk/commit/7a88fb512a8209ab377ef12a70e2c8484d5b6799) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 95cea4daf..8ca7cd02c 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.1", + "version": "0.0.0-alpha.2", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 578e3e40025b1fbc88959181759257fe0e71d874 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Tue, 18 Jun 2024 14:10:34 +0200 Subject: [PATCH 083/327] feat: add SubscribeMap type in AppBridgeTheme (#965) * feat: add SubscribeMap type in AppBridgeTheme * add changeset --- .changeset/thirty-pears-lay.md | 5 +++++ packages/app-bridge-theme/src/types.ts | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 .changeset/thirty-pears-lay.md diff --git a/.changeset/thirty-pears-lay.md b/.changeset/thirty-pears-lay.md new file mode 100644 index 000000000..9ef168f6a --- /dev/null +++ b/.changeset/thirty-pears-lay.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +Added a SubscribeMap type diff --git a/packages/app-bridge-theme/src/types.ts b/packages/app-bridge-theme/src/types.ts index 0bfe7ed34..40f32ee71 100644 --- a/packages/app-bridge-theme/src/types.ts +++ b/packages/app-bridge-theme/src/types.ts @@ -72,3 +72,7 @@ export type EventCallbackParameter = EventName e : () => void; export type EventUnsubscribeFunction = () => void; + +export type SubscribeMap = { + [EventName in keyof Event as EventName]: Map, boolean>; +}; From 15ee5e1a0bc2bfb60a80ecfa906b7a5d65139670 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:31:43 +0200 Subject: [PATCH 084/327] chore: release packages (alpha) (#966) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 6f99ade93..3cfa22eea 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -46,6 +46,7 @@ "stale-hairs-wash", "strong-tools-check", "ten-guests-wash", + "thirty-pears-lay", "tough-nails-shout", "tricky-boats-sip", "warm-hounds-refuse", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index d371cf81f..137ae3f51 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.3 + +### Patch Changes + +- [#965](https://github.com/Frontify/brand-sdk/pull/965) [`578e3e4`](https://github.com/Frontify/brand-sdk/commit/578e3e40025b1fbc88959181759257fe0e71d874) Thanks [@Kenny806](https://github.com/Kenny806)! - Added a SubscribeMap type + ## 0.0.0-alpha.2 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 8ca7cd02c..e642b3368 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.2", + "version": "0.0.0-alpha.3", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 14d59f1164555a121db3172f999055abaee077af Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Wed, 19 Jun 2024 08:53:17 +0200 Subject: [PATCH 085/327] Added GuidelineBrandPortalLink interface (#969) --- packages/app-bridge-theme/src/types/Guideline.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts index 9e5862c45..8c85cdae7 100644 --- a/packages/app-bridge-theme/src/types/Guideline.ts +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -88,6 +88,12 @@ export interface GuidelineDocumentPageHeading { type: 'document-page-heading'; } +export interface GuidelineBrandPortalLink { + isEnabled(): boolean; + title(language?: string): string; + url(language?: string): string; +} + export type PortalNavigationItem = | GuidelineCoverPage | GuidelineDocumentGroup From 599df4fd1db1ad43a8163538513c36a9ab3e938a Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 19 Jun 2024 11:13:51 +0200 Subject: [PATCH 086/327] fix: extend AppBridgeThemeEvent to include assetsChosen (#967) * fix: extend AppBridgeThemeEvent to include assetsChosen * fix imports * Update packages/app-bridge-theme/src/registries/CommandRegistry.ts Co-authored-by: Anxo Botana --------- Co-authored-by: Anxo Botana --- .changeset/curly-pots-scream.md | 5 ++ .../app-bridge-theme/src/AppBridgeTheme.ts | 9 ++- .../app-bridge-theme/src/commands/index.ts | 3 - packages/app-bridge-theme/src/index.ts | 1 - .../CommandRegistry.ts | 2 +- .../src/registries/EventRegistry.ts | 8 +++ packages/app-bridge-theme/src/types.ts | 61 +------------------ .../app-bridge-theme/src/types/Command.ts | 30 +++++++++ .../app-bridge-theme/src/types/Context.ts | 3 +- packages/app-bridge-theme/src/types/Event.ts | 47 ++++++++++++++ 10 files changed, 99 insertions(+), 70 deletions(-) create mode 100644 .changeset/curly-pots-scream.md delete mode 100644 packages/app-bridge-theme/src/commands/index.ts rename packages/app-bridge-theme/src/{commands => registries}/CommandRegistry.ts (85%) create mode 100644 packages/app-bridge-theme/src/registries/EventRegistry.ts create mode 100644 packages/app-bridge-theme/src/types/Command.ts create mode 100644 packages/app-bridge-theme/src/types/Event.ts diff --git a/.changeset/curly-pots-scream.md b/.changeset/curly-pots-scream.md new file mode 100644 index 000000000..7e893ff38 --- /dev/null +++ b/.changeset/curly-pots-scream.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +fix: extend AppBridgeThemeEvent to include assetsChosen diff --git a/packages/app-bridge-theme/src/AppBridgeTheme.ts b/packages/app-bridge-theme/src/AppBridgeTheme.ts index 02c9714ad..873ea5165 100644 --- a/packages/app-bridge-theme/src/AppBridgeTheme.ts +++ b/packages/app-bridge-theme/src/AppBridgeTheme.ts @@ -1,14 +1,13 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { type Command, type DispatchHandlerParameter } from './types/Command'; +import { type ContextReturn, type Context } from './types/Context'; import { - type Command, - type DispatchHandlerParameter, type AppBridgeThemeEvent, - type EventNameParameter, type EventCallbackParameter, + type EventNameParameter, type EventUnsubscribeFunction, -} from './types'; -import { type ContextReturn, type Context } from './types/Context'; +} from './types/Event'; import { type GuidelineSearchResult } from './types/GuidelineSearchResult'; export interface AppBridgeTheme { diff --git a/packages/app-bridge-theme/src/commands/index.ts b/packages/app-bridge-theme/src/commands/index.ts deleted file mode 100644 index 376f11c25..000000000 --- a/packages/app-bridge-theme/src/commands/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export * from './CommandRegistry'; diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts index 3a20636eb..2bc14a88f 100644 --- a/packages/app-bridge-theme/src/index.ts +++ b/packages/app-bridge-theme/src/index.ts @@ -3,4 +3,3 @@ export * from './AppBridgeTheme'; export * from './types/index'; export * from './types'; -export * from './commands'; diff --git a/packages/app-bridge-theme/src/commands/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts similarity index 85% rename from packages/app-bridge-theme/src/commands/CommandRegistry.ts rename to packages/app-bridge-theme/src/registries/CommandRegistry.ts index 5bb5440f1..c645e42db 100644 --- a/packages/app-bridge-theme/src/commands/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type CommandNameValidator } from 'src/types'; +import { type CommandNameValidator } from '../types/Command'; type OpenSearchDialog = void; type CloseSearchDialog = void; diff --git a/packages/app-bridge-theme/src/registries/EventRegistry.ts b/packages/app-bridge-theme/src/registries/EventRegistry.ts new file mode 100644 index 000000000..d14f0f5e9 --- /dev/null +++ b/packages/app-bridge-theme/src/registries/EventRegistry.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type Asset } from '../types/Asset'; +import { type EventNameValidator } from '../types/Event'; + +export type EventRegistry = EventNameValidator<{ + assetsChosen: { assets: Asset[] }; +}>; diff --git a/packages/app-bridge-theme/src/types.ts b/packages/app-bridge-theme/src/types.ts index 40f32ee71..155a9c2a5 100644 --- a/packages/app-bridge-theme/src/types.ts +++ b/packages/app-bridge-theme/src/types.ts @@ -1,19 +1,13 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type Simplify } from 'type-fest'; - -import { type CommandRegistry } from './commands/CommandRegistry'; -import { type Context } from './types/Context'; - -type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; -type EventVerb = 'chosen'; +import { type EventCallbackParameter } from './types/Event'; type NameContextList = 'Command' | 'Event'; -type WrongNamePattern = ApiMethodName extends string +export type WrongNamePattern = ApiMethodName extends string ? `The following ${NameContext} do not match the naming pattern: ${ApiMethodName}` : never; -type ObjectNameValidator< +export type ObjectNameValidator< NameObject, PatternObject, NameContext extends NameContextList, @@ -24,55 +18,6 @@ type ObjectNameValidator< NameContext >; -type CommandNamePattern = { [commandName: `${CommandVerb}${string}`]: unknown }; -export type CommandNameValidator = Simplify< - ObjectNameValidator ->; - -export type Command = CommandNameValidator< - Pick ->; - -type EventNameValidator = Simplify>; - -type ContextAsEventName = { - [ContextKey in keyof Context as ContextKey extends string ? `Context.${ContextKey}` : never]: [ - Context[ContextKey], - Context[ContextKey], - ]; -}; - -type DispatchHandler< - CommandName extends keyof CommandNamePattern, - Command extends CommandNamePattern, -> = Command[CommandName] extends void ? { name: CommandName } : { name: CommandName; payload: Command[CommandName] }; - -export type DispatchHandlerParameter< - CommandName, - Command extends CommandNamePattern, -> = CommandName extends keyof CommandNamePattern - ? DispatchHandler - : WrongNamePattern; - -export type AppBridgeThemeEvent = EventNameValidator>; - -export type EventNamePattern = { - [eventName: `Context.${string}` | `${string}${Capitalize}`]: unknown; -}; -export type EventNameParameter< - EventName, - EventNameParameter extends EventNamePattern, -> = EventName extends keyof EventNameParameter ? EventName : WrongNamePattern; - -export type EventCallbackParameter = EventName extends keyof AppBridgeThemeEvent - ? // eslint-disable-next-line @typescript-eslint/no-explicit-any - AppBridgeThemeEvent[EventName] extends any[] - ? (...eventReturn: AppBridgeThemeEvent[EventName]) => void - : (eventReturn: AppBridgeThemeEvent[EventName]) => void - : () => void; - -export type EventUnsubscribeFunction = () => void; - export type SubscribeMap = { [EventName in keyof Event as EventName]: Map, boolean>; }; diff --git a/packages/app-bridge-theme/src/types/Command.ts b/packages/app-bridge-theme/src/types/Command.ts new file mode 100644 index 000000000..0a6b8f3a7 --- /dev/null +++ b/packages/app-bridge-theme/src/types/Command.ts @@ -0,0 +1,30 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type Simplify } from 'type-fest'; + +import { type CommandRegistry } from '../registries/CommandRegistry'; +import { type ObjectNameValidator, type WrongNamePattern } from '../types'; + +type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; + +type CommandNamePattern = { [commandName: `${CommandVerb}${string}`]: unknown }; + +export type CommandNameValidator = Simplify< + ObjectNameValidator +>; + +export type Command = CommandNameValidator< + Pick +>; + +type DispatchHandler< + CommandName extends keyof CommandNamePattern, + Command extends CommandNamePattern, +> = Command[CommandName] extends void ? { name: CommandName } : { name: CommandName; payload: Command[CommandName] }; + +export type DispatchHandlerParameter< + CommandName, + Command extends CommandNamePattern, +> = CommandName extends keyof CommandNamePattern + ? DispatchHandler + : WrongNamePattern; diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index 10073826e..60fe34443 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -1,8 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type EventUnsubscribeFunction } from 'src/types'; - import { type Asset } from './Asset'; +import { type EventUnsubscribeFunction } from './Event'; import { type GuidelineCoverPage, type GuidelineDocument, diff --git a/packages/app-bridge-theme/src/types/Event.ts b/packages/app-bridge-theme/src/types/Event.ts new file mode 100644 index 000000000..bdb4391f9 --- /dev/null +++ b/packages/app-bridge-theme/src/types/Event.ts @@ -0,0 +1,47 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type Simplify } from 'type-fest'; + +import { type EventRegistry } from '../registries/EventRegistry'; +import { type ObjectNameValidator, type WrongNamePattern } from '../types'; + +import { type Context } from './Context'; + +type EventVerb = 'chosen'; + +export type EventNameValidator = Simplify< + ObjectNameValidator +>; + +type ContextAsEventName = { + [ContextKey in keyof Context as ContextKey extends string ? `Context.${ContextKey}` : never]: [ + Context[ContextKey], + Context[ContextKey], + ]; +}; + +export type AppBridgeThemeEvent = EventNameValidator< + Pick & + ContextAsEventName< + Context & { + '*': Context; + } + > +>; + +export type EventNamePattern = { + [eventName: `Context.${string}` | `${string}${Capitalize}`]: unknown; +}; +export type EventNameParameter< + EventName, + EventNameParameter extends EventNamePattern, +> = EventName extends keyof EventNameParameter ? EventName : WrongNamePattern; + +export type EventCallbackParameter = EventName extends keyof AppBridgeThemeEvent + ? // eslint-disable-next-line @typescript-eslint/no-explicit-any + AppBridgeThemeEvent[EventName] extends any[] + ? (...eventReturn: AppBridgeThemeEvent[EventName]) => void + : (eventReturn: AppBridgeThemeEvent[EventName]) => void + : () => void; + +export type EventUnsubscribeFunction = () => void; From 9fda038ed7e3781b25d64a9d56d36b62cccd86bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 11:34:37 +0200 Subject: [PATCH 087/327] chore: release packages (alpha) (#970) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 3cfa22eea..2b28122e1 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -13,6 +13,7 @@ "calm-candles-wink", "clever-suns-laugh", "cuddly-pets-hammer", + "curly-pots-scream", "few-islands-build", "five-mangos-search", "four-crabs-bake", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 137ae3f51..acf6c3569 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.4 + +### Patch Changes + +- [#967](https://github.com/Frontify/brand-sdk/pull/967) [`599df4f`](https://github.com/Frontify/brand-sdk/commit/599df4fd1db1ad43a8163538513c36a9ab3e938a) Thanks [@Kenny806](https://github.com/Kenny806)! - fix: extend AppBridgeThemeEvent to include assetsChosen + ## 0.0.0-alpha.3 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index e642b3368..d1e9d9330 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.3", + "version": "0.0.0-alpha.4", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 08b3506f1b8dba87fed1b6eb3f379bf619327d45 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 19 Jun 2024 13:20:46 +0200 Subject: [PATCH 088/327] fix: fix exports (#971) * fix: fix exports * chore: add changeset --- .changeset/angry-dolphins-fry.md | 5 +++++ packages/app-bridge-theme/src/AppBridgeTheme.ts | 10 ++++++---- packages/app-bridge-theme/src/index.ts | 2 +- .../app-bridge-theme/src/registries/CommandRegistry.ts | 2 +- .../app-bridge-theme/src/registries/EventRegistry.ts | 3 +-- packages/app-bridge-theme/src/registries/index.ts | 4 ++++ packages/app-bridge-theme/src/types/Command.ts | 5 +++-- .../app-bridge-theme/src/{types.ts => types/Common.ts} | 6 ------ packages/app-bridge-theme/src/types/Event.ts | 8 ++++++-- packages/app-bridge-theme/src/types/index.ts | 3 +++ 10 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 .changeset/angry-dolphins-fry.md create mode 100644 packages/app-bridge-theme/src/registries/index.ts rename packages/app-bridge-theme/src/{types.ts => types/Common.ts} (75%) diff --git a/.changeset/angry-dolphins-fry.md b/.changeset/angry-dolphins-fry.md new file mode 100644 index 000000000..4c0ca9802 --- /dev/null +++ b/.changeset/angry-dolphins-fry.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +Fixed exports diff --git a/packages/app-bridge-theme/src/AppBridgeTheme.ts b/packages/app-bridge-theme/src/AppBridgeTheme.ts index 873ea5165..77ac95f56 100644 --- a/packages/app-bridge-theme/src/AppBridgeTheme.ts +++ b/packages/app-bridge-theme/src/AppBridgeTheme.ts @@ -1,14 +1,16 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type Command, type DispatchHandlerParameter } from './types/Command'; -import { type ContextReturn, type Context } from './types/Context'; import { type AppBridgeThemeEvent, + type Command, + type Context, + type ContextReturn, + type DispatchHandlerParameter, type EventCallbackParameter, type EventNameParameter, type EventUnsubscribeFunction, -} from './types/Event'; -import { type GuidelineSearchResult } from './types/GuidelineSearchResult'; + type GuidelineSearchResult, +} from './types'; export interface AppBridgeTheme { dispatch( diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts index 2bc14a88f..7cc022c57 100644 --- a/packages/app-bridge-theme/src/index.ts +++ b/packages/app-bridge-theme/src/index.ts @@ -1,5 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './AppBridgeTheme'; -export * from './types/index'; +export * from './registries'; export * from './types'; diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index c645e42db..13a369115 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type CommandNameValidator } from '../types/Command'; +import { type CommandNameValidator } from '../types'; type OpenSearchDialog = void; type CloseSearchDialog = void; diff --git a/packages/app-bridge-theme/src/registries/EventRegistry.ts b/packages/app-bridge-theme/src/registries/EventRegistry.ts index d14f0f5e9..3f541f39d 100644 --- a/packages/app-bridge-theme/src/registries/EventRegistry.ts +++ b/packages/app-bridge-theme/src/registries/EventRegistry.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type Asset } from '../types/Asset'; -import { type EventNameValidator } from '../types/Event'; +import { type Asset, type EventNameValidator } from '../types'; export type EventRegistry = EventNameValidator<{ assetsChosen: { assets: Asset[] }; diff --git a/packages/app-bridge-theme/src/registries/index.ts b/packages/app-bridge-theme/src/registries/index.ts new file mode 100644 index 000000000..24c572e4b --- /dev/null +++ b/packages/app-bridge-theme/src/registries/index.ts @@ -0,0 +1,4 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './CommandRegistry'; +export * from './EventRegistry'; diff --git a/packages/app-bridge-theme/src/types/Command.ts b/packages/app-bridge-theme/src/types/Command.ts index 0a6b8f3a7..c75ab0c04 100644 --- a/packages/app-bridge-theme/src/types/Command.ts +++ b/packages/app-bridge-theme/src/types/Command.ts @@ -2,8 +2,9 @@ import { type Simplify } from 'type-fest'; -import { type CommandRegistry } from '../registries/CommandRegistry'; -import { type ObjectNameValidator, type WrongNamePattern } from '../types'; +import { type CommandRegistry } from '../registries'; + +import { type ObjectNameValidator, type WrongNamePattern } from './Common'; type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; diff --git a/packages/app-bridge-theme/src/types.ts b/packages/app-bridge-theme/src/types/Common.ts similarity index 75% rename from packages/app-bridge-theme/src/types.ts rename to packages/app-bridge-theme/src/types/Common.ts index 155a9c2a5..69da2781b 100644 --- a/packages/app-bridge-theme/src/types.ts +++ b/packages/app-bridge-theme/src/types/Common.ts @@ -1,7 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type EventCallbackParameter } from './types/Event'; - type NameContextList = 'Command' | 'Event'; export type WrongNamePattern = ApiMethodName extends string ? `The following ${NameContext} do not match the naming pattern: ${ApiMethodName}` @@ -17,7 +15,3 @@ export type ObjectNameValidator< `${Exclude, Extract>}`, NameContext >; - -export type SubscribeMap = { - [EventName in keyof Event as EventName]: Map, boolean>; -}; diff --git a/packages/app-bridge-theme/src/types/Event.ts b/packages/app-bridge-theme/src/types/Event.ts index bdb4391f9..3d3dd74b7 100644 --- a/packages/app-bridge-theme/src/types/Event.ts +++ b/packages/app-bridge-theme/src/types/Event.ts @@ -2,9 +2,9 @@ import { type Simplify } from 'type-fest'; -import { type EventRegistry } from '../registries/EventRegistry'; -import { type ObjectNameValidator, type WrongNamePattern } from '../types'; +import { type EventRegistry } from '../registries'; +import { type ObjectNameValidator, type WrongNamePattern } from './Common'; import { type Context } from './Context'; type EventVerb = 'chosen'; @@ -45,3 +45,7 @@ export type EventCallbackParameter = EventName e : () => void; export type EventUnsubscribeFunction = () => void; + +export type SubscribeMap = { + [EventName in keyof Event as EventName]: Map, boolean>; +}; diff --git a/packages/app-bridge-theme/src/types/index.ts b/packages/app-bridge-theme/src/types/index.ts index 54cced7ca..cc7fcfe16 100644 --- a/packages/app-bridge-theme/src/types/index.ts +++ b/packages/app-bridge-theme/src/types/index.ts @@ -1,7 +1,10 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './Asset'; +export * from './Command'; +export * from './Common'; export * from './Context'; +export * from './Event'; export * from './Guideline'; export * from './GuidelineSearchResult'; export * from './Language'; From 42231b8f51ad93506514a3f9c316dfa1a13f634d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 13:32:32 +0200 Subject: [PATCH 089/327] chore: release packages (alpha) (#972) Co-authored-by: github-actions[bot] --- .changeset/angry-dolphins-fry.md | 2 +- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.changeset/angry-dolphins-fry.md b/.changeset/angry-dolphins-fry.md index 4c0ca9802..b7596dfa0 100644 --- a/.changeset/angry-dolphins-fry.md +++ b/.changeset/angry-dolphins-fry.md @@ -2,4 +2,4 @@ "@frontify/app-bridge-theme": patch --- -Fixed exports +fix: exports diff --git a/.changeset/pre.json b/.changeset/pre.json index 2b28122e1..1ed43ebcb 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -10,6 +10,7 @@ "@frontify/app-bridge-theme": "1.0.0-alpha.1" }, "changesets": [ + "angry-dolphins-fry", "calm-candles-wink", "clever-suns-laugh", "cuddly-pets-hammer", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index acf6c3569..c00daf7d9 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.5 + +### Patch Changes + +- [#971](https://github.com/Frontify/brand-sdk/pull/971) [`08b3506`](https://github.com/Frontify/brand-sdk/commit/08b3506f1b8dba87fed1b6eb3f379bf619327d45) Thanks [@Kenny806](https://github.com/Kenny806)! - fix: exports + ## 0.0.0-alpha.4 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index d1e9d9330..5953b097c 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.4", + "version": "0.0.0-alpha.5", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 508f51e1de4d091f8761f4b7897940574d819eee Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Thu, 20 Jun 2024 10:49:28 +0200 Subject: [PATCH 090/327] feat: templateContext and NavigationItem types (#974) * feat: templateContext and NavigationItem types * update * changeset * updates per PR review * one more update * interface updates --- .changeset/great-dolls-enjoy.md | 5 ++ .../app-bridge-theme/src/types/Context.ts | 13 ++-- .../app-bridge-theme/src/types/Guideline.ts | 67 ++++++++++++------- 3 files changed, 51 insertions(+), 34 deletions(-) create mode 100644 .changeset/great-dolls-enjoy.md diff --git a/.changeset/great-dolls-enjoy.md b/.changeset/great-dolls-enjoy.md new file mode 100644 index 000000000..74c47b9b8 --- /dev/null +++ b/.changeset/great-dolls-enjoy.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: templateContext and NavigationItem types diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index 60fe34443..2869ffa35 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -2,19 +2,14 @@ import { type Asset } from './Asset'; import { type EventUnsubscribeFunction } from './Event'; -import { - type GuidelineCoverPage, - type GuidelineDocument, - type GuidelineDocumentLibrary, - type GuidelineDocumentPage, -} from './Guideline'; +import { type CoverPage, type Document, type DocumentLibrary, type DocumentPage } from './Guideline'; import { type Language } from './Language'; import { type ThemeTemplate } from './ThemeTemplate'; export type TemplateContext = { templateId: string; type: ThemeTemplate } & ( - | { type: 'documentPage'; document: GuidelineDocument; documentPage: GuidelineDocumentPage } - | { type: 'library'; document: GuidelineDocumentLibrary } - | { type: 'cover'; coverPage: GuidelineCoverPage } + | { type: 'documentPage'; document: Document; documentPage: DocumentPage } + | { type: 'library'; document: DocumentLibrary } + | { type: 'cover'; coverPage: CoverPage } ); export type Context = { diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts index 8c85cdae7..816bb29d8 100644 --- a/packages/app-bridge-theme/src/types/Guideline.ts +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -11,7 +11,7 @@ export enum LinkSettingsIconPosition { Left = 'LEFT', } -export interface GuidelineCoverPage { +interface CoverPageBase { id(): number; title(language?: string): string; isPublished(): boolean; @@ -19,33 +19,45 @@ export interface GuidelineCoverPage { url(language?: string): string; type: 'cover-page'; } +export interface CoverPageNavigationItem extends CoverPageBase {} +export interface CoverPage extends CoverPageBase {} -export interface GuidelineDocumentGroup { +export interface DocumentGroupNavigationItem { id(): number; title(language?: string): string; - children(): (GuidelineDocument | GuidelineDocumentLibrary | GuidelineDocumentLink)[]; + children(): (DocumentNavigationItem | DocumentLibraryNavigationItem | DocumentLinkNavigationItem)[]; type: 'document-group'; } -export interface GuidelineDocument { +interface DocumentBase { id(): number; title(language?: string): string; slug(language?: string): string; url(language?: string): string; - parentId(): Nullable; type: 'document'; } +export interface DocumentNavigationItem extends DocumentBase { + parentId(): Nullable; +} +export interface Document extends DocumentBase { + documentGroupId(): Nullable; +} -export interface GuidelineDocumentLibrary { +interface DocumentLibraryBase { id(): number; title(language?: string): string; slug(language?: string): string; url(language?: string): string; - parentId(): Nullable; type: 'document-library'; } +export interface DocumentLibraryNavigationItem extends DocumentLibraryBase { + parentId(): Nullable; +} +export interface DocumentLibrary extends DocumentLibraryBase { + documentGroupId(): Nullable; +} -export interface GuidelineDocumentLink { +export interface DocumentLinkNavigationItem { id(): number; title(language?: string): string; url(): string; @@ -57,52 +69,57 @@ export interface GuidelineDocumentLink { type: 'document-link'; } -export interface GuidelinePageCategory { +export interface PageCategoryNavigationItem { id(): number; title(language?: string): string; slug(language?: string): string; - children(): (GuidelineDocumentPage | GuidelineDocumentPageLink)[]; + children(): (DocumentPageNavigationItem | DocumentPageLinkNavigationItem)[]; type: 'page-category'; } -export interface GuidelineDocumentPage { +interface DocumentPageBase { id(): number; title(language?: string): string; slug(language?: string): string; url(language?: string): string; - headings(): GuidelineDocumentPageHeading[]; type: 'document-page'; } +export interface DocumentPageNavigationItem extends DocumentPageBase { + headings(): DocumentPageHeadingNavigationItem[]; +} +export interface DocumentPage extends DocumentPageBase { + categoryId(): Nullable; + documentId(): number; +} -export interface GuidelineDocumentPageLink { +export interface DocumentPageLinkNavigationItem { id(): number; title(language?: string): string; url(): string; type: 'document-page-link'; } -export interface GuidelineDocumentPageHeading { +export interface DocumentPageHeadingNavigationItem { id(): number; title(language?: string): string; slug(language?: string): string; type: 'document-page-heading'; } -export interface GuidelineBrandPortalLink { +export interface BrandPortalLink { isEnabled(): boolean; title(language?: string): string; url(language?: string): string; } export type PortalNavigationItem = - | GuidelineCoverPage - | GuidelineDocumentGroup - | GuidelineDocument - | GuidelineDocumentLibrary - | GuidelineDocumentLink; + | CoverPageNavigationItem + | DocumentGroupNavigationItem + | DocumentNavigationItem + | DocumentLibraryNavigationItem + | DocumentLinkNavigationItem; -export type DocumentNavigationItem = - | GuidelinePageCategory - | GuidelineDocumentPage - | GuidelineDocumentPageLink - | GuidelineDocumentPageHeading; +export type DocumentChildNavigationItem = + | PageCategoryNavigationItem + | DocumentPageNavigationItem + | DocumentPageLinkNavigationItem; From f2b80bad8be4386f03ea2c7fdf55cf6eed3af72d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Jun 2024 10:58:21 +0200 Subject: [PATCH 091/327] chore: release packages (alpha) (#975) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 1ed43ebcb..1e6578cf5 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -21,6 +21,7 @@ "fuzzy-walls-repeat", "giant-shrimps-dream", "gorgeous-seas-search", + "great-dolls-enjoy", "hip-days-applaud", "khaki-dryers-shout", "kind-fishes-flash", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index c00daf7d9..0d9a20e41 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.6 + +### Patch Changes + +- [#974](https://github.com/Frontify/brand-sdk/pull/974) [`508f51e`](https://github.com/Frontify/brand-sdk/commit/508f51e1de4d091f8761f4b7897940574d819eee) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: templateContext and NavigationItem types + ## 0.0.0-alpha.5 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 5953b097c..83775e51e 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.5", + "version": "0.0.0-alpha.6", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 5eb030695cc105a3ed514a5b38840b015a8d85ac Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Fri, 21 Jun 2024 16:59:31 +0200 Subject: [PATCH 092/327] feat(app-bridge-theme): add a navigate command (#978) * feat(app-bridge-theme): add a navigate command * chore: lint * refactor: move CommandNameValidator to CommandRegistry and only use it internally * chore: lint * chore: changeset --- .changeset/dry-mangos-fix.md | 5 ++++ .../app-bridge-theme/src/AppBridgeTheme.ts | 6 ++-- .../src/registries/CommandRegistry.ts | 21 +++++++++----- .../app-bridge-theme/src/types/Command.ts | 28 +++++-------------- 4 files changed, 29 insertions(+), 31 deletions(-) create mode 100644 .changeset/dry-mangos-fix.md diff --git a/.changeset/dry-mangos-fix.md b/.changeset/dry-mangos-fix.md new file mode 100644 index 000000000..196d8f2e3 --- /dev/null +++ b/.changeset/dry-mangos-fix.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: add a navigate command diff --git a/packages/app-bridge-theme/src/AppBridgeTheme.ts b/packages/app-bridge-theme/src/AppBridgeTheme.ts index 77ac95f56..7574e165c 100644 --- a/packages/app-bridge-theme/src/AppBridgeTheme.ts +++ b/packages/app-bridge-theme/src/AppBridgeTheme.ts @@ -1,8 +1,8 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { type CommandRegistry } from './registries'; import { type AppBridgeThemeEvent, - type Command, type Context, type ContextReturn, type DispatchHandlerParameter, @@ -13,8 +13,8 @@ import { } from './types'; export interface AppBridgeTheme { - dispatch( - dispatchHandler: DispatchHandlerParameter, + dispatch( + dispatchHandler: DispatchHandlerParameter, ): Promise; context(): ContextReturn; diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index 13a369115..4e0dc2a48 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -1,13 +1,20 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type CommandNameValidator } from '../types'; +import { type Simplify } from 'type-fest'; -type OpenSearchDialog = void; -type CloseSearchDialog = void; -type NavigateToDocumentSection = number | string; +import { type ObjectNameValidator } from '../types'; export type CommandRegistry = CommandNameValidator<{ - openSearchDialog: OpenSearchDialog; - closeSearchDialog: CloseSearchDialog; - navigateToDocumentSection: NavigateToDocumentSection; + openSearchDialog: string[]; + closeSearchDialog: void; + navigate: string; + navigateToDocumentSection: number | string; }>; + +type CommandNameValidator = Simplify< + ObjectNameValidator +>; + +type CommandNamePattern = { [commandName: `${CommandVerb}${string}`]: unknown }; + +type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; diff --git a/packages/app-bridge-theme/src/types/Command.ts b/packages/app-bridge-theme/src/types/Command.ts index c75ab0c04..9f9bcf78d 100644 --- a/packages/app-bridge-theme/src/types/Command.ts +++ b/packages/app-bridge-theme/src/types/Command.ts @@ -1,31 +1,17 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type Simplify } from 'type-fest'; - import { type CommandRegistry } from '../registries'; -import { type ObjectNameValidator, type WrongNamePattern } from './Common'; - -type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; - -type CommandNamePattern = { [commandName: `${CommandVerb}${string}`]: unknown }; - -export type CommandNameValidator = Simplify< - ObjectNameValidator ->; - -export type Command = CommandNameValidator< - Pick ->; +import { type WrongNamePattern } from './Common'; type DispatchHandler< - CommandName extends keyof CommandNamePattern, - Command extends CommandNamePattern, -> = Command[CommandName] extends void ? { name: CommandName } : { name: CommandName; payload: Command[CommandName] }; + CommandName extends keyof CommandRegistry, + TCommand extends CommandRegistry, +> = TCommand[CommandName] extends void ? { name: CommandName } : { name: CommandName; payload: TCommand[CommandName] }; export type DispatchHandlerParameter< CommandName, - Command extends CommandNamePattern, -> = CommandName extends keyof CommandNamePattern - ? DispatchHandler + TCommand extends CommandRegistry, +> = CommandName extends keyof CommandRegistry + ? DispatchHandler : WrongNamePattern; From 7ceeadd7537092b02a520f8feb117dad5e058579 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 Jun 2024 17:07:07 +0200 Subject: [PATCH 093/327] chore: release packages (alpha) (#979) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 1e6578cf5..b2755908f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -15,6 +15,7 @@ "clever-suns-laugh", "cuddly-pets-hammer", "curly-pots-scream", + "dry-mangos-fix", "few-islands-build", "five-mangos-search", "four-crabs-bake", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 0d9a20e41..7d9f1a72f 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.7 + +### Patch Changes + +- [#978](https://github.com/Frontify/brand-sdk/pull/978) [`5eb0306`](https://github.com/Frontify/brand-sdk/commit/5eb030695cc105a3ed514a5b38840b015a8d85ac) Thanks [@Kenny806](https://github.com/Kenny806)! - feat: add a navigate command + ## 0.0.0-alpha.6 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 83775e51e..3ebc60c93 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.6", + "version": "0.0.0-alpha.7", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 02cd695c896847691eae43ed774637614ad3fd32 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Tue, 25 Jun 2024 14:53:50 +0200 Subject: [PATCH 094/327] feat: AppBridgeThemes update context (#981) * feat: appBridgeTheme update context * changeset --- .changeset/fast-houses-hunt.md | 5 +++++ packages/app-bridge-theme/src/types/Context.ts | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/fast-houses-hunt.md diff --git a/.changeset/fast-houses-hunt.md b/.changeset/fast-houses-hunt.md new file mode 100644 index 000000000..1c92b00cc --- /dev/null +++ b/.changeset/fast-houses-hunt.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: AppBridgeTheme update context keys diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index 2869ffa35..fe93409ff 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -2,7 +2,14 @@ import { type Asset } from './Asset'; import { type EventUnsubscribeFunction } from './Event'; -import { type CoverPage, type Document, type DocumentLibrary, type DocumentPage } from './Guideline'; +import { + type PortalNavigationItem, + type BrandPortalLink, + type CoverPage, + type Document, + type DocumentLibrary, + type DocumentPage, +} from './Guideline'; import { type Language } from './Language'; import { type ThemeTemplate } from './ThemeTemplate'; @@ -14,8 +21,10 @@ export type TemplateContext = { templateId: string; type: ThemeTemplate } & ( export type Context = { brandId: number; + brandPortalLink: BrandPortalLink | null; projectId: number; portalId: number; + portalNavigation: PortalNavigationItem[] | null; portalToken: string | null; currentLanguage: string; defaultLanguage: string; From 9e203c1385535ca2aa1e0cfa7127cceec299a369 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:03:06 +0200 Subject: [PATCH 095/327] chore: release packages (alpha) (#982) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index b2755908f..9419a8749 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -16,6 +16,7 @@ "cuddly-pets-hammer", "curly-pots-scream", "dry-mangos-fix", + "fast-houses-hunt", "few-islands-build", "five-mangos-search", "four-crabs-bake", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 7d9f1a72f..91473fd2e 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.8 + +### Patch Changes + +- [#981](https://github.com/Frontify/brand-sdk/pull/981) [`02cd695`](https://github.com/Frontify/brand-sdk/commit/02cd695c896847691eae43ed774637614ad3fd32) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: AppBridgeTheme update context keys + ## 0.0.0-alpha.7 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 3ebc60c93..d8a80b0a7 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.7", + "version": "0.0.0-alpha.8", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 57b2f90c8042e05774e57c1065fc86242f468f48 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Tue, 25 Jun 2024 15:58:17 +0200 Subject: [PATCH 096/327] fix: appBridgeTheme command typing (#983) * fix: appBridgeTheme command type * changeset --- .changeset/new-zebras-unite.md | 5 +++++ packages/app-bridge-theme/src/registries/CommandRegistry.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/new-zebras-unite.md diff --git a/.changeset/new-zebras-unite.md b/.changeset/new-zebras-unite.md new file mode 100644 index 000000000..ff932b225 --- /dev/null +++ b/.changeset/new-zebras-unite.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +fix: AppBridgeTheme command typing diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index 4e0dc2a48..38d69f88c 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -5,7 +5,7 @@ import { type Simplify } from 'type-fest'; import { type ObjectNameValidator } from '../types'; export type CommandRegistry = CommandNameValidator<{ - openSearchDialog: string[]; + openSearchDialog: void; closeSearchDialog: void; navigate: string; navigateToDocumentSection: number | string; From 69ddf0260a34216cba6005be4a4ca60c373f8317 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 16:05:07 +0200 Subject: [PATCH 097/327] chore: release packages (alpha) (#985) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 9419a8749..9bd13e85f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -34,6 +34,7 @@ "nasty-feet-repair", "neat-plants-smile", "nervous-walls-repair", + "new-zebras-unite", "odd-geckos-end", "orange-jokes-listen", "pink-bugs-behave", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 91473fd2e..e6ee88eab 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.9 + +### Patch Changes + +- [#983](https://github.com/Frontify/brand-sdk/pull/983) [`57b2f90`](https://github.com/Frontify/brand-sdk/commit/57b2f90c8042e05774e57c1065fc86242f468f48) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: AppBridgeTheme command typing + ## 0.0.0-alpha.8 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index d8a80b0a7..16b600ea5 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.8", + "version": "0.0.0-alpha.9", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From f60bbf42218880ee8042e5830152a2112eef09dc Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Wed, 26 Jun 2024 15:49:27 +0200 Subject: [PATCH 098/327] feat: deprecate react hooks (#992) * chore: add deprecation notice * Create witty-tools-check.md --- .changeset/witty-tools-check.md | 5 +++++ packages/app-bridge/src/react/usePlatformAppBridge.ts | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 .changeset/witty-tools-check.md diff --git a/.changeset/witty-tools-check.md b/.changeset/witty-tools-check.md new file mode 100644 index 000000000..dca04c628 --- /dev/null +++ b/.changeset/witty-tools-check.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: deprecate react hooks for platform apps diff --git a/packages/app-bridge/src/react/usePlatformAppBridge.ts b/packages/app-bridge/src/react/usePlatformAppBridge.ts index db8e587fb..f5d1dfada 100644 --- a/packages/app-bridge/src/react/usePlatformAppBridge.ts +++ b/packages/app-bridge/src/react/usePlatformAppBridge.ts @@ -4,6 +4,9 @@ import { useEffect, useState } from 'react'; import { AppBridgePlatformApp } from '../AppBridgePlatformApp'; +/** + * @deprecated Use new AppBridgePlatformApp() directly in code. This hook is not needed anymore + */ export const usePlatformAppBridge = () => { const [platformAppBridge, setPlatformAppBridge] = useState(); From 2c0ebf209915a11dd018b7453d7932d0f0ee6f3e Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Fri, 28 Jun 2024 15:46:18 +0200 Subject: [PATCH 099/327] chore: merge main to dev (#1007) * chore: merge main to dev * add changeset for release --- .changeset/brave-queens-work.md | 5 + CODEOWNERS | 3 +- package.json | 7 +- packages/app-bridge-app/.eslintrc.cjs | 58 + packages/app-bridge-app/.gitignore | 3 + packages/app-bridge-app/.prettierrc | 5 + packages/app-bridge-app/CHANGELOG.md | 31 + packages/app-bridge-app/README.md | 1 + packages/app-bridge-app/package.json | 61 + .../src/AppBridgePlatformApp.spec.ts | 84 + .../src/AppBridgePlatformApp.ts | 259 + .../src/errors/HttpClientError.ts | 13 + .../src/errors/InitializationError.ts | 8 + .../app-bridge-app/src/errors/NotifyError.ts | 8 + .../src/errors/TimeoutReachedError.ts | 8 + .../src/errors/ValidationError.ts | 8 + packages/app-bridge-app/src/errors/index.ts | 7 + packages/app-bridge-app/src/global.d.ts | 3 + packages/app-bridge-app/src/index.ts | 10 + .../src/react/appContext.spec.tsx | 48 + .../app-bridge-app/src/react/appContext.ts | 11 + .../src/react/appSettings.spec.tsx | 33 + .../app-bridge-app/src/react/appSettings.ts | 9 + .../src/react/appUserState.spec.tsx | 33 + .../app-bridge-app/src/react/appUserState.ts | 12 + .../src/react/renderReactApp.spec.tsx | 69 + .../src/react/renderReactApp.ts | 24 + .../src/registries/api/ApiMethodRegistry.ts | 21 + .../src/registries/api/CreateAsset.spec.ts | 22 + .../src/registries/api/CreateAsset.ts | 19 + .../api/GetAssetResourceInformation.spec.ts | 18 + .../api/GetAssetResourceInformation.ts | 23 + .../src/registries/api/GetCurrentUser.spec.ts | 12 + .../src/registries/api/GetCurrentUser.ts | 12 + .../registries/api/GetSecretRequest.spec.ts | 17 + .../src/registries/api/GetSecureRequest.ts | 17 + .../src/registries/api/index.ts | 7 + .../app-bridge-app/src/registries/commands.ts | 3 + .../app-bridge-app/src/registries/index.ts | 3 + packages/app-bridge-app/src/setupTests.ts | 13 + .../src/types/CrossDocumentMessageResponse.ts | 10 + packages/app-bridge-app/src/types/Notify.ts | 7 + packages/app-bridge-app/src/types/Topic.ts | 5 + .../src/utilities/MessageBus.spec.ts | 120 + .../src/utilities/MessageBus.ts | 50 + packages/app-bridge-app/src/utilities/hash.ts | 5 + .../app-bridge-app/src/utilities/index.ts | 5 + .../app-bridge-app/src/utilities/notify.ts | 15 + .../src/utilities/queryParams.spec.ts | 35 + .../src/utilities/queryParams.ts | 24 + .../app-bridge-app/src/utilities/subscribe.ts | 33 + packages/app-bridge-app/src/window.d.ts | 11 + packages/app-bridge-app/tsconfig.json | 23 + packages/app-bridge-app/tsconfig.node.json | 12 + packages/app-bridge-app/vite.config.mts | 33 + packages/app-bridge/CHANGELOG.md | 138 +- .../tests/GuidelineSearchResultApiDummy.ts | 1 + .../src/types/GuidelineSearchResult.ts | 1 + packages/cli/CHANGELOG.md | 198 +- packages/cli/package.json | 3 +- packages/cli/src/commands/serve.ts | 47 +- packages/cli/src/index.ts | 2 +- .../content-block-tailwind/package.json | 2 +- .../content-block-tailwind/tailwind.config.ts | 1 + .../platform-app-css-modules/.gitignore | 1 + .../.secret-example.json | 4 + .../platform-app-css-modules/index.html | 11 +- .../platform-app-css-modules/package.json | 4 +- .../platform-app-css-modules/src/App.tsx | 16 +- .../cli/templates/platform-app-css/.gitignore | 1 + .../platform-app-css/.secret-example.json | 4 + .../cli/templates/platform-app-css/index.html | 11 +- .../templates/platform-app-css/package.json | 4 +- .../templates/platform-app-css/src/App.tsx | 16 +- .../platform-app-tailwind/.gitignore | 1 + .../.secret-example.json | 4 + .../platform-app-tailwind/index.html | 11 +- .../platform-app-tailwind/package.json | 4 +- .../platform-app-tailwind/src/App.tsx | 18 +- .../guideline-blocks-settings/CHANGELOG.md | 815 +- .../guideline-blocks-settings/package.json | 8 +- .../RichTextEditor/RichTextEditor.spec.ct.tsx | 46 +- .../RichTextEditor/RichTextEditor.tsx | 14 +- .../RichTextEditor/SerializedText.tsx | 6 +- .../ColumnBreakPlugin/ColumnBreakPlugin.ts | 28 + .../plugins/ColumnBreakPlugin/helper.spec.ts | 21 + .../plugins/ColumnBreakPlugin/helpers.ts | 17 + .../plugins/ColumnBreakPlugin/index.ts | 3 + .../RichTextEditor/plugins/index.ts | 1 + .../src/components/RichTextEditor/types.ts | 2 +- .../tailwind.config.ts | 4 +- .../guideline-blocks-settings/vite.config.ts | 2 +- packages/platform-app/CHANGELOG.md | 91 +- packages/platform-app/package.json | 2 +- packages/sidebar-settings/CHANGELOG.md | 188 +- packages/sidebar-settings/package.json | 4 +- packages/sidebar-settings/vite.config.ts | 5 + ...tch => @udecode__plate-emoji@31.4.0.patch} | 8 +- pnpm-lock.yaml | 12336 +++++++--------- 99 files changed, 7761 insertions(+), 7739 deletions(-) create mode 100644 .changeset/brave-queens-work.md create mode 100644 packages/app-bridge-app/.eslintrc.cjs create mode 100644 packages/app-bridge-app/.gitignore create mode 100644 packages/app-bridge-app/.prettierrc create mode 100644 packages/app-bridge-app/CHANGELOG.md create mode 100644 packages/app-bridge-app/README.md create mode 100644 packages/app-bridge-app/package.json create mode 100644 packages/app-bridge-app/src/AppBridgePlatformApp.spec.ts create mode 100644 packages/app-bridge-app/src/AppBridgePlatformApp.ts create mode 100644 packages/app-bridge-app/src/errors/HttpClientError.ts create mode 100644 packages/app-bridge-app/src/errors/InitializationError.ts create mode 100644 packages/app-bridge-app/src/errors/NotifyError.ts create mode 100644 packages/app-bridge-app/src/errors/TimeoutReachedError.ts create mode 100644 packages/app-bridge-app/src/errors/ValidationError.ts create mode 100644 packages/app-bridge-app/src/errors/index.ts create mode 100644 packages/app-bridge-app/src/global.d.ts create mode 100644 packages/app-bridge-app/src/index.ts create mode 100644 packages/app-bridge-app/src/react/appContext.spec.tsx create mode 100644 packages/app-bridge-app/src/react/appContext.ts create mode 100644 packages/app-bridge-app/src/react/appSettings.spec.tsx create mode 100644 packages/app-bridge-app/src/react/appSettings.ts create mode 100644 packages/app-bridge-app/src/react/appUserState.spec.tsx create mode 100644 packages/app-bridge-app/src/react/appUserState.ts create mode 100644 packages/app-bridge-app/src/react/renderReactApp.spec.tsx create mode 100644 packages/app-bridge-app/src/react/renderReactApp.ts create mode 100644 packages/app-bridge-app/src/registries/api/ApiMethodRegistry.ts create mode 100644 packages/app-bridge-app/src/registries/api/CreateAsset.spec.ts create mode 100644 packages/app-bridge-app/src/registries/api/CreateAsset.ts create mode 100644 packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.spec.ts create mode 100644 packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.ts create mode 100644 packages/app-bridge-app/src/registries/api/GetCurrentUser.spec.ts create mode 100644 packages/app-bridge-app/src/registries/api/GetCurrentUser.ts create mode 100644 packages/app-bridge-app/src/registries/api/GetSecretRequest.spec.ts create mode 100644 packages/app-bridge-app/src/registries/api/GetSecureRequest.ts create mode 100644 packages/app-bridge-app/src/registries/api/index.ts create mode 100644 packages/app-bridge-app/src/registries/commands.ts create mode 100644 packages/app-bridge-app/src/registries/index.ts create mode 100644 packages/app-bridge-app/src/setupTests.ts create mode 100644 packages/app-bridge-app/src/types/CrossDocumentMessageResponse.ts create mode 100644 packages/app-bridge-app/src/types/Notify.ts create mode 100644 packages/app-bridge-app/src/types/Topic.ts create mode 100644 packages/app-bridge-app/src/utilities/MessageBus.spec.ts create mode 100644 packages/app-bridge-app/src/utilities/MessageBus.ts create mode 100644 packages/app-bridge-app/src/utilities/hash.ts create mode 100644 packages/app-bridge-app/src/utilities/index.ts create mode 100644 packages/app-bridge-app/src/utilities/notify.ts create mode 100644 packages/app-bridge-app/src/utilities/queryParams.spec.ts create mode 100644 packages/app-bridge-app/src/utilities/queryParams.ts create mode 100644 packages/app-bridge-app/src/utilities/subscribe.ts create mode 100644 packages/app-bridge-app/src/window.d.ts create mode 100644 packages/app-bridge-app/tsconfig.json create mode 100644 packages/app-bridge-app/tsconfig.node.json create mode 100644 packages/app-bridge-app/vite.config.mts create mode 100644 packages/cli/templates/platform-app-css-modules/.secret-example.json create mode 100644 packages/cli/templates/platform-app-css/.secret-example.json create mode 100644 packages/cli/templates/platform-app-tailwind/.secret-example.json create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helper.spec.ts create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts create mode 100644 packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/index.ts rename patches/{@udecode__plate-emoji@31.0.0.patch => @udecode__plate-emoji@31.4.0.patch} (76%) diff --git a/.changeset/brave-queens-work.md b/.changeset/brave-queens-work.md new file mode 100644 index 000000000..c8892e305 --- /dev/null +++ b/.changeset/brave-queens-work.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +chore: merge main to dev diff --git a/CODEOWNERS b/CODEOWNERS index 073b7230b..42ce10b8a 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -162,9 +162,10 @@ packages/cli/templates/platform-app-css @Frontify/apps-and-integrations packages/cli/templates/platform-app-css-modules @Frontify/apps-and-integrations packages/cli/templates/platform-app-tailwind @Frontify/apps-and-integrations -# Platform Apps types +# Platform Apps packages/platform-app @Frontify/apps-and-integrations +packages/app-bridge-app @Frontify/apps-and-integrations # Guideline Blocks Settings diff --git a/package.json b/package.json index fe5bdcdae..530a1a9a8 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,10 @@ "private": true, "packageManager": "pnpm@9.1.3+sha512.7c2ea089e1a6af306409c4fc8c4f0897bdac32b772016196c469d9428f1fe2d5a21daf8ad6512762654ac645b5d9136bb210ec9a00afa8dbc4677843ba362ecd", "scripts": { - "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli && pnpm build:app-bridge-theme", + "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli && pnpm build:app-bridge-theme && pnpm build:app-bridge-app", "build:app-bridge": "pnpm --stream --filter {packages/app-bridge} build", "build:app-bridge-theme": "pnpm --stream --filter {packages/app-bridge-theme} build", + "build:app-bridge-app": "pnpm --stream --filter {packages/app-bridge-app} build", "build:sidebar-settings": "pnpm --stream --filter {packages/sidebar-settings} build", "build:guideline-blocks-settings": "pnpm --stream --filter {packages/guideline-blocks-settings} build", "build:platform-app": "pnpm --stream --filter {packages/platform-app} build", @@ -23,7 +24,7 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", "@cypress/vite-dev-server": "^5.0.7", - "@frontify/fondue": "^12.0.10", + "@frontify/fondue": "^12.1.8", "@vitejs/plugin-react": "^4.2.1", "cypress": "^13.7.2", "cypress-real-events": "^1.12.0", @@ -38,7 +39,7 @@ }, "pnpm": { "patchedDependencies": { - "@udecode/plate-emoji@31.0.0": "patches/@udecode__plate-emoji@31.0.0.patch" + "@udecode/plate-emoji@31.4.0": "patches/@udecode__plate-emoji@31.4.0.patch" } } } diff --git a/packages/app-bridge-app/.eslintrc.cjs b/packages/app-bridge-app/.eslintrc.cjs new file mode 100644 index 000000000..04ef1024d --- /dev/null +++ b/packages/app-bridge-app/.eslintrc.cjs @@ -0,0 +1,58 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +module.exports = { + root: true, + extends: ['@frontify/eslint-config-react'], + plugins: ['notice'], + settings: { + react: { + version: 'detect', + }, + }, + parserOptions: { + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + sourceType: 'module', + }, + overrides: [ + { + files: ['*.js', '*.ts', '*.tsx'], + rules: { + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + }, + }, + { + files: ['*.ts', '*.tsx', '*.mts', '*.cts'], + rules: { + 'no-prototype-builtins': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-misused-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'warn', + '@typescript-eslint/no-unsafe-call': 'warn', + '@typescript-eslint/no-unsafe-member-access': 'warn', + '@typescript-eslint/no-unsafe-return': 'warn', + '@typescript-eslint/require-await': 'warn', + '@typescript-eslint/await-thenable': 'warn', + '@typescript-eslint/no-unsafe-enum-comparison': 'warn', + '@typescript-eslint/restrict-plus-operands': 'warn', + }, + }, + { + files: ['**/*.md/**/*'], + processor: 'markdown/markdown', + parserOptions: { + project: null, + }, + }, + ], +}; diff --git a/packages/app-bridge-app/.gitignore b/packages/app-bridge-app/.gitignore new file mode 100644 index 000000000..007ea8a7c --- /dev/null +++ b/packages/app-bridge-app/.gitignore @@ -0,0 +1,3 @@ +dist +node_modules +coverage diff --git a/packages/app-bridge-app/.prettierrc b/packages/app-bridge-app/.prettierrc new file mode 100644 index 000000000..ca0c14e7c --- /dev/null +++ b/packages/app-bridge-app/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 120, + "tabWidth": 4, + "singleQuote": true +} diff --git a/packages/app-bridge-app/CHANGELOG.md b/packages/app-bridge-app/CHANGELOG.md new file mode 100644 index 000000000..d2330c007 --- /dev/null +++ b/packages/app-bridge-app/CHANGELOG.md @@ -0,0 +1,31 @@ +# @frontify/app-bridge-app + +## 0.0.5 + +### Patch Changes + +- [#1005](https://github.com/Frontify/brand-sdk/pull/1005) [`9790524`](https://github.com/Frontify/brand-sdk/commit/979052451ee69cbd9f60c397a30b4e5fd08fa779) Thanks [@julianiff](https://github.com/julianiff)! - chore: update app-bridge-app + +## 0.0.4 + +### Patch Changes + +- [#1003](https://github.com/Frontify/brand-sdk/pull/1003) [`bca28e1`](https://github.com/Frontify/brand-sdk/commit/bca28e193e59e04618a1b172f7bc14790b24efe2) Thanks [@julianiff](https://github.com/julianiff)! - chore: add exports + +## 0.0.3 + +### Patch Changes + +- [#998](https://github.com/Frontify/brand-sdk/pull/998) [`39b4f32`](https://github.com/Frontify/brand-sdk/commit/39b4f32e6b96bc5a1d39517f268e930995ab960c) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adds utility methods and an updated renderReact method + +- [#995](https://github.com/Frontify/brand-sdk/pull/995) [`99b28d3`](https://github.com/Frontify/brand-sdk/commit/99b28d3baec9ff928daf8847514202f85be3e64f) Thanks [@julianiff](https://github.com/julianiff)! - feat: add renderAppReact utility + +- [#996](https://github.com/Frontify/brand-sdk/pull/996) [`f1c7360`](https://github.com/Frontify/brand-sdk/commit/f1c7360ea59e49f13170f80d6ce51dad7b30f23e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add typed settings + +## 0.0.2 + +### Patch Changes + +- [#986](https://github.com/Frontify/brand-sdk/pull/986) [`6adb54b`](https://github.com/Frontify/brand-sdk/commit/6adb54bb2a3af14a016b3d979f1c43129953b5f4) Thanks [@julianiff](https://github.com/julianiff)! - feat: copy appBridgePlatformApp to app-bridge-app + +- [#990](https://github.com/Frontify/brand-sdk/pull/990) [`e1ec08a`](https://github.com/Frontify/brand-sdk/commit/e1ec08a988950997ddc70213300639fd8f3866d9) Thanks [@julianiff](https://github.com/julianiff)! - fix: fix linting and tests diff --git a/packages/app-bridge-app/README.md b/packages/app-bridge-app/README.md new file mode 100644 index 000000000..072560e0c --- /dev/null +++ b/packages/app-bridge-app/README.md @@ -0,0 +1 @@ +# App Bridge App diff --git a/packages/app-bridge-app/package.json b/packages/app-bridge-app/package.json new file mode 100644 index 000000000..651df0782 --- /dev/null +++ b/packages/app-bridge-app/package.json @@ -0,0 +1,61 @@ +{ + "name": "@frontify/app-bridge-app", + "type": "module", + "version": "0.0.5", + "description": "Package to establish communication between Frontify and apps", + "author": "Frontify Developers ", + "repository": { + "type": "git", + "url": "https://github.com/Frontify/brand-sdk", + "directory": "packages/app-bridge-app" + }, + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/index.js", + "import": "./dist/index.js" + } + }, + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "publishConfig": { + "access": "public" + }, + "files": [ + "dist" + ], + "scripts": { + "build": "vite build", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "prettier": "prettier --check .", + "prettier:fix": "prettier --write .", + "typecheck": "tsc --noEmit", + "test": "vitest run", + "test:watch": "vitest" + }, + "peerDependencies": { + "react": "^18", + "react-dom": "^18" + }, + "devDependencies": { + "@frontify/app-bridge": "workspace:^", + "@frontify/eslint-config-react": "^0.17.6", + "@frontify/platform-app": "workspace:^", + "@testing-library/react": "^14.3.1", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.2.24", + "eslint": "^8.57.0", + "eslint-plugin-notice": "^0.9.10", + "happy-dom": "^13.10.1", + "immer": "^10.1.1", + "prettier": "^3.3.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "typescript": "^5.5.2", + "vite": "^5.3.1", + "vite-plugin-dts": "^3.9.1", + "vitest": "^1.6.0" + } +} diff --git a/packages/app-bridge-app/src/AppBridgePlatformApp.spec.ts b/packages/app-bridge-app/src/AppBridgePlatformApp.spec.ts new file mode 100644 index 000000000..c3590c4f2 --- /dev/null +++ b/packages/app-bridge-app/src/AppBridgePlatformApp.spec.ts @@ -0,0 +1,84 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { AppBridgePlatformApp } from './AppBridgePlatformApp'; +import { InitializationError } from './errors'; +import { openConnection } from './registries/commands.ts'; +import { notify } from './utilities'; + +const TOKEN = 'AjY34F87Dsat^J'; + +describe('AppBridgePlatformApp', () => { + vi.mock('./utilities/subscribe', () => ({ + subscribe: vi.fn().mockResolvedValue({ + statePort: { onmessage: vi.fn() }, + apiPort: { onmessage: vi.fn() }, + context: { parentId: 'parentId-test', connected: true }, + state: { settings: 'settings-test', userState: 'state-test' }, + }), + })); + + vi.mock('./utilities/notify', () => ({ + notify: vi.fn(), + })); + + afterEach(() => { + vi.clearAllMocks(); + }); + + it('should be instantiable', () => { + expect(new AppBridgePlatformApp()).toBeInstanceOf(AppBridgePlatformApp); + }); + + it('should not initialize without a token', async () => { + window.location.search = '?token='; + + const platformApp = new AppBridgePlatformApp(); + + await expect(() => platformApp.dispatch(openConnection())).rejects.toThrow(new InitializationError()); + expect(notify).toHaveBeenCalledTimes(0); + }); + + it('should yield true for Context.connected after dispatch', async () => { + const connected = true; + window.location.search = `?token=${TOKEN}`; + const platformApp = new AppBridgePlatformApp(); + platformApp.subscribe('Context.connected', () => { + expect(connected).toBe(true); + }); + platformApp.dispatch(openConnection()); + }); + + it('should return empty state when not inititalized', async () => { + const platformApp = new AppBridgePlatformApp(); + const state = platformApp.state().get(); + expect(state).toEqual({ settings: 'settings-test', userState: 'state-test' }); + }); + + it('should return state after app is initialized', async () => { + window.location.search = `?token=${TOKEN}`; + const platformApp = new AppBridgePlatformApp(); + platformApp.subscribe('Context.connected', (connected) => { + const state = platformApp.state().get(); + + expect(connected).toBe(true); + expect(state).toEqual({ settings: 'settings-test' }); + }); + platformApp.dispatch(openConnection()); + }); + + it('should yield true for Context.connected after dispatch', async () => { + window.location.search = `?token=${TOKEN}`; + const platformApp = new AppBridgePlatformApp(); + platformApp.subscribe('Context.connected', (connected) => { + const context = platformApp.context().get(); + const parentId = platformApp.context('parentId').get(); + + expect(connected).toBe(true); + expect(context).toEqual({ parentId: 'parentId-test', connected: true }); + expect(parentId).toEqual('parentId-test'); + }); + platformApp.dispatch(openConnection()); + }); +}); diff --git a/packages/app-bridge-app/src/AppBridgePlatformApp.ts b/packages/app-bridge-app/src/AppBridgePlatformApp.ts new file mode 100644 index 000000000..0454a2ab9 --- /dev/null +++ b/packages/app-bridge-app/src/AppBridgePlatformApp.ts @@ -0,0 +1,259 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { + type ApiHandlerParameter, + type ApiMethodNameValidator, + type ApiReturn, + type CommandNameValidator, + type ContextAsEventName, + type ContextReturn, + type DispatchHandlerParameter, + type EventCallbackParameter, + type EventNameParameter, + type EventNameValidator, + type EventUnsubscribeFunction, + type StateAsEventName, + type StateReturn, + type SubscribeMap, +} from '@frontify/app-bridge'; + +import { InitializationError } from './errors'; +import { type ApiMethodRegistry } from './registries'; +import { openConnection } from './registries/commands.ts'; +import { Topic } from './types/Topic'; +import { generateRandomString, notify, subscribe } from './utilities'; +import { ErrorMessageBus, type IMessageBus, MessageBus } from './utilities/MessageBus'; +import { getQueryParameters } from './utilities/queryParams'; + +export type PlatformAppApiMethod = ApiMethodNameValidator< + Pick +>; + +export type PlatformAppCommandRegistry = CommandNameValidator<{ + openConnection: void; +}>; + +export type PlatformAppCommand = CommandNameValidator>; + +export type PlatformAppState = { + settings: Record; + userState: Record; +}; + +type InitializeEvent = { + apiPort: MessagePort; + statePort: MessagePort; + context: PlatformAppContext; + state: PlatformAppState; +}; + +type AppBaseProps = { + token: string; + marketplaceServiceAppId: string; + connected: boolean; + brandId: number; + domain: string; + parentId: string; +}; + +export type AssetActionContext = { + surface: 'assetAction'; + assetId: string; +} & AppBaseProps; + +export type AssetCreationContext = { + surface: 'assetCreation'; +} & AppBaseProps; + +export type PlatformAppContext = AssetActionContext | AssetCreationContext; + +export type PlatformAppEvent = EventNameValidator< + StateAsEventName & + ContextAsEventName +>; + +export class AppBridgePlatformApp { + private apiMessageBus: IMessageBus = new ErrorMessageBus(); + private statePort: MessagePort | undefined; + private initialized: boolean = false; + private localContext?: PlatformAppContext; + private localState: PlatformAppState = { settings: {}, userState: {} }; + private maxRetries: number = 5; + + private readonly subscribeMap: SubscribeMap = { + 'State.*': new Map(), + 'State.settings': new Map(), + 'State.userState': new Map(), + 'Context.*': new Map(), + 'Context.marketplaceServiceAppId': new Map(), + 'Context.token': new Map(), + 'Context.assetId': new Map(), + 'Context.brandId': new Map(), + 'Context.parentId': new Map(), + 'Context.domain': new Map(), + 'Context.surface': new Map(), + 'Context.connected': new Map(), + }; + + constructor() { + if (window.appBridgePlatformApp) { + return window.appBridgePlatformApp; + } + + window.appBridgePlatformApp = this; + } + + api( + apiHandler: ApiHandlerParameter, + ): ApiReturn { + return this.apiMessageBus.post({ + parameter: apiHandler, + }) as ApiReturn; + } + + private guardForInitialization() { + const initialContext = getQueryParameters(window.location.href); + if (!initialContext.token) { + throw new InitializationError(); + } + return this.initialized; + } + + async dispatch( + dispatchHandler: DispatchHandlerParameter, + ): Promise { + if (dispatchHandler.name === openConnection().name) { + if (this.guardForInitialization()) { + return; + } + + const checksum = generateRandomString(); + + notify(Topic.Init, checksum, { + token: getQueryParameters(window.location.href).token, + appBridgeVersion: 'v4', + }); + + await this.attemptSubscription(1, checksum); + } + } + + private async attemptSubscription(attempt: number, checksum: string): Promise { + try { + const { statePort, apiPort, context, state } = await subscribe(Topic.Init, checksum); + + this.apiMessageBus = new MessageBus(apiPort); + + this.statePort = statePort; + this.statePort.onmessage = (event: MessageEvent<{ message: PlatformAppState }>) => { + this.onStateChangeListener(event); + }; + + this.localContext = context; + this.localState = state; + this.initialized = true; + + this.callSubscribedTopic('Context.connected', [true, false]); + this.callSubscribedTopic('Context.*', [this.localContext, this.localContext]); + this.callSubscribedTopic('State.*', [this.localState, this.localState]); + } catch (error) { + if (attempt < this.maxRetries) { + await this.attemptSubscription(attempt + 1, checksum); + } else { + console.error('Could not connect to the platform.'); + } + } + } + + context(key?: void): ContextReturn; + context(key?: Key): ContextReturn; + context(key?: keyof PlatformAppContext | void): unknown { + if (typeof key === 'undefined') { + return { + get: () => this.localContext, + }; + } + return { + get: () => (this.localContext ? this.localContext[key] : {}), + }; + } + + state(): StateReturn; + state(key: Key): StateReturn; + state(key?: keyof PlatformAppState | void): unknown { + if (typeof key === 'undefined') { + return { + get: () => this.localState, + set: (nextState: PlatformAppState) => { + if (this.statePort) { + this.statePort.postMessage({ + message: { + parameter: { nextState }, + }, + token: 'state', + }); + } + }, + subscribe: (callback: (nextState: PlatformAppState, previousState: PlatformAppState) => void) => { + return this.subscribe('State.*', callback); + }, + }; + } + + return { + get: () => this.localState[key], + set: (nextState: PlatformAppState[Key]) => { + if (this.statePort) { + this.statePort.postMessage({ + message: { + parameter: { key, nextState }, + }, + token: 'state', + }); + } + }, + subscribe: (callback: (nextState: PlatformAppState[Key], previousState: PlatformAppState[Key]) => void) => { + return this.subscribe(`State.${key}`, callback); + }, + }; + } + + subscribe( + eventName: EventNameParameter, + callback: EventCallbackParameter, + ): EventUnsubscribeFunction { + if (!(eventName in this.subscribeMap)) { + this.subscribeMap[eventName] = new Map(); + } + + this.subscribeMap[eventName].set(callback, true); + + return () => { + this.subscribeMap[eventName].delete(callback); + }; + } + + callSubscribedTopic( + eventName: EventNameParameter, + callbackParameters: PlatformAppEvent[EventName], + ) { + const callbackMap = this.subscribeMap[eventName]; + if (callbackMap && callbackMap?.size !== undefined) { + for (const [callback] of callbackMap.entries()) { + // @ts-expect-error if there are multiple parameters, we spread them in the callback call + callback(...(Array.isArray(callbackParameters) ? callbackParameters : [callbackParameters])); + } + } + } + + private onStateChangeListener(event: MessageEvent<{ message: PlatformAppState; key?: 'settings' | 'userState' }>) { + const { message, key } = event.data; + + if (!key) { + this.callSubscribedTopic('State.*', [message, this.localState]); + } else { + this.callSubscribedTopic(`State.${key}`, [message[key], this.localState[key]]); + } + this.localState = message; + } +} diff --git a/packages/app-bridge-app/src/errors/HttpClientError.ts b/packages/app-bridge-app/src/errors/HttpClientError.ts new file mode 100644 index 000000000..b0577b985 --- /dev/null +++ b/packages/app-bridge-app/src/errors/HttpClientError.ts @@ -0,0 +1,13 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export class HttpClientError extends Error { + public code = 0; + public responseBody: object; + + constructor(message: string, code: number, responseBody: Record) { + super(`Status code ${code} - ${message}`); + this.name = 'HttpClientError'; + this.code = code; + this.responseBody = responseBody; + } +} diff --git a/packages/app-bridge-app/src/errors/InitializationError.ts b/packages/app-bridge-app/src/errors/InitializationError.ts new file mode 100644 index 000000000..2cfbf5bc8 --- /dev/null +++ b/packages/app-bridge-app/src/errors/InitializationError.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export class InitializationError extends Error { + constructor(message?: string) { + super(`Initialization failed. ${message}`); + this.name = 'InitializationError'; + } +} diff --git a/packages/app-bridge-app/src/errors/NotifyError.ts b/packages/app-bridge-app/src/errors/NotifyError.ts new file mode 100644 index 000000000..0057a78fd --- /dev/null +++ b/packages/app-bridge-app/src/errors/NotifyError.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export class FetchError extends Error { + constructor(topic: string) { + super(`Call with topic ${topic} failed.`); + this.name = 'FetchError'; + } +} diff --git a/packages/app-bridge-app/src/errors/TimeoutReachedError.ts b/packages/app-bridge-app/src/errors/TimeoutReachedError.ts new file mode 100644 index 000000000..0044ca987 --- /dev/null +++ b/packages/app-bridge-app/src/errors/TimeoutReachedError.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export class TimeoutReachedError extends Error { + constructor(topic: string) { + super(`Timeout for call with topic "${topic}" expired. Call was aborted.`); + this.name = 'TimeoutReachedError'; + } +} diff --git a/packages/app-bridge-app/src/errors/ValidationError.ts b/packages/app-bridge-app/src/errors/ValidationError.ts new file mode 100644 index 000000000..3872fcb12 --- /dev/null +++ b/packages/app-bridge-app/src/errors/ValidationError.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export class ValidationError extends Error { + constructor(message?: string) { + super(`Validation failed. ${message}`); + this.name = 'ValidationError'; + } +} diff --git a/packages/app-bridge-app/src/errors/index.ts b/packages/app-bridge-app/src/errors/index.ts new file mode 100644 index 000000000..d90f172b4 --- /dev/null +++ b/packages/app-bridge-app/src/errors/index.ts @@ -0,0 +1,7 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './HttpClientError'; +export * from './InitializationError'; +export * from './NotifyError'; +export * from './TimeoutReachedError'; +export * from './ValidationError'; diff --git a/packages/app-bridge-app/src/global.d.ts b/packages/app-bridge-app/src/global.d.ts new file mode 100644 index 000000000..fddff887f --- /dev/null +++ b/packages/app-bridge-app/src/global.d.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +type Nullable = T | null; diff --git a/packages/app-bridge-app/src/index.ts b/packages/app-bridge-app/src/index.ts new file mode 100644 index 000000000..cbbc04b5c --- /dev/null +++ b/packages/app-bridge-app/src/index.ts @@ -0,0 +1,10 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './AppBridgePlatformApp'; +export * from './errors'; +export * from './registries'; +export * from './utilities'; +export * from './react/appUserState'; +export * from './react/appSettings'; +export * from './react/appContext'; +export * from './react/renderReactApp'; diff --git a/packages/app-bridge-app/src/react/appContext.spec.tsx b/packages/app-bridge-app/src/react/appContext.spec.tsx new file mode 100644 index 000000000..bcfe82c09 --- /dev/null +++ b/packages/app-bridge-app/src/react/appContext.spec.tsx @@ -0,0 +1,48 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, it, vi, expect } from 'vitest'; + +import * as AppBridge from '../AppBridgePlatformApp.ts'; +import { + type AppBridgePlatformApp, + type AssetActionContext, + type AssetCreationContext, +} from '../AppBridgePlatformApp.ts'; + +import { appContext } from './appContext.ts'; + +describe('appContext', () => { + it('should have type of AssetActionContext when adding AssetActionContext generic', () => { + vi.spyOn(AppBridge, 'AppBridgePlatformApp').mockImplementation( + () => + ({ + context: () => ({ + get: vi.fn().mockImplementation(() => ({ surface: 'assetAction', assetId: 'test-123' })), + }), + }) as unknown as AppBridgePlatformApp, + ); + + const context = appContext(); + + if (context.surface === 'assetAction') { + expect(context.assetId).toBe('test-123'); + } + + const genericContext = appContext(); + expect(genericContext.assetId).toBe('test-123'); + }); + it('should have type of AssetCreation when adding AssetCreationContext generic', () => { + vi.spyOn(AppBridge, 'AppBridgePlatformApp').mockImplementationOnce( + () => + ({ + context: () => ({ + get: vi.fn().mockImplementation(() => ({ brandId: 'test-123' })), + }), + }) as unknown as AppBridgePlatformApp, + ); + + const context = appContext(); + + expect(context.brandId).toBe('test-123'); + }); +}); diff --git a/packages/app-bridge-app/src/react/appContext.ts b/packages/app-bridge-app/src/react/appContext.ts new file mode 100644 index 000000000..eb18b5656 --- /dev/null +++ b/packages/app-bridge-app/src/react/appContext.ts @@ -0,0 +1,11 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { AppBridgePlatformApp, type AssetActionContext, type AssetCreationContext } from '../AppBridgePlatformApp.ts'; + +/** + * This function just helps to get the Context + */ +export const appContext = (): T => { + const appBridge = new AppBridgePlatformApp(); + return appBridge.context().get() as T; +}; diff --git a/packages/app-bridge-app/src/react/appSettings.spec.tsx b/packages/app-bridge-app/src/react/appSettings.spec.tsx new file mode 100644 index 000000000..9668963c3 --- /dev/null +++ b/packages/app-bridge-app/src/react/appSettings.spec.tsx @@ -0,0 +1,33 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, it, vi, expect } from 'vitest'; + +import * as AppBridge from '../AppBridgePlatformApp.ts'; +import { type AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; + +import { appSettings } from './appSettings.ts'; + +describe('appSettings', () => { + it('should return the settings object and an object setter', () => { + const setMock = vi.fn(); + vi.spyOn(AppBridge, 'AppBridgePlatformApp').mockImplementationOnce( + () => + ({ + state: () => ({ + get: vi.fn().mockImplementation(() => ({ 'test-settings': 'output' })), + set: setMock, + }), + }) as unknown as AppBridgePlatformApp, + ); + const testSetter = { 'test-settings': 'fun' }; + + const [settings, setSettings] = appSettings<{ + 'test-settings': string; + 'another-settings': string; + }>(); + expect(settings['test-settings']).toBe('output'); + + setSettings(testSetter); + expect(setMock).toHaveBeenCalledWith(testSetter); + }); +}); diff --git a/packages/app-bridge-app/src/react/appSettings.ts b/packages/app-bridge-app/src/react/appSettings.ts new file mode 100644 index 000000000..a67131789 --- /dev/null +++ b/packages/app-bridge-app/src/react/appSettings.ts @@ -0,0 +1,9 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; + +export const appSettings = (): [T, (settings: Partial) => void] => { + const appBridge = new AppBridgePlatformApp(); + + return [appBridge.state('settings').get() as T, appBridge.state('settings').set as (settings: Partial) => void]; +}; diff --git a/packages/app-bridge-app/src/react/appUserState.spec.tsx b/packages/app-bridge-app/src/react/appUserState.spec.tsx new file mode 100644 index 000000000..d93bcb6b4 --- /dev/null +++ b/packages/app-bridge-app/src/react/appUserState.spec.tsx @@ -0,0 +1,33 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, it, vi, expect } from 'vitest'; + +import * as AppBridge from '../AppBridgePlatformApp.ts'; +import { type AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; + +import { appUserState } from './appUserState.ts'; + +describe('appUserState', () => { + it('should return the userState object and an object setter', () => { + const setMock = vi.fn(); + vi.spyOn(AppBridge, 'AppBridgePlatformApp').mockImplementationOnce( + () => + ({ + state: () => ({ + get: vi.fn().mockImplementation(() => ({ 'test-userState': 'output' })), + set: setMock, + }), + }) as unknown as AppBridgePlatformApp, + ); + const testSetter = { 'test-userState': 'fun' }; + + const [userState, setUserState] = appUserState<{ + 'test-userState': string; + 'another-settings': string; + }>(); + expect(userState['test-userState']).toBe('output'); + + setUserState(testSetter); + expect(setMock).toHaveBeenCalledWith(testSetter); + }); +}); diff --git a/packages/app-bridge-app/src/react/appUserState.ts b/packages/app-bridge-app/src/react/appUserState.ts new file mode 100644 index 000000000..7f1c58042 --- /dev/null +++ b/packages/app-bridge-app/src/react/appUserState.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; + +export const appUserState = (): [T, (settings: Partial) => void] => { + const appBridge = new AppBridgePlatformApp(); + + return [ + appBridge.state('userState').get() as T, + appBridge.state('userState').set as (settings: Partial) => void, + ]; +}; diff --git a/packages/app-bridge-app/src/react/renderReactApp.spec.tsx b/packages/app-bridge-app/src/react/renderReactApp.spec.tsx new file mode 100644 index 000000000..72bc2a7e8 --- /dev/null +++ b/packages/app-bridge-app/src/react/renderReactApp.spec.tsx @@ -0,0 +1,69 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { screen, waitFor } from '@testing-library/react'; +import { describe, it, vi, beforeEach, afterEach, expect } from 'vitest'; + +import * as AppBridge from '../AppBridgePlatformApp.ts'; +import { type AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; + +import { renderReactApp } from './renderReactApp.ts'; + +const AppTest = () => { + return
This component got rendered
; +}; + +describe('renderAppReact', () => { + beforeEach(() => { + window.location.search = "?token='test'"; + document.body.innerHTML = '
'; + }); + + afterEach(() => { + vi.restoreAllMocks(); + }); + + it('should call the dispatch method to openConnection', async () => { + const dispatchMock = vi.fn(); + + vi.spyOn(AppBridge, 'AppBridgePlatformApp').mockImplementationOnce( + () => + ({ + subscribe: vi.fn(), + dispatch: dispatchMock, + }) as unknown as AppBridgePlatformApp, + ); + + renderReactApp({ app: AppTest, settings: {} }); + + await waitFor(() => { + expect(dispatchMock).toHaveBeenCalledWith({ name: 'openConnection' }); + }); + }); + + it('should call the subscribe method and then render the test Component correctly when callback called', async () => { + let callbackMock: () => void; + let nameMock = ''; + + vi.spyOn(AppBridge, 'AppBridgePlatformApp').mockImplementationOnce( + () => + ({ + subscribe: (name: string, callback: () => void) => { + callbackMock = callback; + nameMock = name; + }, + dispatch: vi.fn(), + }) as unknown as AppBridgePlatformApp, + ); + + renderReactApp({ app: AppTest, settings: {} }); + + await waitFor(() => { + callbackMock(); + expect(nameMock).toBe('Context.connected'); + }); + + await waitFor(() => { + expect(screen.getAllByTestId('test-id')).toBeDefined; + }); + }); +}); diff --git a/packages/app-bridge-app/src/react/renderReactApp.ts b/packages/app-bridge-app/src/react/renderReactApp.ts new file mode 100644 index 000000000..9d99d1f40 --- /dev/null +++ b/packages/app-bridge-app/src/react/renderReactApp.ts @@ -0,0 +1,24 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type PlatformAppConfigExport } from '@frontify/platform-app'; +import { createElement } from 'react'; +import { createRoot } from 'react-dom/client'; + +import { AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; + +export const renderReactApp = (module: PlatformAppConfigExport) => { + const appBridge = new AppBridgePlatformApp(); + + appBridge.subscribe('Context.connected', () => { + const rootElement = document.getElementById('root'); + + if (rootElement) { + const root = createRoot(rootElement); + root.render(createElement(module.app)); + } else { + throw new Error("Element with id 'root' not found"); + } + }); + + appBridge.dispatch({ name: 'openConnection' }); +}; diff --git a/packages/app-bridge-app/src/registries/api/ApiMethodRegistry.ts b/packages/app-bridge-app/src/registries/api/ApiMethodRegistry.ts new file mode 100644 index 000000000..0f04924c8 --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/ApiMethodRegistry.ts @@ -0,0 +1,21 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type ApiMethodNameValidator } from '@frontify/app-bridge'; + +import { type CreateAssetPayload, type CreateAssetResponse } from './CreateAsset'; +import { + type GetAssetResourceInformationPayload, + type GetAssetResourceInformationResponse, +} from './GetAssetResourceInformation'; +import { type GetCurrentUserPayload, type GetCurrentUserResponse } from './GetCurrentUser'; +import { type GetSecureRequestPayload, type GetSecureRequestResponse } from './GetSecureRequest.ts'; + +export type ApiMethodRegistry = ApiMethodNameValidator<{ + getCurrentUser: { payload: GetCurrentUserPayload; response: GetCurrentUserResponse }; + createAsset: { payload: CreateAssetPayload; response: CreateAssetResponse }; + getAssetResourceInformation: { + payload: GetAssetResourceInformationPayload; + response: GetAssetResourceInformationResponse; + }; + getSecureRequest: { payload: GetSecureRequestPayload; response: GetSecureRequestResponse }; +}>; diff --git a/packages/app-bridge-app/src/registries/api/CreateAsset.spec.ts b/packages/app-bridge-app/src/registries/api/CreateAsset.spec.ts new file mode 100644 index 000000000..c3c26abe6 --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/CreateAsset.spec.ts @@ -0,0 +1,22 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { createAsset } from './CreateAsset'; + +describe('CreateAsset', () => { + it('should return correct method name and payload', () => { + const TEST_DATA = 'test'; + const payload = { + data: TEST_DATA, + filename: TEST_DATA, + parentId: TEST_DATA, + description: TEST_DATA, + externalId: TEST_DATA, + tags: [{ value: TEST_DATA }], + }; + const currentUser = createAsset(payload); + expect(currentUser.name).toBe('createAsset'); + expect(currentUser.payload).toBe(payload); + }); +}); diff --git a/packages/app-bridge-app/src/registries/api/CreateAsset.ts b/packages/app-bridge-app/src/registries/api/CreateAsset.ts new file mode 100644 index 000000000..9bfb8a445 --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/CreateAsset.ts @@ -0,0 +1,19 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type CreateAssetPayload = { + data: File | Blob | string; + filename: string; + parentId?: string; + description?: string; + externalId?: string; + tags?: { value: string }[]; +}; + +export type CreateAssetResponse = { + assetId: string; +}; + +export const createAsset = (payload: CreateAssetPayload): { name: 'createAsset'; payload: CreateAssetPayload } => ({ + name: 'createAsset', + payload, +}); diff --git a/packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.spec.ts b/packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.spec.ts new file mode 100644 index 000000000..3e2788fae --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.spec.ts @@ -0,0 +1,18 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { getAssetResourceInformation } from './GetAssetResourceInformation'; + +describe('GetAssetResourceInformation', () => { + it('should return correct method name', () => { + const TEST_ID = 'test-123'; + const assetResourceInformation = getAssetResourceInformation({ + assetId: TEST_ID, + }); + expect(assetResourceInformation.name).toBe('getAssetResourceInformation'); + expect(assetResourceInformation.payload).toStrictEqual({ + assetId: TEST_ID, + }); + }); +}); diff --git a/packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.ts b/packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.ts new file mode 100644 index 000000000..ecfa5e9bb --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/GetAssetResourceInformation.ts @@ -0,0 +1,23 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type GetAssetResourceInformationPayload = { + assetId: string; +}; + +export type GetAssetResourceInformationResponse = { + type: string; + id: string; + title?: string; + previewUrl?: string; + downloadUrl?: string; + filename?: string | null; + sourceUrl?: string; + html?: string; +}; + +export const getAssetResourceInformation = ( + payload: GetAssetResourceInformationPayload, +): { name: 'getAssetResourceInformation'; payload: GetAssetResourceInformationPayload } => ({ + name: 'getAssetResourceInformation', + payload, +}); diff --git a/packages/app-bridge-app/src/registries/api/GetCurrentUser.spec.ts b/packages/app-bridge-app/src/registries/api/GetCurrentUser.spec.ts new file mode 100644 index 000000000..d114151bb --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/GetCurrentUser.spec.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { getCurrentUser } from './GetCurrentUser'; + +describe('GetCurrentUser', () => { + it('should return correct method name', () => { + const currentUser = getCurrentUser(); + expect(currentUser.name).toBe('getCurrentUser'); + }); +}); diff --git a/packages/app-bridge-app/src/registries/api/GetCurrentUser.ts b/packages/app-bridge-app/src/registries/api/GetCurrentUser.ts new file mode 100644 index 000000000..779fbabba --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/GetCurrentUser.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type GetCurrentUserPayload = void; + +export type GetCurrentUserResponse = { + id: string; + name?: string | null; + avatar?: string | null; + email: string; +}; + +export const getCurrentUser = (payload: GetCurrentUserPayload) => ({ name: 'getCurrentUser', payload }); diff --git a/packages/app-bridge-app/src/registries/api/GetSecretRequest.spec.ts b/packages/app-bridge-app/src/registries/api/GetSecretRequest.spec.ts new file mode 100644 index 000000000..2a424fb40 --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/GetSecretRequest.spec.ts @@ -0,0 +1,17 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { getSecureRequest } from './GetSecureRequest'; + +describe('GetSecureRequest', () => { + it('should return correct method name', () => { + const TEST_ID = 'user-api'; + const secureRequest = getSecureRequest({ endpoint: TEST_ID, requestParams: 'data' }); + expect(secureRequest.name).toBe('getSecureRequest'); + expect(secureRequest.payload).toStrictEqual({ + endpoint: TEST_ID, + requestParams: 'data', + }); + }); +}); diff --git a/packages/app-bridge-app/src/registries/api/GetSecureRequest.ts b/packages/app-bridge-app/src/registries/api/GetSecureRequest.ts new file mode 100644 index 000000000..553e18cff --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/GetSecureRequest.ts @@ -0,0 +1,17 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type GetSecureRequestPayload = { + endpoint: string; + requestParams: unknown; +}; + +export type GetSecureRequestResponse = { + data: unknown; + statusText: string; + status: string; +}; + +export const getSecureRequest = (payload: GetSecureRequestPayload) => ({ + name: 'getSecureRequest', + payload, +}); diff --git a/packages/app-bridge-app/src/registries/api/index.ts b/packages/app-bridge-app/src/registries/api/index.ts new file mode 100644 index 000000000..f29edc722 --- /dev/null +++ b/packages/app-bridge-app/src/registries/api/index.ts @@ -0,0 +1,7 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './ApiMethodRegistry'; +export * from './CreateAsset'; +export * from './GetAssetResourceInformation'; +export * from './GetCurrentUser'; +export * from './GetSecureRequest'; diff --git a/packages/app-bridge-app/src/registries/commands.ts b/packages/app-bridge-app/src/registries/commands.ts new file mode 100644 index 000000000..89919daa8 --- /dev/null +++ b/packages/app-bridge-app/src/registries/commands.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export const openConnection = (): { name: 'openConnection' } => ({ name: 'openConnection' }); diff --git a/packages/app-bridge-app/src/registries/index.ts b/packages/app-bridge-app/src/registries/index.ts new file mode 100644 index 000000000..066256b32 --- /dev/null +++ b/packages/app-bridge-app/src/registries/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './api'; diff --git a/packages/app-bridge-app/src/setupTests.ts b/packages/app-bridge-app/src/setupTests.ts new file mode 100644 index 000000000..e4c931464 --- /dev/null +++ b/packages/app-bridge-app/src/setupTests.ts @@ -0,0 +1,13 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { configure } from '@testing-library/react'; +import { enableMapSet } from 'immer'; +import { beforeAll } from 'vitest'; + +enableMapSet(); + +globalThis.structuredClone = (data: unknown) => JSON.parse(JSON.stringify(data)); + +beforeAll(() => { + configure({ testIdAttribute: 'data-test-id' }); +}); diff --git a/packages/app-bridge-app/src/types/CrossDocumentMessageResponse.ts b/packages/app-bridge-app/src/types/CrossDocumentMessageResponse.ts new file mode 100644 index 000000000..0b171d6b0 --- /dev/null +++ b/packages/app-bridge-app/src/types/CrossDocumentMessageResponse.ts @@ -0,0 +1,10 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type Topic } from './Topic'; + +export type CrossDocumentMessageResponse = { + success: boolean; + topic: Topic; + token: string; + data?: T; +}; diff --git a/packages/app-bridge-app/src/types/Notify.ts b/packages/app-bridge-app/src/types/Notify.ts new file mode 100644 index 000000000..0b619a4f0 --- /dev/null +++ b/packages/app-bridge-app/src/types/Notify.ts @@ -0,0 +1,7 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export type NotifyOptions = { + origin?: string; +}; + +export type NotifyData> = T; diff --git a/packages/app-bridge-app/src/types/Topic.ts b/packages/app-bridge-app/src/types/Topic.ts new file mode 100644 index 000000000..9f19ed366 --- /dev/null +++ b/packages/app-bridge-app/src/types/Topic.ts @@ -0,0 +1,5 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export enum Topic { + Init = 'Init', +} diff --git a/packages/app-bridge-app/src/utilities/MessageBus.spec.ts b/packages/app-bridge-app/src/utilities/MessageBus.spec.ts new file mode 100644 index 000000000..7e1831429 --- /dev/null +++ b/packages/app-bridge-app/src/utilities/MessageBus.spec.ts @@ -0,0 +1,120 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it, vi } from 'vitest'; + +import { MessageBus } from './MessageBus'; + +describe('MessageBus', () => { + it('should be instantiable', () => { + const { port1 } = new MessageChannel(); + + const messageBus = new MessageBus(port1); + expect(messageBus).toBeInstanceOf(MessageBus); + }); + + it('should call postMessage from the MessageChannel on post', () => { + const postMessageMock = vi.fn(); + + class PortMock { + postMessage = postMessageMock; + onmessage = vi.fn(); + onmessageerror = vi.fn(); + } + + const messageBus = new MessageBus(new PortMock() as unknown as MessagePort); + messageBus.post({ operation: 'test' }); + expect(postMessageMock).toHaveBeenCalledTimes(1); + }); + + it('should return message from port2', async () => { + const channel = new MessageChannel(); + + const messageBus = new MessageBus(channel.port1); + + const testResponse = 'test-message'; + channel.port2.onmessage = (event) => { + const { token } = event.data; + channel.port2.postMessage({ message: testResponse, token }); + }; + const result = await messageBus.post({ operation: 'test' }); + + expect(result).toEqual(testResponse); + }); + + it('should trigger onmessage error on message sending error', async () => { + const channel = new MessageChannel(); + const messageBus = new MessageBus(channel.port1); + + channel.port1.postMessage = () => { + throw new Error('Simulated message sending error'); + }; + + await expect(() => messageBus.post({ operation: 'test' })).rejects.toThrow(); + }); + + it('should send a token with the channel', async () => { + const channel = new MessageChannel(); + const messageBus = new MessageBus(channel.port1); + + channel.port2.onmessage = (event) => { + expect(event.data.token).toBeDefined(); + }; + + messageBus.post({ operation: 'test' }); + }); + + it('should return a message with a token', async () => { + const channel = new MessageChannel(); + const messageBus = new MessageBus(channel.port1); + + channel.port2.onmessage = (event) => { + const { token } = event.data; + channel.port2.postMessage({ message: 'test-message', token }); + }; + + const response = await messageBus.post({ operation: 'test' }); + expect(response).toBe('test-message'); + }); + + it('should handle multiple messages with their tokens and return correct message', async () => { + const channel = new MessageChannel(); + const messageBus = new MessageBus(channel.port1); + + const message1 = 'test-message-1'; + const message2 = 'test-message-2'; + const message3 = 'test-message-3'; + + channel.port2.onmessage = (event) => { + const { token, message } = event.data; + if (message.operation === 'message1') { + setTimeout(() => { + channel.port2.postMessage({ message: message1, token }); + }, 1); + } else if (message.operation === 'message2') { + setTimeout(() => { + channel.port2.postMessage({ message: message2, token }); + }, 2); + } else if (message.operation === 'message3') { + channel.port2.postMessage({ message: message3, token }); + } + }; + + const response2 = await messageBus.post({ operation: 'message2' }); + const response1 = await messageBus.post({ operation: 'message1' }); + const response3 = await messageBus.post({ operation: 'message3' }); + + const allPromises = await Promise.all([ + messageBus.post({ operation: 'message3' }), + messageBus.post({ operation: 'message1' }), + messageBus.post({ operation: 'message2' }), + ]); + + expect(response1).toBe(message1); + expect(response2).toBe(message2); + expect(response3).toBe(message3); + + expect(allPromises.includes(message1)).toBe(true); + expect(allPromises.includes(message2)).toBe(true); + expect(allPromises.includes(message3)).toBe(true); + }); +}); diff --git a/packages/app-bridge-app/src/utilities/MessageBus.ts b/packages/app-bridge-app/src/utilities/MessageBus.ts new file mode 100644 index 000000000..9bc8a9355 --- /dev/null +++ b/packages/app-bridge-app/src/utilities/MessageBus.ts @@ -0,0 +1,50 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { InitializationError, TimeoutReachedError } from '../errors'; + +import { generateRandomString } from './hash'; +import { SUBSCRIBE_TIMEOUT } from './subscribe'; + +export interface IMessageBus { + post(message: { parameter: unknown }): unknown; +} + +export class MessageBus implements IMessageBus { + private messageBucket: { + message: unknown; + token: string; + resolve: (value: unknown) => void; + }[] = []; + + constructor(private port: MessagePort) { + this.port.onmessage = (event) => { + const { token } = event.data; + const messageIndex = this.messageBucket.findIndex((item) => item.token === token); + if (messageIndex > -1) { + const message = this.messageBucket.splice(messageIndex, 1)[0]; + if (message) { + message.resolve(event.data.message); + } + } + }; + } + + public post(message: unknown) { + return new Promise((resolve, reject) => { + const token = generateRandomString(); + + this.messageBucket.push({ message, resolve, token }); + this.port.postMessage({ message, token }); + + setTimeout(() => { + reject(new TimeoutReachedError('operation')); + }, SUBSCRIBE_TIMEOUT * 10); + }); + } +} + +export class ErrorMessageBus implements IMessageBus { + post() { + throw new InitializationError('First use await platformApp.dispatch({ name: "openConnection" })'); + } +} diff --git a/packages/app-bridge-app/src/utilities/hash.ts b/packages/app-bridge-app/src/utilities/hash.ts new file mode 100644 index 000000000..bcbceb84a --- /dev/null +++ b/packages/app-bridge-app/src/utilities/hash.ts @@ -0,0 +1,5 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export const generateRandomString = (length = 6): string => { + return Math.random().toString(20).substr(2, length); +}; diff --git a/packages/app-bridge-app/src/utilities/index.ts b/packages/app-bridge-app/src/utilities/index.ts new file mode 100644 index 000000000..23d6e918d --- /dev/null +++ b/packages/app-bridge-app/src/utilities/index.ts @@ -0,0 +1,5 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './hash'; +export * from './notify'; +export * from './subscribe'; diff --git a/packages/app-bridge-app/src/utilities/notify.ts b/packages/app-bridge-app/src/utilities/notify.ts new file mode 100644 index 000000000..796ce170f --- /dev/null +++ b/packages/app-bridge-app/src/utilities/notify.ts @@ -0,0 +1,15 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type NotifyData, type NotifyOptions } from '../types/Notify.ts'; + +export function notify(topic: string, token: string, data?: NotifyData, options?: NotifyOptions): void { + const parentWindow = window.top; + parentWindow?.postMessage( + { + topic, + token, + data, + }, + options?.origin || '*', + ); +} diff --git a/packages/app-bridge-app/src/utilities/queryParams.spec.ts b/packages/app-bridge-app/src/utilities/queryParams.spec.ts new file mode 100644 index 000000000..2052bc938 --- /dev/null +++ b/packages/app-bridge-app/src/utilities/queryParams.spec.ts @@ -0,0 +1,35 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { getQueryParameters } from './queryParams'; + +describe('queryParams', () => { + it('should return correct queryParams from url', () => { + expect(getQueryParameters('https://www.frontify.com?foo=bar&baz=qux')).toEqual({ foo: 'bar', baz: 'qux' }); + }); + + it('should return empty object if no queryParams are present', () => { + expect(getQueryParameters('https://www.frontify.com')).toEqual({}); + }); + + it('should return empty object if url is empty', () => { + expect(() => getQueryParameters('')).toThrowError('Validation failed. "" is not a valid url'); + }); + + it('should return empty object if url is undefined', () => { + expect(() => getQueryParameters(undefined as unknown as string)).toThrowError( + 'Validation failed. "undefined" is not a valid url', + ); + }); + + it('should return empty object if url is null', () => { + expect(() => getQueryParameters(null as unknown as string)).toThrowError( + 'Validation failed. "null" is not a valid url', + ); + }); + + it('should return objects of well formed query parameters', () => { + expect(getQueryParameters('https://www.frontify.com?foo=bar&baz')).toEqual({ foo: 'bar', baz: '' }); + }); +}); diff --git a/packages/app-bridge-app/src/utilities/queryParams.ts b/packages/app-bridge-app/src/utilities/queryParams.ts new file mode 100644 index 000000000..9a56ac377 --- /dev/null +++ b/packages/app-bridge-app/src/utilities/queryParams.ts @@ -0,0 +1,24 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { ValidationError } from '../errors'; + +export type QueryParams = { [key: string]: string }; + +export const getQueryParameters = (url: string): QueryParams => { + const paramsToObject = (entries: IterableIterator<[string, string]>) => { + const result: QueryParams = {}; + + for (const [key, value] of entries) { + result[key] = value; + } + + return result; + }; + + try { + const urlObject = new URL(url); + return paramsToObject(urlObject.searchParams.entries()); + } catch { + throw new ValidationError(`"${url}" is not a valid url`); + } +}; diff --git a/packages/app-bridge-app/src/utilities/subscribe.ts b/packages/app-bridge-app/src/utilities/subscribe.ts new file mode 100644 index 000000000..a12e18c75 --- /dev/null +++ b/packages/app-bridge-app/src/utilities/subscribe.ts @@ -0,0 +1,33 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { FetchError, TimeoutReachedError } from '../errors'; +import { type CrossDocumentMessageResponse } from '../types/CrossDocumentMessageResponse.ts'; +import { type Topic } from '../types/Topic.ts'; + +export type SubscribeOptions = { + timeout?: number; +}; + +export const SUBSCRIBE_TIMEOUT = 3 * 1000; + +export function subscribe(topic: Topic, token: string, options?: SubscribeOptions): Promise { + return new Promise((resolve, reject) => { + const subscribeResponseCallback = (event: MessageEvent) => { + const response: CrossDocumentMessageResponse = event.data; + + if (response.token === token && response.topic === topic && response.success) { + resolve((response.data || true)); + } else { + reject(new FetchError(topic)); + } + + window.removeEventListener('message', subscribeResponseCallback); + }; + + window.addEventListener('message', subscribeResponseCallback); + + setTimeout(() => { + reject(new TimeoutReachedError(topic)); + }, options?.timeout || SUBSCRIBE_TIMEOUT); + }); +} diff --git a/packages/app-bridge-app/src/window.d.ts b/packages/app-bridge-app/src/window.d.ts new file mode 100644 index 000000000..596d61878 --- /dev/null +++ b/packages/app-bridge-app/src/window.d.ts @@ -0,0 +1,11 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { AppBridgePlatformApp } from './AppBridgePlatformApp.ts'; + +declare global { + interface Window { + appBridgePlatformApp: AppBridgePlatformApp; + } +} + +export {}; diff --git a/packages/app-bridge-app/tsconfig.json b/packages/app-bridge-app/tsconfig.json new file mode 100644 index 000000000..798910eb2 --- /dev/null +++ b/packages/app-bridge-app/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "target": "ES2021", + "useDefineForClassFields": true, + "lib": ["ES2021", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": "." + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/app-bridge-app/tsconfig.node.json b/packages/app-bridge-app/tsconfig.node.json new file mode 100644 index 000000000..71a3a257e --- /dev/null +++ b/packages/app-bridge-app/tsconfig.node.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "lib": ["ESNext"], + "target": "ESNext" + }, + "include": [".eslintrc.cjs", "vite.config.mts", "package.json"] +} diff --git a/packages/app-bridge-app/vite.config.mts b/packages/app-bridge-app/vite.config.mts new file mode 100644 index 000000000..77e1ad3da --- /dev/null +++ b/packages/app-bridge-app/vite.config.mts @@ -0,0 +1,33 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; + +import { peerDependencies as peerDependenciesMap } from './package.json'; + +const peerDependencies = Object.keys(peerDependenciesMap); +export const globals = { + react: 'React', + 'react-dom': 'ReactDOM', +}; + +export default defineConfig({ + plugins: [dts({ insertTypesEntry: true, rollupTypes: true })], + build: { + lib: { + entry: { + index: './src/index.ts', + }, + name: 'app-bridge-app', + }, + sourcemap: true, + minify: true, + rollupOptions: { + external: [...peerDependencies], + }, + }, + test: { + environment: 'happy-dom', + css: true, + }, +}); diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 637d3fc70..67af9cec7 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -95,82 +95,88 @@ - # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +## 3.10.0 + +### Minor Changes + +- [#980](https://github.com/Frontify/brand-sdk/pull/980) [`bf9529d`](https://github.com/Frontify/brand-sdk/commit/bf9529d50ef1d31ad147b08d52009e2d2df6f289) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `guideline_title` to the `GuidelineSearchResultApi`. + ## 3.9.2 ### Patch Changes -- [#950](https://github.com/Frontify/brand-sdk/pull/950) [`d938929`](https://github.com/Frontify/brand-sdk/commit/d9389295b856b93d73e5defdd2a347964e1b5377) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - fix: remove unused properties from `DocumentSectionApi` +- [#950](https://github.com/Frontify/brand-sdk/pull/950) [`d938929`](https://github.com/Frontify/brand-sdk/commit/d9389295b856b93d73e5defdd2a347964e1b5377) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - fix: remove unused properties from `DocumentSectionApi` ## 3.9.1 ### Patch Changes -- [#920](https://github.com/Frontify/brand-sdk/pull/920) [`c2477e7`](https://github.com/Frontify/brand-sdk/commit/c2477e76f7c221ae5435c783f3ef85ceb6295ca0) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(assetViewer): add isDownloadable option to asset viewer +- [#920](https://github.com/Frontify/brand-sdk/pull/920) [`c2477e7`](https://github.com/Frontify/brand-sdk/commit/c2477e76f7c221ae5435c783f3ef85ceb6295ca0) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(assetViewer): add isDownloadable option to asset viewer ## 3.9.0 ### Minor Changes -- [#921](https://github.com/Frontify/brand-sdk/pull/921) [`17af9f1`](https://github.com/Frontify/brand-sdk/commit/17af9f135a85b55f7e7757a112adf34125d03502) Thanks [@ragi96](https://github.com/ragi96)! - feat: add `ìsDownloadProtected` to the `Asset` +- [#921](https://github.com/Frontify/brand-sdk/pull/921) [`17af9f1`](https://github.com/Frontify/brand-sdk/commit/17af9f135a85b55f7e7757a112adf34125d03502) Thanks [@ragi96](https://github.com/ragi96)! - feat: add `ìsDownloadProtected` to the `Asset` ## 3.8.0 ### Minor Changes -- [#909](https://github.com/Frontify/brand-sdk/pull/909) [`14b9fdf`](https://github.com/Frontify/brand-sdk/commit/14b9fdfb5bc58b482350109d1eee1a8c4ff942d6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(useAfterInsertion): A new hook to execute a callback after a block has been inserted, can be used to focus a specific element for faster editing. The callback is only executed when the third argument is true (default). This hook is only usable with instances of AppBridgeBlock. +- [#909](https://github.com/Frontify/brand-sdk/pull/909) [`14b9fdf`](https://github.com/Frontify/brand-sdk/commit/14b9fdfb5bc58b482350109d1eee1a8c4ff942d6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(useAfterInsertion): A new hook to execute a callback after a block has been inserted, can be used to focus a specific element for faster editing. The callback is only executed when the third argument is true (default). This hook is only usable with instances of AppBridgeBlock. - ```jsx - const ExampleBlock = ({ appBridge }: BlockProps) => { - const buttonRef = useRef(null); - const [data, setData] = useState(null); - const hasData = data !== null; + ```jsx + const ExampleBlock = ({ appBridge }: BlockProps) => { + const buttonRef = useRef(null); + const [data, setData] = useState(null); + const hasData = data !== null; - useEffect(() => { - getAsyncData().then((data) => setData(data)); - }, []); + useEffect(() => { + getAsyncData().then((data) => setData(data)); + }, []); - useAfterInsertion(appBridge, () => buttonRef.current?.focus(), hasData); + useAfterInsertion(appBridge, () => buttonRef.current?.focus(), hasData); - return hasData ? - : -
Loading...
; - }; - ``` + return hasData ? + : +
Loading...
; + }; + ``` ## 3.7.0 ### Minor Changes -- [#912](https://github.com/Frontify/brand-sdk/pull/912) [`fa18d35`](https://github.com/Frontify/brand-sdk/commit/fa18d35a554f32d561d7ed33d3e2e5fa3fb90a89) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `project_color_id` to the `GuidelineSearchResultApi`. +- [#912](https://github.com/Frontify/brand-sdk/pull/912) [`fa18d35`](https://github.com/Frontify/brand-sdk/commit/fa18d35a554f32d561d7ed33d3e2e5fa3fb90a89) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `project_color_id` to the `GuidelineSearchResultApi`. ### Patch Changes -- [#913](https://github.com/Frontify/brand-sdk/pull/913) [`bf41e48`](https://github.com/Frontify/brand-sdk/commit/bf41e480d93b75084deee811099cc3ea094696fb) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds nullable `backgroundColor` to the `asset` +- [#913](https://github.com/Frontify/brand-sdk/pull/913) [`bf41e48`](https://github.com/Frontify/brand-sdk/commit/bf41e480d93b75084deee811099cc3ea094696fb) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds nullable `backgroundColor` to the `asset` ## 3.6.3 ### Patch Changes -- [#903](https://github.com/Frontify/brand-sdk/pull/903) [`b8c5bb7`](https://github.com/Frontify/brand-sdk/commit/b8c5bb7156a58f6fa020dd56fa1cb6a016440666) Thanks [@Kenny806](https://github.com/Kenny806)! - feat(AppBridgeTheme): add isSearchDialogOpen to context +- [#903](https://github.com/Frontify/brand-sdk/pull/903) [`b8c5bb7`](https://github.com/Frontify/brand-sdk/commit/b8c5bb7156a58f6fa020dd56fa1cb6a016440666) Thanks [@Kenny806](https://github.com/Kenny806)! - feat(AppBridgeTheme): add isSearchDialogOpen to context ## 3.6.2 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` ## 3.6.1 ### Patch Changes -- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed - fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed +- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed ## 3.6.0 ### Minor Changes -- [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` ## 4.0.0-alpha.16 @@ -182,7 +188,7 @@ ### Patch Changes -- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings ## 4.0.0-alpha.15 @@ -194,7 +200,7 @@ ### Patch Changes -- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook +- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook ## 4.0.0-alpha.14 @@ -212,21 +218,21 @@ ### Patch Changes -- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook +- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook ## 3.5.6 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies ## 4.0.0-alpha.13 ### Patch Changes -- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 +- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 - [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev @@ -262,51 +268,51 @@ ### Patch Changes -- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method +- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method ## 3.5.3 ### Patch Changes -- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well +- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well ## 3.5.2 ### Patch Changes -- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 3.5.1 ### Patch Changes -- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. +- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. - ```jsx - const Component = () => { - const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); + ```jsx + const Component = () => { + const [blockSettings, setBlockSettings] = useBlockSettings(appBridge); - useEffect(() => { - setBlockSettings({ ...blockSettings }); - }, [setBlockSettings]); - }; - ``` + useEffect(() => { + setBlockSettings({ ...blockSettings }); + }, [setBlockSettings]); + }; + ``` ## 3.5.0 ### Minor Changes -- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 3.4.2 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages ## 4.0.0-alpha.8 @@ -320,15 +326,15 @@ ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM ## 3.4.0 ### Minor Changes -- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.7 @@ -357,7 +363,7 @@ ### Patch Changes -- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type ## 4.0.0-alpha.4 @@ -369,7 +375,7 @@ ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 4.0.0-alpha.3 @@ -393,13 +399,13 @@ ### Minor Changes -- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 ### Minor Changes -- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context ## 4.0.0-alpha.0 @@ -411,52 +417,52 @@ ### Minor Changes -- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. - You will need to update the import paths in your tests: +- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. + You will need to update the import paths in your tests: - ```git - - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; - + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; - ``` + ```git + - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; + + import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge/testing'; + ``` ## 3.0.4 ### Patch Changes -- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json +- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json ## 3.0.3 ### Patch Changes -- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order +- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order ## 3.0.2 ### Patch Changes -- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions ## 3.0.1 ### Patch Changes -- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings ## 3.0.0 ### Major Changes -- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release +- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release ## 3.0.0-beta.32 ### Patch Changes -- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions +- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions ## 3.0.0-beta.31 ### Minor Changes -- Add Brandportal link +- Add Brandportal link diff --git a/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts b/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts index 9e7bea909..b22f5085f 100644 --- a/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts +++ b/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts @@ -16,6 +16,7 @@ export class GuidelineSearchResultApiDummy { document_id: 1, document_slug: 'document-slug', document_title: 'Document Title', + guideline_title: 'Guideline Title', portal_id: 1, portal_token: 'portal-token', section_id: null, diff --git a/packages/app-bridge/src/types/GuidelineSearchResult.ts b/packages/app-bridge/src/types/GuidelineSearchResult.ts index efe8f70ce..3b39d72e9 100644 --- a/packages/app-bridge/src/types/GuidelineSearchResult.ts +++ b/packages/app-bridge/src/types/GuidelineSearchResult.ts @@ -22,6 +22,7 @@ export type GuidelineSearchResultApi = { document_id: number; document_slug: string; document_title: string; + guideline_title: string; portal_id: number; portal_token: string | null; section_id: string | null; diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 92a03c434..75e856aec 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,383 +1,401 @@ # @frontify/frontify-cli +## 5.7.2 + +### Patch Changes + +- [#989](https://github.com/Frontify/brand-sdk/pull/989) [`9155ed9`](https://github.com/Frontify/brand-sdk/commit/9155ed91c27c1aa6830600d8cf8003be46fddd20) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(templates): add tailwind preset to template + +## 5.7.1 + +### Patch Changes + +- [#968](https://github.com/Frontify/brand-sdk/pull/968) [`6d0c3dd`](https://github.com/Frontify/brand-sdk/commit/6d0c3dd22ffdf15d2c04b8fb6a57cef65e3f0001) Thanks [@julianiff](https://github.com/julianiff)! - chore: update templates + +## 5.7.0 + +### Minor Changes + +- [#955](https://github.com/Frontify/brand-sdk/pull/955) [`739a7a5`](https://github.com/Frontify/brand-sdk/commit/739a7a51515b78f2732d486673c824166369fcfc) Thanks [@julianiff](https://github.com/julianiff)! - feat: add additional build step for platform Apps to also serve settings while in development mode + ## 5.6.19 ### Patch Changes -- [#945](https://github.com/Frontify/brand-sdk/pull/945) [`c095277`](https://github.com/Frontify/brand-sdk/commit/c0952770c001fb1ea4dc20996ff3c90ec2499d73) Thanks [@julianiff](https://github.com/julianiff)! - feat: add new property allowedHosts to manifest +- [#945](https://github.com/Frontify/brand-sdk/pull/945) [`c095277`](https://github.com/Frontify/brand-sdk/commit/c0952770c001fb1ea4dc20996ff3c90ec2499d73) Thanks [@julianiff](https://github.com/julianiff)! - feat: add new property allowedHosts to manifest -- [#943](https://github.com/Frontify/brand-sdk/pull/943) [`0814fc2`](https://github.com/Frontify/brand-sdk/commit/0814fc2aefbb69074a119a59ae3f16c1d8f8afd0) Thanks [@julianiff](https://github.com/julianiff)! - chore: bump dependency `@frontify/frontify-cli` to `^5.6.19`, `@frontify/fondue` to `^12.1.2`and `@frontify/app-bridge` to `4.0.0-alpha.29` for the templates . +- [#943](https://github.com/Frontify/brand-sdk/pull/943) [`0814fc2`](https://github.com/Frontify/brand-sdk/commit/0814fc2aefbb69074a119a59ae3f16c1d8f8afd0) Thanks [@julianiff](https://github.com/julianiff)! - chore: bump dependency `@frontify/frontify-cli` to `^5.6.19`, `@frontify/fondue` to `^12.1.2`and `@frontify/app-bridge` to `4.0.0-alpha.29` for the templates . ## 5.6.18 ### Patch Changes -- [#931](https://github.com/Frontify/brand-sdk/pull/931) [`a005421`](https://github.com/Frontify/brand-sdk/commit/a00542163dce5b4034af362bbc6aeb8e2ba86474) Thanks [@julianiff](https://github.com/julianiff)! - fix: change regex to be more restrictive +- [#931](https://github.com/Frontify/brand-sdk/pull/931) [`a005421`](https://github.com/Frontify/brand-sdk/commit/a00542163dce5b4034af362bbc6aeb8e2ba86474) Thanks [@julianiff](https://github.com/julianiff)! - fix: change regex to be more restrictive -- [#935](https://github.com/Frontify/brand-sdk/pull/935) [`3ca09bb`](https://github.com/Frontify/brand-sdk/commit/3ca09bb3b248a0ce27f49e8548821626ff609410) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: add `@type/node` in the platform app templates +- [#935](https://github.com/Frontify/brand-sdk/pull/935) [`3ca09bb`](https://github.com/Frontify/brand-sdk/commit/3ca09bb3b248a0ce27f49e8548821626ff609410) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: add `@type/node` in the platform app templates -- [#936](https://github.com/Frontify/brand-sdk/pull/936) [`b90ad75`](https://github.com/Frontify/brand-sdk/commit/b90ad75b7f196456358476f17a35e0c0959a788d) Thanks [@julianiff](https://github.com/julianiff)! - chore: Limit secret length +- [#936](https://github.com/Frontify/brand-sdk/pull/936) [`b90ad75`](https://github.com/Frontify/brand-sdk/commit/b90ad75b7f196456358476f17a35e0c0959a788d) Thanks [@julianiff](https://github.com/julianiff)! - chore: Limit secret length ## 5.6.17 ### Patch Changes -- [#907](https://github.com/Frontify/brand-sdk/pull/907) [`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `@frontify/fondue` to `12.0.10` +- [#907](https://github.com/Frontify/brand-sdk/pull/907) [`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `@frontify/fondue` to `12.0.10` ## 5.6.16 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` ## 5.6.15 ### Patch Changes -- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` +- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` ## 5.6.14 ### Patch Changes -- [#862](https://github.com/Frontify/brand-sdk/pull/862) [`d6f716d`](https://github.com/Frontify/brand-sdk/commit/d6f716d759841e9fa5f0cc08526f65fb210f557e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add secret and endpoint restrictions +- [#862](https://github.com/Frontify/brand-sdk/pull/862) [`d6f716d`](https://github.com/Frontify/brand-sdk/commit/d6f716d759841e9fa5f0cc08526f65fb210f557e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add secret and endpoint restrictions ## 5.6.13 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update dependencies in CLI and templates +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update dependencies in CLI and templates -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: add `type: module` for ESM +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: add `type: module` for ESM -- [#857](https://github.com/Frontify/brand-sdk/pull/857) [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.0-beta.427` +- [#857](https://github.com/Frontify/brand-sdk/pull/857) [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.0-beta.427` -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies ## 5.6.12 ### Patch Changes -- [#846](https://github.com/Frontify/brand-sdk/pull/846) [`137605b`](https://github.com/Frontify/brand-sdk/commit/137605b4600bf2b8dbb1cc3921cef8f948936704) Thanks [@julianiff](https://github.com/julianiff)! - fix: update naming to fit network endpoints naming +- [#846](https://github.com/Frontify/brand-sdk/pull/846) [`137605b`](https://github.com/Frontify/brand-sdk/commit/137605b4600bf2b8dbb1cc3921cef8f948936704) Thanks [@julianiff](https://github.com/julianiff)! - fix: update naming to fit network endpoints naming ## 5.6.11 ### Patch Changes -- [#827](https://github.com/Frontify/brand-sdk/pull/827) [`f3a7dc2`](https://github.com/Frontify/brand-sdk/commit/f3a7dc24090fec27ee2d5a780131bc1a2feb2d24) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds validator for the proxyNetworkCall +- [#827](https://github.com/Frontify/brand-sdk/pull/827) [`f3a7dc2`](https://github.com/Frontify/brand-sdk/commit/f3a7dc24090fec27ee2d5a780131bc1a2feb2d24) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds validator for the proxyNetworkCall ## 5.6.10 ### Patch Changes -- [#812](https://github.com/Frontify/brand-sdk/pull/812) [`67b5ca1`](https://github.com/Frontify/brand-sdk/commit/67b5ca134b86ccddd0d2ab8a36b5b08261a4d9b3) Thanks [@julianiff](https://github.com/julianiff)! - feat: add manifest secret key validator +- [#812](https://github.com/Frontify/brand-sdk/pull/812) [`67b5ca1`](https://github.com/Frontify/brand-sdk/commit/67b5ca134b86ccddd0d2ab8a36b5b08261a4d9b3) Thanks [@julianiff](https://github.com/julianiff)! - feat: add manifest secret key validator -- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 +- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 ## 5.6.9 ### Patch Changes -- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 ## 5.6.8 ### Patch Changes -- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 +- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 ## 5.6.7 ### Patch Changes -- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue ## 5.6.6 ### Patch Changes -- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue ## 5.6.5 ### Patch Changes -- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch +- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch ## 5.6.4 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#788](https://github.com/Frontify/brand-sdk/pull/788) [`db5151e`](https://github.com/Frontify/brand-sdk/commit/db5151eccbee139fc086ad7d34b7ef832095bb2f) Thanks [@ragi96](https://github.com/ragi96)! - Fix: adjust templates +- [#788](https://github.com/Frontify/brand-sdk/pull/788) [`db5151e`](https://github.com/Frontify/brand-sdk/commit/db5151eccbee139fc086ad7d34b7ef832095bb2f) Thanks [@ragi96](https://github.com/ragi96)! - Fix: adjust templates ## 5.6.3 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.6.2 ### Patch Changes -- [#760](https://github.com/Frontify/brand-sdk/pull/760) [`6493f06`](https://github.com/Frontify/brand-sdk/commit/6493f06b934f2ea815fadda3aaf74a7ee76ec60c) Thanks [@julianiff](https://github.com/julianiff)! - chore: update sample apps +- [#760](https://github.com/Frontify/brand-sdk/pull/760) [`6493f06`](https://github.com/Frontify/brand-sdk/commit/6493f06b934f2ea815fadda3aaf74a7ee76ec60c) Thanks [@julianiff](https://github.com/julianiff)! - chore: update sample apps ## 5.6.1 ### Patch Changes -- [#732](https://github.com/Frontify/brand-sdk/pull/732) [`8395479`](https://github.com/Frontify/brand-sdk/commit/83954793533e63a67ee02cb94f24095cd4119e36) Thanks [@julianiff](https://github.com/julianiff)! - feat: adjust serve and compile command +- [#732](https://github.com/Frontify/brand-sdk/pull/732) [`8395479`](https://github.com/Frontify/brand-sdk/commit/83954793533e63a67ee02cb94f24095cd4119e36) Thanks [@julianiff](https://github.com/julianiff)! - feat: adjust serve and compile command ## 5.6.0 ### Minor Changes -- [#724](https://github.com/Frontify/brand-sdk/pull/724) [`b6c65ba`](https://github.com/Frontify/brand-sdk/commit/b6c65bafa134d8de07fbf990f27462f3005ea744) Thanks [@floriangaechter](https://github.com/floriangaechter)! - feat: add the option to deploy with token - - `-i, --instance `: url of the Frontify instance - - `-t, --token `: the access token to authenticate with the Frontify instance +- [#724](https://github.com/Frontify/brand-sdk/pull/724) [`b6c65ba`](https://github.com/Frontify/brand-sdk/commit/b6c65bafa134d8de07fbf990f27462f3005ea744) Thanks [@floriangaechter](https://github.com/floriangaechter)! - feat: add the option to deploy with token + - `-i, --instance `: url of the Frontify instance + - `-t, --token `: the access token to authenticate with the Frontify instance ### Patch Changes -- [#719](https://github.com/Frontify/brand-sdk/pull/719) [`4a676dc`](https://github.com/Frontify/brand-sdk/commit/4a676dcccc90dd56ba63cc75b97eea03b534177e) Thanks [@floriangaechter](https://github.com/floriangaechter)! - fix: Path handling on windows +- [#719](https://github.com/Frontify/brand-sdk/pull/719) [`4a676dc`](https://github.com/Frontify/brand-sdk/commit/4a676dcccc90dd56ba63cc75b97eea03b534177e) Thanks [@floriangaechter](https://github.com/floriangaechter)! - fix: Path handling on windows -- [#726](https://github.com/Frontify/brand-sdk/pull/726) [`935c591`](https://github.com/Frontify/brand-sdk/commit/935c591b83865e3a4eaa5bab472861d6a5656a4d) Thanks [@ragi96](https://github.com/ragi96)! - fix: nested template literals and also some typos +- [#726](https://github.com/Frontify/brand-sdk/pull/726) [`935c591`](https://github.com/Frontify/brand-sdk/commit/935c591b83865e3a4eaa5bab472861d6a5656a4d) Thanks [@ragi96](https://github.com/ragi96)! - fix: nested template literals and also some typos ## 5.5.9 ### Patch Changes -- [#701](https://github.com/Frontify/brand-sdk/pull/701) [`a84f65c`](https://github.com/Frontify/brand-sdk/commit/a84f65c16678bf8fae07416971e0262aadd230dc) Thanks [@julianiff](https://github.com/julianiff)! - feat: add title to manifest.json of platform Apps +- [#701](https://github.com/Frontify/brand-sdk/pull/701) [`a84f65c`](https://github.com/Frontify/brand-sdk/commit/a84f65c16678bf8fae07416971e0262aadd230dc) Thanks [@julianiff](https://github.com/julianiff)! - feat: add title to manifest.json of platform Apps ## 5.5.8 ### Patch Changes -- [#676](https://github.com/Frontify/brand-sdk/pull/676) [`e6e2abd`](https://github.com/Frontify/brand-sdk/commit/e6e2abd0050c81ebff79e282e23c1fcf45ee4aea) Thanks [@julianiff](https://github.com/julianiff)! - chore: update cli version of templates +- [#676](https://github.com/Frontify/brand-sdk/pull/676) [`e6e2abd`](https://github.com/Frontify/brand-sdk/commit/e6e2abd0050c81ebff79e282e23c1fcf45ee4aea) Thanks [@julianiff](https://github.com/julianiff)! - chore: update cli version of templates ## 5.5.7 ### Patch Changes -- [#674](https://github.com/Frontify/brand-sdk/pull/674) [`d7385ea`](https://github.com/Frontify/brand-sdk/commit/d7385ea6ff2c034e47b5d9727eae73600522bb2f) Thanks [@julianiff](https://github.com/julianiff)! - chore: update manifest +- [#674](https://github.com/Frontify/brand-sdk/pull/674) [`d7385ea`](https://github.com/Frontify/brand-sdk/commit/d7385ea6ff2c034e47b5d9727eae73600522bb2f) Thanks [@julianiff](https://github.com/julianiff)! - chore: update manifest -- [#670](https://github.com/Frontify/brand-sdk/pull/670) [`f28dd67`](https://github.com/Frontify/brand-sdk/commit/f28dd67dd2d5058a10e8420252ba213a1d3d62cd) Thanks [@julianiff](https://github.com/julianiff)! - chore: add optional to assetAction +- [#670](https://github.com/Frontify/brand-sdk/pull/670) [`f28dd67`](https://github.com/Frontify/brand-sdk/commit/f28dd67dd2d5058a10e8420252ba213a1d3d62cd) Thanks [@julianiff](https://github.com/julianiff)! - chore: add optional to assetAction -- [#673](https://github.com/Frontify/brand-sdk/pull/673) [`1bd6524`](https://github.com/Frontify/brand-sdk/commit/1bd6524a9b7b9021d1173c16f984c7944a628867) Thanks [@julianiff](https://github.com/julianiff)! - chore: change naming to workspace +- [#673](https://github.com/Frontify/brand-sdk/pull/673) [`1bd6524`](https://github.com/Frontify/brand-sdk/commit/1bd6524a9b7b9021d1173c16f984c7944a628867) Thanks [@julianiff](https://github.com/julianiff)! - chore: change naming to workspace ## 5.5.6 ### Patch Changes -- [#668](https://github.com/Frontify/brand-sdk/pull/668) [`e8bf308`](https://github.com/Frontify/brand-sdk/commit/e8bf308262124356a0d13b8bf251fb208de7f19f) Thanks [@julianiff](https://github.com/julianiff)! - chore: fix css and js filename exchanged +- [#668](https://github.com/Frontify/brand-sdk/pull/668) [`e8bf308`](https://github.com/Frontify/brand-sdk/commit/e8bf308262124356a0d13b8bf251fb208de7f19f) Thanks [@julianiff](https://github.com/julianiff)! - chore: fix css and js filename exchanged ## 5.5.5 ### Patch Changes -- [#664](https://github.com/Frontify/brand-sdk/pull/664) [`5cf77ee`](https://github.com/Frontify/brand-sdk/commit/5cf77eefad4fceea1baed23cd5750c4d95fd91cc) Thanks [@julianiff](https://github.com/julianiff)! - fix: platform app compiler +- [#664](https://github.com/Frontify/brand-sdk/pull/664) [`5cf77ee`](https://github.com/Frontify/brand-sdk/commit/5cf77eefad4fceea1baed23cd5750c4d95fd91cc) Thanks [@julianiff](https://github.com/julianiff)! - fix: platform app compiler ## 5.5.4 ### Patch Changes -- [#645](https://github.com/Frontify/brand-sdk/pull/645) [`0e34987`](https://github.com/Frontify/brand-sdk/commit/0e349871c67c8c5260c6456af1af2aec58ab6e2e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add manifest verification step +- [#645](https://github.com/Frontify/brand-sdk/pull/645) [`0e34987`](https://github.com/Frontify/brand-sdk/commit/0e349871c67c8c5260c6456af1af2aec58ab6e2e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add manifest verification step ## 5.5.3 ### Patch Changes -- [#642](https://github.com/Frontify/brand-sdk/pull/642) [`913e697`](https://github.com/Frontify/brand-sdk/commit/913e697be0e37e734cf098cca41803ee86307cbf) Thanks [@julianiff](https://github.com/julianiff)! - chore: move into common create folder +- [#642](https://github.com/Frontify/brand-sdk/pull/642) [`913e697`](https://github.com/Frontify/brand-sdk/commit/913e697be0e37e734cf098cca41803ee86307cbf) Thanks [@julianiff](https://github.com/julianiff)! - chore: move into common create folder ## 5.5.2 ### Patch Changes -- [#621](https://github.com/Frontify/brand-sdk/pull/621) [`e86676e`](https://github.com/Frontify/brand-sdk/commit/e86676e98cb8e1f35205804069b2a9a8ac1f69aa) Thanks [@ragi96](https://github.com/ragi96)! - chore: templates using stable version of app-bridge +- [#621](https://github.com/Frontify/brand-sdk/pull/621) [`e86676e`](https://github.com/Frontify/brand-sdk/commit/e86676e98cb8e1f35205804069b2a9a8ac1f69aa) Thanks [@ragi96](https://github.com/ragi96)! - chore: templates using stable version of app-bridge -- [#636](https://github.com/Frontify/brand-sdk/pull/636) [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#636](https://github.com/Frontify/brand-sdk/pull/636) [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.5.1 ### Patch Changes -- [#630](https://github.com/Frontify/brand-sdk/pull/630) [`d5635c2`](https://github.com/Frontify/brand-sdk/commit/d5635c2fa24a39d09e62708674888de27dade290) Thanks [@floriangaechter](https://github.com/floriangaechter)! - Show more information when login fails +- [#630](https://github.com/Frontify/brand-sdk/pull/630) [`d5635c2`](https://github.com/Frontify/brand-sdk/commit/d5635c2fa24a39d09e62708674888de27dade290) Thanks [@floriangaechter](https://github.com/floriangaechter)! - Show more information when login fails ## 5.5.0 ### Minor Changes -- [#623](https://github.com/Frontify/brand-sdk/pull/623) [`22b7a0b`](https://github.com/Frontify/brand-sdk/commit/22b7a0b007981fac0c1b3d838a644232acc21e85) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds the appBridge version to the block bundle +- [#623](https://github.com/Frontify/brand-sdk/pull/623) [`22b7a0b`](https://github.com/Frontify/brand-sdk/commit/22b7a0b007981fac0c1b3d838a644232acc21e85) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds the appBridge version to the block bundle ## 5.4.1 ### Patch Changes -- [#607](https://github.com/Frontify/brand-sdk/pull/607) [`e3ea35d`](https://github.com/Frontify/brand-sdk/commit/e3ea35dc3c3433b5d09712463534b681eef718f9) Thanks [@julianiff](https://github.com/julianiff)! - chore: update app-bridge version +- [#607](https://github.com/Frontify/brand-sdk/pull/607) [`e3ea35d`](https://github.com/Frontify/brand-sdk/commit/e3ea35dc3c3433b5d09712463534b681eef718f9) Thanks [@julianiff](https://github.com/julianiff)! - chore: update app-bridge version -- [#610](https://github.com/Frontify/brand-sdk/pull/610) [`49958e4`](https://github.com/Frontify/brand-sdk/commit/49958e4c1fb7caef2ea2394fef0966625f6e4804) Thanks [@ragi96](https://github.com/ragi96)! - fix: never ignore manifest.json on deploy" +- [#610](https://github.com/Frontify/brand-sdk/pull/610) [`49958e4`](https://github.com/Frontify/brand-sdk/commit/49958e4c1fb7caef2ea2394fef0966625f6e4804) Thanks [@ragi96](https://github.com/ragi96)! - fix: never ignore manifest.json on deploy" -- [#608](https://github.com/Frontify/brand-sdk/pull/608) [`6659cbf`](https://github.com/Frontify/brand-sdk/commit/6659cbff1e6d84809cb6637e08b2960ad7d4d315) Thanks [@julianiff](https://github.com/julianiff)! - chore: update frontify-cli in templates +- [#608](https://github.com/Frontify/brand-sdk/pull/608) [`6659cbf`](https://github.com/Frontify/brand-sdk/commit/6659cbff1e6d84809cb6637e08b2960ad7d4d315) Thanks [@julianiff](https://github.com/julianiff)! - chore: update frontify-cli in templates -- [#614](https://github.com/Frontify/brand-sdk/pull/614) [`b571cbf`](https://github.com/Frontify/brand-sdk/commit/b571cbf86a0d0ebc47aead17bb51edc407dd3196) Thanks [@floriangaechter](https://github.com/floriangaechter)! - Fix: move eslint ignore information to .eslintrc and fix a typo +- [#614](https://github.com/Frontify/brand-sdk/pull/614) [`b571cbf`](https://github.com/Frontify/brand-sdk/commit/b571cbf86a0d0ebc47aead17bb51edc407dd3196) Thanks [@floriangaechter](https://github.com/floriangaechter)! - Fix: move eslint ignore information to .eslintrc and fix a typo -- [#615](https://github.com/Frontify/brand-sdk/pull/615) [`d68cabc`](https://github.com/Frontify/brand-sdk/commit/d68cabcc7a6b95ad5194ae374779d1ef10dcc130) Thanks [@julianiff](https://github.com/julianiff)! - chore: change from dev to serve +- [#615](https://github.com/Frontify/brand-sdk/pull/615) [`d68cabc`](https://github.com/Frontify/brand-sdk/commit/d68cabcc7a6b95ad5194ae374779d1ef10dcc130) Thanks [@julianiff](https://github.com/julianiff)! - chore: change from dev to serve ## 5.4.0 ### Minor Changes -- [#600](https://github.com/Frontify/brand-sdk/pull/600) [`4599249`](https://github.com/Frontify/brand-sdk/commit/45992493e16789688e3447fe0cf1d2feb9f3fcea) Thanks [@julianiff](https://github.com/julianiff)! - feat: add platform App cli deploy command +- [#600](https://github.com/Frontify/brand-sdk/pull/600) [`4599249`](https://github.com/Frontify/brand-sdk/commit/45992493e16789688e3447fe0cf1d2feb9f3fcea) Thanks [@julianiff](https://github.com/julianiff)! - feat: add platform App cli deploy command -- [#596](https://github.com/Frontify/brand-sdk/pull/596) [`e3a7a94`](https://github.com/Frontify/brand-sdk/commit/e3a7a942a5c77e57525c7f232156811b9115cbf4) Thanks [@julianiff](https://github.com/julianiff)! - feat: add platform app to CLI and add a sample-app +- [#596](https://github.com/Frontify/brand-sdk/pull/596) [`e3a7a94`](https://github.com/Frontify/brand-sdk/commit/e3a7a942a5c77e57525c7f232156811b9115cbf4) Thanks [@julianiff](https://github.com/julianiff)! - feat: add platform app to CLI and add a sample-app ### Patch Changes -- [#604](https://github.com/Frontify/brand-sdk/pull/604) [`bec5207`](https://github.com/Frontify/brand-sdk/commit/bec52077c52a9c03648274e5ea3caf2eac5f7c45) Thanks [@floriangaechter](https://github.com/floriangaechter)! - Fix deprecated dropdown types in templates +- [#604](https://github.com/Frontify/brand-sdk/pull/604) [`bec5207`](https://github.com/Frontify/brand-sdk/commit/bec52077c52a9c03648274e5ea3caf2eac5f7c45) Thanks [@floriangaechter](https://github.com/floriangaechter)! - Fix deprecated dropdown types in templates -- [#599](https://github.com/Frontify/brand-sdk/pull/599) [`6332d4e`](https://github.com/Frontify/brand-sdk/commit/6332d4e64cd30ac1dbb38c24cf14cebfc5e62820) Thanks [@julianiff](https://github.com/julianiff)! - feat: add flag to run serve as a platformApp +- [#599](https://github.com/Frontify/brand-sdk/pull/599) [`6332d4e`](https://github.com/Frontify/brand-sdk/commit/6332d4e64cd30ac1dbb38c24cf14cebfc5e62820) Thanks [@julianiff](https://github.com/julianiff)! - feat: add flag to run serve as a platformApp ## 5.3.17 ### Patch Changes -- [`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.16 ### Patch Changes -- [`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.15 ### Patch Changes -- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.14 ### Patch Changes -- [`af7d797`](https://github.com/Frontify/brand-sdk/commit/af7d797e12d66c8af60df70c8bf9505f3459cd1f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`af7d797`](https://github.com/Frontify/brand-sdk/commit/af7d797e12d66c8af60df70c8bf9505f3459cd1f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#467](https://github.com/Frontify/brand-sdk/pull/467) [`7f4717f`](https://github.com/Frontify/brand-sdk/commit/7f4717f62cbb3a0904dfd91fcf809bb14e1e8b20) Thanks [@floriangaechter](https://github.com/floriangaechter)! - feat: add info message in case browser window couldn't be opened automatically +- [#467](https://github.com/Frontify/brand-sdk/pull/467) [`7f4717f`](https://github.com/Frontify/brand-sdk/commit/7f4717f62cbb3a0904dfd91fcf809bb14e1e8b20) Thanks [@floriangaechter](https://github.com/floriangaechter)! - feat: add info message in case browser window couldn't be opened automatically ## 5.3.13 ### Patch Changes -- [`4b9ea6a`](https://github.com/Frontify/brand-sdk/commit/4b9ea6a27b787d0282eb11dc70cece1c597f8b65) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update templates dependencies +- [`4b9ea6a`](https://github.com/Frontify/brand-sdk/commit/4b9ea6a27b787d0282eb11dc70cece1c597f8b65) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update templates dependencies ## 5.3.12 ### Patch Changes -- [`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`4c88c23`](https://github.com/Frontify/brand-sdk/commit/4c88c23a261e3cd1837cdd70d9e96062ce1a5a4b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies in templates +- [`4c88c23`](https://github.com/Frontify/brand-sdk/commit/4c88c23a261e3cd1837cdd70d9e96062ce1a5a4b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies in templates -- [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge +- [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge ## 5.3.11 ### Patch Changes -- [`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps +- [`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps ## 5.3.10 ### Patch Changes -- [`c38bfa8`](https://github.com/Frontify/brand-sdk/commit/c38bfa8fa65170ea56d078abcfecbadc2167b39b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps template and remove lock file +- [`c38bfa8`](https://github.com/Frontify/brand-sdk/commit/c38bfa8fa65170ea56d078abcfecbadc2167b39b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps template and remove lock file -- [`c38bfa8`](https://github.com/Frontify/brand-sdk/commit/c38bfa8fa65170ea56d078abcfecbadc2167b39b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix use correct package name +- [`c38bfa8`](https://github.com/Frontify/brand-sdk/commit/c38bfa8fa65170ea56d078abcfecbadc2167b39b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix use correct package name -- [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.9 ### Patch Changes -- [`f6fcc6e`](https://github.com/Frontify/brand-sdk/commit/f6fcc6ec3a4bd56ae8c43718079d5d78dc755a9f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`f6fcc6e`](https://github.com/Frontify/brand-sdk/commit/f6fcc6ec3a4bd56ae8c43718079d5d78dc755a9f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`bc9c16c`](https://github.com/Frontify/brand-sdk/commit/bc9c16c69ca26eb8c87edd6eeb559fc050d52a31) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Typos in errors +- [`bc9c16c`](https://github.com/Frontify/brand-sdk/commit/bc9c16c69ca26eb8c87edd6eeb559fc050d52a31) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Typos in errors -- [`f0efea8`](https://github.com/Frontify/brand-sdk/commit/f0efea87d161f9e6cda668399d4bd7420303fe5a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Error message when deploying and not logged in +- [`f0efea8`](https://github.com/Frontify/brand-sdk/commit/f0efea87d161f9e6cda668399d4bd7420303fe5a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Error message when deploying and not logged in ## 5.3.8 ### Patch Changes -- [`b334c60`](https://github.com/Frontify/brand-sdk/commit/b334c60c33900a65739686d5c581c36fbcfe8498) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b334c60`](https://github.com/Frontify/brand-sdk/commit/b334c60c33900a65739686d5c581c36fbcfe8498) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.7 ### Patch Changes -- [`787f147`](https://github.com/Frontify/brand-sdk/commit/787f147fa56ad16c53da68061632936d6756276e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update `vite-plugin-externals` because of broken exports +- [`787f147`](https://github.com/Frontify/brand-sdk/commit/787f147fa56ad16c53da68061632936d6756276e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update `vite-plugin-externals` because of broken exports -- [#335](https://github.com/Frontify/brand-sdk/pull/335) [`8d692d1`](https://github.com/Frontify/brand-sdk/commit/8d692d16594f4c2fcd2c5db6dd71c2b6946eecb7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix path issue on Windows when deploying the app +- [#335](https://github.com/Frontify/brand-sdk/pull/335) [`8d692d1`](https://github.com/Frontify/brand-sdk/commit/8d692d16594f4c2fcd2c5db6dd71c2b6946eecb7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix path issue on Windows when deploying the app -- [`10b2d28`](https://github.com/Frontify/brand-sdk/commit/10b2d2875170c57c5f8bdc155a1589ef4e1a57fd) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Improve Http Client error handling +- [`10b2d28`](https://github.com/Frontify/brand-sdk/commit/10b2d2875170c57c5f8bdc155a1589ef4e1a57fd) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Improve Http Client error handling -- [`528f81b`](https://github.com/Frontify/brand-sdk/commit/528f81bc02c36157c7e77971102f68e31f27714b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove extra css module file in tailwind template +- [`528f81b`](https://github.com/Frontify/brand-sdk/commit/528f81bc02c36157c7e77971102f68e31f27714b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove extra css module file in tailwind template -- [`c1275a6`](https://github.com/Frontify/brand-sdk/commit/c1275a6c094cb0ca3567d7fd7e3d01e258f2b09f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update errors messages +- [`c1275a6`](https://github.com/Frontify/brand-sdk/commit/c1275a6c094cb0ca3567d7fd7e3d01e258f2b09f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update errors messages -- [`60627d5`](https://github.com/Frontify/brand-sdk/commit/60627d51ce04645b3df72d8b0dff281675bd6508) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Use module resolution `node16` +- [`60627d5`](https://github.com/Frontify/brand-sdk/commit/60627d51ce04645b3df72d8b0dff281675bd6508) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Use module resolution `node16` -- [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.6 ### Patch Changes -- [`b9a3f51`](https://github.com/Frontify/brand-sdk/commit/b9a3f513c957a0fd604d926d87fe221af2337681) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b9a3f51`](https://github.com/Frontify/brand-sdk/commit/b9a3f513c957a0fd604d926d87fe221af2337681) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.5 ### Patch Changes -- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.4 ### Patch Changes -- [#299](https://github.com/Frontify/brand-sdk/pull/299) [`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update to Vite 4 and TS 4.9 +- [#299](https://github.com/Frontify/brand-sdk/pull/299) [`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update to Vite 4 and TS 4.9 -- [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.3 ### Patch Changes -- [`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 5.3.2 ### Patch Changes -- [`6637b3d`](https://github.com/Frontify/brand-sdk/commit/6637b3d8ca27680007d8078095c72ae3b83660ae) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix `block create` command +- [`6637b3d`](https://github.com/Frontify/brand-sdk/commit/6637b3d8ca27680007d8078095c72ae3b83660ae) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix `block create` command -- [`a03d515`](https://github.com/Frontify/brand-sdk/commit/a03d515bef69d2f7aff64bc56bcdc89f3e90fcd9) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update templates dependencies +- [`a03d515`](https://github.com/Frontify/brand-sdk/commit/a03d515bef69d2f7aff64bc56bcdc89f3e90fcd9) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update templates dependencies ## 5.3.1 ### Patch Changes -- [`b3ded3b`](https://github.com/Frontify/brand-sdk/commit/b3ded3b5c3d9ea036008fb09bca96e89fdc94598) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Aligned templates to the same example +- [`b3ded3b`](https://github.com/Frontify/brand-sdk/commit/b3ded3b5c3d9ea036008fb09bca96e89fdc94598) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Aligned templates to the same example -- [`40e4285`](https://github.com/Frontify/brand-sdk/commit/40e428512b5eecd82a6d31adf40f5f53c0025994) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update templates package json +- [`40e4285`](https://github.com/Frontify/brand-sdk/commit/40e428512b5eecd82a6d31adf40f5f53c0025994) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update templates package json ## 5.3.0 ### Minor Changes -- [#274](https://github.com/Frontify/frontify-cli/pull/274) [`c0095fc`](https://github.com/Frontify/frontify-cli/commit/c0095fc46d5dd95e7fd91779be586756f3a7dc0e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add template to CLI creation +- [#274](https://github.com/Frontify/frontify-cli/pull/274) [`c0095fc`](https://github.com/Frontify/frontify-cli/commit/c0095fc46d5dd95e7fd91779be586756f3a7dc0e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add template to CLI creation diff --git a/packages/cli/package.json b/packages/cli/package.json index 5d3c50335..d8cd5609e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/frontify-cli", "type": "module", - "version": "5.6.19", + "version": "5.7.2", "author": "Frontify Developers ", "repository": { "type": "git", @@ -36,6 +36,7 @@ "archiver": "^7.0.1", "cac": "^6.7.14", "conf": "^12.0.0", + "esbuild": "^0.21.5", "fast-glob": "^3.3.2", "fastify": "^4.26.2", "glob-to-regexp": "^0.4.1", diff --git a/packages/cli/src/commands/serve.ts b/packages/cli/src/commands/serve.ts index 738f8a816..08f3f5b60 100644 --- a/packages/cli/src/commands/serve.ts +++ b/packages/cli/src/commands/serve.ts @@ -1,6 +1,9 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import path from 'node:path'; + import react from '@vitejs/plugin-react'; +import * as esbuild from 'esbuild'; import { createServer } from 'vite'; import { viteExternalsPlugin } from 'vite-plugin-externals'; @@ -9,20 +12,52 @@ import { getAppBridgeVersion } from '../utils/appBridgeVersion'; import { Logger } from '../utils/logger'; class PlatformAppDevelopmentServer { - constructor(private readonly port: number) {} + constructor( + private readonly entryFilePath: string, + private readonly port: number, + ) {} async serve(): Promise { try { - const viteServer = await createServer({ + const settingsSchema = await esbuild.context({ + entryPoints: [this.entryFilePath], + outfile: './dist/dev-settings.js', + minify: true, + globalName: 'devSettings', + format: 'iife', + bundle: true, + loader: { + '.css': 'empty', + }, + }); + + const viteServerDev = await createServer({ root: process.cwd(), configFile: false, - plugins: [react()], define: { 'process.env.NODE_ENV': JSON.stringify('development'), }, + plugins: [ + react(), + { + name: 'prebuild-commands', + handleHotUpdate: ({ file, server }) => { + const relativeFilePath = path.relative(process.cwd(), file); + + if (relativeFilePath === 'src/settings.ts' || relativeFilePath === 'src/index.ts') { + // if the change is either in settings.ts or index.ts do a rebuild to load settings + settingsSchema.rebuild(); + server.restart(); + } + }, + buildStart: () => { + settingsSchema.rebuild(); + }, + }, + ], }); - const server = await viteServer.listen(this.port, true); + const server = await viteServerDev.listen(this.port, true); server.printUrls(); } catch (error) { console.error(error); @@ -115,9 +150,9 @@ export const createDevelopmentServer = async ( await developmentServer.serve(); }; -export const createDevelopmentServerForPlatformApp = async (port: number): Promise => { +export const createDevelopmentServerForPlatformApp = async (entryFilePath: string, port: number): Promise => { Logger.info('Starting the development server for Apps...'); - const developmentServer = new PlatformAppDevelopmentServer(port); + const developmentServer = new PlatformAppDevelopmentServer(entryFilePath, port); await developmentServer.serve(); }; diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 87fe42f29..2e684f594 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -88,7 +88,7 @@ cli.command('serve', 'serve the app locally') const appType = options.appType || manifest.appType; if (appType === 'platform-app') { - await createDevelopmentServerForPlatformApp(options.port); + await createDevelopmentServerForPlatformApp(options.entryPath, options.port); } else { await createDevelopmentServer(options.entryPath, options.port, options.allowExternal); } diff --git a/packages/cli/templates/content-block-tailwind/package.json b/packages/cli/templates/content-block-tailwind/package.json index e3a06b803..d83a50016 100644 --- a/packages/cli/templates/content-block-tailwind/package.json +++ b/packages/cli/templates/content-block-tailwind/package.json @@ -18,7 +18,7 @@ "devDependencies": { "@frontify/eslint-config-react": "^0.17.6", "@frontify/frontify-cli": "^5.6.19", - "@frontify/guideline-blocks-settings": "^0.34.9", + "@frontify/guideline-blocks-settings": "^0.35.1", "@types/react": "^18.2.74", "@types/react-dom": "^18.2.24", "autoprefixer": "^10.4.19", diff --git a/packages/cli/templates/content-block-tailwind/tailwind.config.ts b/packages/cli/templates/content-block-tailwind/tailwind.config.ts index 2df7a9aa0..d2a0f3df5 100644 --- a/packages/cli/templates/content-block-tailwind/tailwind.config.ts +++ b/packages/cli/templates/content-block-tailwind/tailwind.config.ts @@ -1,6 +1,7 @@ import { type Config } from 'tailwindcss'; export default { + presets: [require('@frontify/guideline-blocks-settings/tailwind')], content: ['src/**/*.{ts,tsx}'], prefix: 'tw-', corePlugins: { diff --git a/packages/cli/templates/platform-app-css-modules/.gitignore b/packages/cli/templates/platform-app-css-modules/.gitignore index bd5b1469f..22f2e90f5 100644 --- a/packages/cli/templates/platform-app-css-modules/.gitignore +++ b/packages/cli/templates/platform-app-css-modules/.gitignore @@ -19,3 +19,4 @@ dist-ssr *.njsproj *.sln *.sw? +.secret.json diff --git a/packages/cli/templates/platform-app-css-modules/.secret-example.json b/packages/cli/templates/platform-app-css-modules/.secret-example.json new file mode 100644 index 000000000..d5e413d24 --- /dev/null +++ b/packages/cli/templates/platform-app-css-modules/.secret-example.json @@ -0,0 +1,4 @@ +{ + "THIRD_PARTY_API_KEY": 1, + "__DONT_COMMIT_THIS_FILE_WITH_TOKENS__": true +} diff --git a/packages/cli/templates/platform-app-css-modules/index.html b/packages/cli/templates/platform-app-css-modules/index.html index afd3f34c8..f33a3f649 100644 --- a/packages/cli/templates/platform-app-css-modules/index.html +++ b/packages/cli/templates/platform-app-css-modules/index.html @@ -11,9 +11,16 @@ import module from '/src/index.ts'; import ReactDOM from 'react-dom/client'; import React from 'react'; + import { AppBridgePlatformApp } from '@frontify/app-bridge'; - const root = ReactDOM.createRoot(document.getElementById('root')); - root.render(React.createElement(module.app)); + const appBridge = new AppBridgePlatformApp(); + + appBridge.subscribe('Context.connected', () => { + const root = ReactDOM.createRoot(document.getElementById('root')); + root.render(React.createElement(module.app)); + }); + + appBridge.dispatch({ name: 'openConnection' }); diff --git a/packages/cli/templates/platform-app-css-modules/package.json b/packages/cli/templates/platform-app-css-modules/package.json index a0bdc7212..9f3a98720 100644 --- a/packages/cli/templates/platform-app-css-modules/package.json +++ b/packages/cli/templates/platform-app-css-modules/package.json @@ -11,7 +11,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "4.0.0-alpha.29", + "@frontify/app-bridge": "4.0.0-alpha.31", "@frontify/fondue": "^12.1.2", "@frontify/platform-app": "^0.1.4", "react": "^18.3.1", @@ -19,7 +19,7 @@ }, "devDependencies": { "@frontify/eslint-config-react": "^0.17.6", - "@frontify/frontify-cli": "^5.6.19", + "@frontify/frontify-cli": "^5.7.0", "@types/node": "^20.12.12", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", diff --git a/packages/cli/templates/platform-app-css-modules/src/App.tsx b/packages/cli/templates/platform-app-css-modules/src/App.tsx index d0580b56c..9d3c6ee29 100644 --- a/packages/cli/templates/platform-app-css-modules/src/App.tsx +++ b/packages/cli/templates/platform-app-css-modules/src/App.tsx @@ -1,24 +1,14 @@ -import { type PlatformAppContext, usePlatformAppBridge } from '@frontify/app-bridge'; -import { useEffect, useState } from 'react'; +import { AppBridgePlatformApp } from '@frontify/app-bridge'; import style from './style.module.css'; export const App = () => { - const appBridge = usePlatformAppBridge(); - const [context, setContext] = useState(); - - useEffect(() => { - if (!appBridge) { - return; - } - - setContext(appBridge.context().get()); - }, [appBridge]); + const appBridge = new AppBridgePlatformApp(); return (
A Frontify Platform App in React with CSS Modules - Entrypoint: {context?.surface}. + Entrypoint: {appBridge.context().get().surface}.
); }; diff --git a/packages/cli/templates/platform-app-css/.gitignore b/packages/cli/templates/platform-app-css/.gitignore index bd5b1469f..22f2e90f5 100644 --- a/packages/cli/templates/platform-app-css/.gitignore +++ b/packages/cli/templates/platform-app-css/.gitignore @@ -19,3 +19,4 @@ dist-ssr *.njsproj *.sln *.sw? +.secret.json diff --git a/packages/cli/templates/platform-app-css/.secret-example.json b/packages/cli/templates/platform-app-css/.secret-example.json new file mode 100644 index 000000000..d5e413d24 --- /dev/null +++ b/packages/cli/templates/platform-app-css/.secret-example.json @@ -0,0 +1,4 @@ +{ + "THIRD_PARTY_API_KEY": 1, + "__DONT_COMMIT_THIS_FILE_WITH_TOKENS__": true +} diff --git a/packages/cli/templates/platform-app-css/index.html b/packages/cli/templates/platform-app-css/index.html index a6f04ed64..b0a725066 100644 --- a/packages/cli/templates/platform-app-css/index.html +++ b/packages/cli/templates/platform-app-css/index.html @@ -11,9 +11,16 @@ import module from '/src/index.ts'; import ReactDOM from 'react-dom/client'; import React from 'react'; + import { AppBridgePlatformApp } from '@frontify/app-bridge'; - const root = ReactDOM.createRoot(document.getElementById('root')); - root.render(React.createElement(module.app)); + const appBridge = new AppBridgePlatformApp(); + + appBridge.subscribe('Context.connected', () => { + const root = ReactDOM.createRoot(document.getElementById('root')); + root.render(React.createElement(module.app)); + }); + + appBridge.dispatch({ name: 'openConnection' }); diff --git a/packages/cli/templates/platform-app-css/package.json b/packages/cli/templates/platform-app-css/package.json index 90aefd06b..a7df212b4 100644 --- a/packages/cli/templates/platform-app-css/package.json +++ b/packages/cli/templates/platform-app-css/package.json @@ -11,7 +11,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "4.0.0-alpha.29", + "@frontify/app-bridge": "4.0.0-alpha.31", "@frontify/fondue": "^12.1.2", "@frontify/platform-app": "^0.1.4", "react": "^18.3.1", @@ -19,7 +19,7 @@ }, "devDependencies": { "@frontify/eslint-config-react": "^0.17.6", - "@frontify/frontify-cli": "^5.6.19", + "@frontify/frontify-cli": "^5.7.0", "@types/node": "^20.12.12", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", diff --git a/packages/cli/templates/platform-app-css/src/App.tsx b/packages/cli/templates/platform-app-css/src/App.tsx index 6345e8624..ad484324a 100644 --- a/packages/cli/templates/platform-app-css/src/App.tsx +++ b/packages/cli/templates/platform-app-css/src/App.tsx @@ -1,22 +1,12 @@ -import { type PlatformAppContext, usePlatformAppBridge } from '@frontify/app-bridge'; -import { useEffect, useState } from 'react'; +import { AppBridgePlatformApp } from '@frontify/app-bridge'; export const App = () => { - const appBridge = usePlatformAppBridge(); - const [context, setContext] = useState(); - - useEffect(() => { - if (!appBridge) { - return; - } - - setContext(appBridge.context().get()); - }, [appBridge]); + const appBridge = new AppBridgePlatformApp(); return (
A Frontify Platform App in React with pure CSS - Entrypoint: {context?.surface}. + Entrypoint: {appBridge.context().get().surface}.
); }; diff --git a/packages/cli/templates/platform-app-tailwind/.gitignore b/packages/cli/templates/platform-app-tailwind/.gitignore index bd5b1469f..22f2e90f5 100644 --- a/packages/cli/templates/platform-app-tailwind/.gitignore +++ b/packages/cli/templates/platform-app-tailwind/.gitignore @@ -19,3 +19,4 @@ dist-ssr *.njsproj *.sln *.sw? +.secret.json diff --git a/packages/cli/templates/platform-app-tailwind/.secret-example.json b/packages/cli/templates/platform-app-tailwind/.secret-example.json new file mode 100644 index 000000000..d5e413d24 --- /dev/null +++ b/packages/cli/templates/platform-app-tailwind/.secret-example.json @@ -0,0 +1,4 @@ +{ + "THIRD_PARTY_API_KEY": 1, + "__DONT_COMMIT_THIS_FILE_WITH_TOKENS__": true +} diff --git a/packages/cli/templates/platform-app-tailwind/index.html b/packages/cli/templates/platform-app-tailwind/index.html index a6f04ed64..b0a725066 100644 --- a/packages/cli/templates/platform-app-tailwind/index.html +++ b/packages/cli/templates/platform-app-tailwind/index.html @@ -11,9 +11,16 @@ import module from '/src/index.ts'; import ReactDOM from 'react-dom/client'; import React from 'react'; + import { AppBridgePlatformApp } from '@frontify/app-bridge'; - const root = ReactDOM.createRoot(document.getElementById('root')); - root.render(React.createElement(module.app)); + const appBridge = new AppBridgePlatformApp(); + + appBridge.subscribe('Context.connected', () => { + const root = ReactDOM.createRoot(document.getElementById('root')); + root.render(React.createElement(module.app)); + }); + + appBridge.dispatch({ name: 'openConnection' }); diff --git a/packages/cli/templates/platform-app-tailwind/package.json b/packages/cli/templates/platform-app-tailwind/package.json index 519fe40ba..728200acf 100644 --- a/packages/cli/templates/platform-app-tailwind/package.json +++ b/packages/cli/templates/platform-app-tailwind/package.json @@ -11,7 +11,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@frontify/app-bridge": "4.0.0-alpha.29", + "@frontify/app-bridge": "4.0.0-alpha.31", "@frontify/fondue": "^12.1.2", "@frontify/platform-app": "^0.1.4", "react": "^18.3.1", @@ -19,7 +19,7 @@ }, "devDependencies": { "@frontify/eslint-config-react": "^0.17.6", - "@frontify/frontify-cli": "^5.6.19", + "@frontify/frontify-cli": "^5.7.0", "@types/node": "^20.12.12", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", diff --git a/packages/cli/templates/platform-app-tailwind/src/App.tsx b/packages/cli/templates/platform-app-tailwind/src/App.tsx index 8a1ac17f6..81965d575 100644 --- a/packages/cli/templates/platform-app-tailwind/src/App.tsx +++ b/packages/cli/templates/platform-app-tailwind/src/App.tsx @@ -1,24 +1,12 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type PlatformAppContext, usePlatformAppBridge } from '@frontify/app-bridge'; -import { useEffect, useState } from 'react'; +import { AppBridgePlatformApp } from '@frontify/app-bridge'; export const App = () => { - const appBridge = usePlatformAppBridge(); - const [context, setContext] = useState(); - - useEffect(() => { - if (!appBridge) { - return; - } - - setContext(appBridge.context().get()); - }, [appBridge]); + const appBridge = new AppBridgePlatformApp(); return (
A Frontify Platform App in React with tailwind. -

Entrypoint: {context?.surface}

. +

Entrypoint: {appBridge.context().get().surface}

.
); }; diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 91a58e827..f63e45ca7 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,948 +1,963 @@ # @frontify/guideline-blocks-settings +## 0.36.0 + +### Minor Changes + +- [#984](https://github.com/Frontify/brand-sdk/pull/984) [`81319fd`](https://github.com/Frontify/brand-sdk/commit/81319fd5cd9aaad649c1d7ce41915c1706f3c769) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(RTE): add custom column break plugin + Use simply as: `new BreakAfterPlugin({ columns, gap })`, and the plugin will take care of responsivity using container queries. Don't forget to also supply columns and gap to the `RichTextEditor` component. + +### Patch Changes + +- [#976](https://github.com/Frontify/brand-sdk/pull/976) [`be18559`](https://github.com/Frontify/brand-sdk/commit/be18559f7e31e2ad738fd4c875d119f8c839fa4d) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue dependency to 12.1.8 + +- Updated dependencies [[`be18559`](https://github.com/Frontify/brand-sdk/commit/be18559f7e31e2ad738fd4c875d119f8c839fa4d)]: + - @frontify/sidebar-settings@0.9.18 + +## 0.35.1 + +### Patch Changes + +- [#952](https://github.com/Frontify/brand-sdk/pull/952) [`a0f07c9`](https://github.com/Frontify/brand-sdk/commit/a0f07c9077f7d1c766b6b78df1e7a5ce1babca82) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(\*): move `@tailwindcss/container-queries` to a public dependency + ## 0.35.0 ### Minor Changes -- [#949](https://github.com/Frontify/brand-sdk/pull/949) [`1d67cc1`](https://github.com/Frontify/brand-sdk/commit/1d67cc1f8e0cd5387b914d61d944e9756542a6e6) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(tailwind): introduce container queries - `@frontify/guideline-block-settings/tailwind` can now be used as a tailwind preset in your tailwind.config.ts file to enable container queries. On how to use them refer to tailwind documentation: https://github.com/tailwindlabs/tailwindcss-container-queries +- [#949](https://github.com/Frontify/brand-sdk/pull/949) [`1d67cc1`](https://github.com/Frontify/brand-sdk/commit/1d67cc1f8e0cd5387b914d61d944e9756542a6e6) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(tailwind): introduce container queries + `@frontify/guideline-block-settings/tailwind` can now be used as a tailwind preset in your tailwind.config.ts file to enable container queries. On how to use them refer to tailwind documentation: https://github.com/tailwindlabs/tailwindcss-container-queries ### Patch Changes -- [#948](https://github.com/Frontify/brand-sdk/pull/948) [`cc7f942`](https://github.com/Frontify/brand-sdk/commit/cc7f9427df1a3d8d621850adff4c3d59f2f8e308) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): on safari the first click is not recognized +- [#948](https://github.com/Frontify/brand-sdk/pull/948) [`cc7f942`](https://github.com/Frontify/brand-sdk/commit/cc7f9427df1a3d8d621850adff4c3d59f2f8e308) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): on safari the first click is not recognized -- Updated dependencies [[`7baceff`](https://github.com/Frontify/brand-sdk/commit/7baceffc87773e9f6a1e169aa45151b92c614cbc)]: - - @frontify/sidebar-settings@0.9.17 +- Updated dependencies [[`7baceff`](https://github.com/Frontify/brand-sdk/commit/7baceffc87773e9f6a1e169aa45151b92c614cbc)]: + - @frontify/sidebar-settings@0.9.17 ## 0.34.15 ### Patch Changes -- [#907](https://github.com/Frontify/brand-sdk/pull/907) [`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `@frontify/fondue` to `12.0.10` +- [#907](https://github.com/Frontify/brand-sdk/pull/907) [`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `@frontify/fondue` to `12.0.10` -- Updated dependencies [[`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8)]: - - @frontify/sidebar-settings@0.9.16 +- Updated dependencies [[`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8)]: + - @frontify/sidebar-settings@0.9.16 ## 0.34.14 ### Patch Changes -- [#901](https://github.com/Frontify/brand-sdk/pull/901) [`2bfb9f6`](https://github.com/Frontify/brand-sdk/commit/2bfb9f6f8028df00e571f87b4be288b579bf53ad) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(BlockItemWrapper): memoize BlockItemWrapper component +- [#901](https://github.com/Frontify/brand-sdk/pull/901) [`2bfb9f6`](https://github.com/Frontify/brand-sdk/commit/2bfb9f6f8028df00e571f87b4be288b579bf53ad) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(BlockItemWrapper): memoize BlockItemWrapper component ## 0.34.13 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` -- Updated dependencies [[`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d)]: - - @frontify/sidebar-settings@0.9.15 +- Updated dependencies [[`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d)]: + - @frontify/sidebar-settings@0.9.15 ## 0.34.12 ### Patch Changes -- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` +- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` -- Updated dependencies [[`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc)]: - - @frontify/sidebar-settings@0.9.14 +- Updated dependencies [[`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc)]: + - @frontify/sidebar-settings@0.9.14 ## 0.34.11 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#857](https://github.com/Frontify/brand-sdk/pull/857) [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.0-beta.427` +- [#857](https://github.com/Frontify/brand-sdk/pull/857) [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.0-beta.427` -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies -- Updated dependencies [[`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab), [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be), [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c)]: - - @frontify/sidebar-settings@0.9.13 +- Updated dependencies [[`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab), [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be), [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c)]: + - @frontify/sidebar-settings@0.9.13 ## 0.34.10 ### Patch Changes -- [#852](https://github.com/Frontify/brand-sdk/pull/852) [`28f5ec2`](https://github.com/Frontify/brand-sdk/commit/28f5ec282a14bd22871b84570c00630ba07dfa14) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(BlockItemWrapper): hide toolbar segment if there are no items +- [#852](https://github.com/Frontify/brand-sdk/pull/852) [`28f5ec2`](https://github.com/Frontify/brand-sdk/commit/28f5ec282a14bd22871b84570c00630ba07dfa14) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(BlockItemWrapper): hide toolbar segment if there are no items ## 0.34.9 ### Patch Changes -- [#848](https://github.com/Frontify/brand-sdk/pull/848) [`68533d1`](https://github.com/Frontify/brand-sdk/commit/68533d15490c0ac313f43b68472dfa44bea8b5c6) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix: border settings does not add px automatically +- [#848](https://github.com/Frontify/brand-sdk/pull/848) [`68533d1`](https://github.com/Frontify/brand-sdk/commit/68533d15490c0ac313f43b68472dfa44bea8b5c6) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix: border settings does not add px automatically ## 0.34.8 ### Patch Changes -- [#842](https://github.com/Frontify/brand-sdk/pull/842) [`0a86be7`](https://github.com/Frontify/brand-sdk/commit/0a86be761b5d3283d275d11dc8ba684821d8c17d) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(LinkSelector): Internal section links will now not be shown if they have an unreadable title, such as an empty string. +- [#842](https://github.com/Frontify/brand-sdk/pull/842) [`0a86be7`](https://github.com/Frontify/brand-sdk/commit/0a86be761b5d3283d275d11dc8ba684821d8c17d) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(LinkSelector): Internal section links will now not be shown if they have an unreadable title, such as an empty string. ## 0.34.7 ### Patch Changes -- Updated dependencies [[`b116dec`](https://github.com/Frontify/brand-sdk/commit/b116decf09a486d5c25e8f9cf9e4213cd2c65d3c)]: - - @frontify/sidebar-settings@0.9.12 +- Updated dependencies [[`b116dec`](https://github.com/Frontify/brand-sdk/commit/b116decf09a486d5c25e8f9cf9e4213cd2c65d3c)]: + - @frontify/sidebar-settings@0.9.12 ## 0.34.6 ### Patch Changes -- [#822](https://github.com/Frontify/brand-sdk/pull/822) [`b8ca543`](https://github.com/Frontify/brand-sdk/commit/b8ca54328becb5a084833bbdfdb3a7a2c9ea3d09) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(RichTextEditor): always reset page leave when text changes. This fixes an issue introduced in v0.34.5. +- [#822](https://github.com/Frontify/brand-sdk/pull/822) [`b8ca543`](https://github.com/Frontify/brand-sdk/commit/b8ca54328becb5a084833bbdfdb3a7a2c9ea3d09) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(RichTextEditor): always reset page leave when text changes. This fixes an issue introduced in v0.34.5. -- [#823](https://github.com/Frontify/brand-sdk/pull/823) [`a7a39ba`](https://github.com/Frontify/brand-sdk/commit/a7a39ba8d6de66bc56da497d043d73b860aa77b6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(RichTextEditor): Reset `hasEnteredViewport` state every time view mode is entered +- [#823](https://github.com/Frontify/brand-sdk/pull/823) [`a7a39ba`](https://github.com/Frontify/brand-sdk/commit/a7a39ba8d6de66bc56da497d043d73b860aa77b6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(RichTextEditor): Reset `hasEnteredViewport` state every time view mode is entered ## 0.34.5 ### Patch Changes -- [#817](https://github.com/Frontify/brand-sdk/pull/817) [`7307201`](https://github.com/Frontify/brand-sdk/commit/7307201f42889938c2a68664abebbc1da21ae9e4) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(RichTextEditor): using the new `useIsInViewport` hook the RichTextEditor will now only be initialized once the component enters the viewport. +- [#817](https://github.com/Frontify/brand-sdk/pull/817) [`7307201`](https://github.com/Frontify/brand-sdk/commit/7307201f42889938c2a68664abebbc1da21ae9e4) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(RichTextEditor): using the new `useIsInViewport` hook the RichTextEditor will now only be initialized once the component enters the viewport. ## 0.34.4 ### Patch Changes -- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 +- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 -- Updated dependencies [[`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f)]: - - @frontify/sidebar-settings@0.9.11 +- Updated dependencies [[`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f)]: + - @frontify/sidebar-settings@0.9.11 ## 0.34.3 ### Patch Changes -- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(RichTextEditor): replace outer-most modal element with `FloatingModalWrapper`. +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(RichTextEditor): replace outer-most modal element with `FloatingModalWrapper`. -- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 -- Updated dependencies [[`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1)]: - - @frontify/sidebar-settings@0.9.10 +- Updated dependencies [[`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1)]: + - @frontify/sidebar-settings@0.9.10 ## 0.34.2 ### Patch Changes -- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 +- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 -- [#801](https://github.com/Frontify/brand-sdk/pull/801) [`51d5537`](https://github.com/Frontify/brand-sdk/commit/51d55375a86547f1036c4c892da97f6cb64b1e88) Thanks [@SamCreasey](https://github.com/SamCreasey)! - perf(RichTextEditor): Stabilize props to avoid unneccessary rerenders. +- [#801](https://github.com/Frontify/brand-sdk/pull/801) [`51d5537`](https://github.com/Frontify/brand-sdk/commit/51d55375a86547f1036c4c892da97f6cb64b1e88) Thanks [@SamCreasey](https://github.com/SamCreasey)! - perf(RichTextEditor): Stabilize props to avoid unneccessary rerenders. -- Updated dependencies [[`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c)]: - - @frontify/sidebar-settings@0.9.9 +- Updated dependencies [[`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c)]: + - @frontify/sidebar-settings@0.9.9 ## 0.34.1 ### Patch Changes -- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue -- Updated dependencies [[`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce)]: - - @frontify/sidebar-settings@0.9.8 +- Updated dependencies [[`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce)]: + - @frontify/sidebar-settings@0.9.8 ## 0.34.0 ### Minor Changes -- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): update fondue which comes with plate v30 +- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): update fondue which comes with plate v30 - @udecode/plate libraries are no longer used as a direct dependency, instead all required parts are now imported from @frontify/fondue + @udecode/plate libraries are no longer used as a direct dependency, instead all required parts are now imported from @frontify/fondue ### Patch Changes -- Updated dependencies [[`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32)]: - - @frontify/sidebar-settings@0.9.7 +- Updated dependencies [[`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32)]: + - @frontify/sidebar-settings@0.9.7 ## 0.33.5 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages -- Updated dependencies [[`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d)]: - - @frontify/sidebar-settings@0.9.6 +- Updated dependencies [[`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d)]: + - @frontify/sidebar-settings@0.9.6 ## 0.33.4 ### Patch Changes -- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch +- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch -- Updated dependencies [[`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00)]: - - @frontify/sidebar-settings@0.9.5 +- Updated dependencies [[`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00)]: + - @frontify/sidebar-settings@0.9.5 ## 0.33.3 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM -- Updated dependencies [[`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7), [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a), [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7)]: - - @frontify/sidebar-settings@0.9.4 +- Updated dependencies [[`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7), [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a), [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7)]: + - @frontify/sidebar-settings@0.9.4 ## 0.33.2 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6)]: - - @frontify/sidebar-settings@0.9.3 +- Updated dependencies [[`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6)]: + - @frontify/sidebar-settings@0.9.3 ## 0.33.1 ### Patch Changes -- [#764](https://github.com/Frontify/brand-sdk/pull/764) [`ecd13ce`](https://github.com/Frontify/brand-sdk/commit/ecd13ced94615a5b9fd0d5d0ae5ff726930c556f) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(Toolbar): export `ToolbarFlyoutMenu` component and `ToolbarFlyoutMenuItem` type +- [#764](https://github.com/Frontify/brand-sdk/pull/764) [`ecd13ce`](https://github.com/Frontify/brand-sdk/commit/ecd13ced94615a5b9fd0d5d0ae5ff726930c556f) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(Toolbar): export `ToolbarFlyoutMenu` component and `ToolbarFlyoutMenuItem` type ## 0.33.0 ### Minor Changes -- [#756](https://github.com/Frontify/brand-sdk/pull/756) [`dc4b57d`](https://github.com/Frontify/brand-sdk/commit/dc4b57d698e037cac4d6eca75e45f2ef65e96b47) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(Toolbar): extend `items` to include `menu` and `flyout` type. Each `item` must now contain a `type` prop (`"dragHandle"`, `"button"`, `"flyout"`, `"menu"`). The `flyoutItems` prop has been removed as any item in the items array can now be a flyout. This change is also reflected in the `BlockItemWrapper`, where `toolbarFlyoutItems` has now been removed. - - Migration Example: - - ```jsx - , - draggableProps, - setActivatorNodeRef, - }, - { - icon: , - tooltip: "Delete Item", - onClick: onRemoveSelf, - }, - ]} - flyoutItems={[ - [ - { - title: "Delete", - icon: , - onClick, - }, - ], - ]} - /> - ``` - - The above component should now be written as: - - ```jsx - , - draggableProps, - setActivatorNodeRef, - }, - { - type: "button", - icon: , - tooltip: "Delete Item", - onClick: onRemoveSelf, - }, - { - type: "menu", - items: [ - { - title: "Delete", - icon: , - onClick, - }, - ], - flyoutId: "special-menu", - }, - ]} - /> - ``` - - Full "Flyout as a toolbar button" example: - - ```jsx - const FlyoutFooterWithCloseButton = ({ flyoutId }) => { - // The flyout footer can close the flyout by accessing the flyout context - const { onOpenChange } = useMultiFlyoutState(flyoutId); - - return ; - }; - - const ExampleToolbar = () => { - const [openFlyoutIds, setOpenFlyoutIds] = useState([]); +- [#756](https://github.com/Frontify/brand-sdk/pull/756) [`dc4b57d`](https://github.com/Frontify/brand-sdk/commit/dc4b57d698e037cac4d6eca75e45f2ef65e96b47) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(Toolbar): extend `items` to include `menu` and `flyout` type. Each `item` must now contain a `type` prop (`"dragHandle"`, `"button"`, `"flyout"`, `"menu"`). The `flyoutItems` prop has been removed as any item in the items array can now be a flyout. This change is also reflected in the `BlockItemWrapper`, where `toolbarFlyoutItems` has now been removed. - return ( - - , - tooltip: "Move To", - content:
Content
, - flyoutHeader:
Fixed Header
, - flyoutFooter: , - flyoutId: "move", + icon: , + draggableProps, + setActivatorNodeRef, }, - ]} - /> -
- ); - }; - ``` + { + icon: , + tooltip: 'Delete Item', + onClick: onRemoveSelf, + }, + ]} + flyoutItems={[ + [ + { + title: 'Delete', + icon: , + onClick, + }, + ], + ]} + /> + ``` -### Patch Changes + The above component should now be written as: -- Updated dependencies [[`7f57867`](https://github.com/Frontify/brand-sdk/commit/7f57867274c7ba21a0a1ab5ecc46852d559d968d)]: - - @frontify/sidebar-settings@0.9.2 + ```jsx + , + draggableProps, + setActivatorNodeRef, + }, + { + type: 'button', + icon: , + tooltip: 'Delete Item', + onClick: onRemoveSelf, + }, + { + type: 'menu', + items: [ + { + title: 'Delete', + icon: , + onClick, + }, + ], + flyoutId: 'special-menu', + }, + ]} + /> + ``` + + Full "Flyout as a toolbar button" example: + + ```jsx + const FlyoutFooterWithCloseButton = ({ flyoutId }) => { + // The flyout footer can close the flyout by accessing the flyout context + const { onOpenChange } = useMultiFlyoutState(flyoutId); + + return ; + }; + + const ExampleToolbar = () => { + const [openFlyoutIds, setOpenFlyoutIds] = useState([]); + + return ( + + , + tooltip: 'Move To', + content:
Content
, + flyoutHeader:
Fixed Header
, + flyoutFooter: , + flyoutId: 'move', + }, + ]} + /> +
+ ); + }; + ``` + +### Patch Changes + +- Updated dependencies [[`7f57867`](https://github.com/Frontify/brand-sdk/commit/7f57867274c7ba21a0a1ab5ecc46852d559d968d)]: + - @frontify/sidebar-settings@0.9.2 ## 0.32.2 ### Patch Changes -- [#749](https://github.com/Frontify/brand-sdk/pull/749) [`5393e3a`](https://github.com/Frontify/brand-sdk/commit/5393e3aed9822bb00521a22b1cc75a62fafb4a59) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - refactor (Toolbar): split Toolbar into smaller subcomponents. `ToolbarFlyoutState` type has been removed, as well as `flyoutMenu.isOpen`, `flyoutMenu.onOpenChange`, `attachments.isOpen`, `attachments.onOpenChange` props that could be passed to the `Toolbar` component. To control the state of open `Flyouts` the `Toolbar` must instead be wrapped in a `MultiFlyoutContextProvider`. +- [#749](https://github.com/Frontify/brand-sdk/pull/749) [`5393e3a`](https://github.com/Frontify/brand-sdk/commit/5393e3aed9822bb00521a22b1cc75a62fafb4a59) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - refactor (Toolbar): split Toolbar into smaller subcomponents. `ToolbarFlyoutState` type has been removed, as well as `flyoutMenu.isOpen`, `flyoutMenu.onOpenChange`, `attachments.isOpen`, `attachments.onOpenChange` props that could be passed to the `Toolbar` component. To control the state of open `Flyouts` the `Toolbar` must instead be wrapped in a `MultiFlyoutContextProvider`. - Migration Example: + Migration Example: - ```jsx - // Inside your component - const [flyoutIsOpen, setFlyoutIsOpen] = useState(false); - const [attachmentsIsOpen, setAttachmentsIsOpen] = useState(false); + ```jsx + // Inside your component + const [flyoutIsOpen, setFlyoutIsOpen] = useState(false); + const [attachmentsIsOpen, setAttachmentsIsOpen] = useState(false); - return ( - - ); - ``` + return ( + + ); + ``` - The above component should now be written as: + The above component should now be written as: - ```jsx - // Inside your component - const [openFlyoutIds, setOpenFlyoutIds] = useState([]); + ```jsx + // Inside your component + const [openFlyoutIds, setOpenFlyoutIds] = useState([]); - return( - - - ) - ``` + return( + + + ) + ``` -- [#757](https://github.com/Frontify/brand-sdk/pull/757) [`07f2dd3`](https://github.com/Frontify/brand-sdk/commit/07f2dd356663f678b8912c9bf669834c515f43f7) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Attachments): allow sorting +- [#757](https://github.com/Frontify/brand-sdk/pull/757) [`07f2dd3`](https://github.com/Frontify/brand-sdk/commit/07f2dd356663f678b8912c9bf669834c515f43f7) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Attachments): allow sorting -- [#744](https://github.com/Frontify/brand-sdk/pull/744) [`7aad48f`](https://github.com/Frontify/brand-sdk/commit/7aad48f022aab38577cf0233c108b4997587c939) Thanks [@ragi96](https://github.com/ragi96)! - feat: add support for the new color type of app-bridge v4 +- [#744](https://github.com/Frontify/brand-sdk/pull/744) [`7aad48f`](https://github.com/Frontify/brand-sdk/commit/7aad48f022aab38577cf0233c108b4997587c939) Thanks [@ragi96](https://github.com/ragi96)! - feat: add support for the new color type of app-bridge v4 ## 0.32.1 ### Patch Changes -- [#747](https://github.com/Frontify/brand-sdk/pull/747) [`447bf26`](https://github.com/Frontify/brand-sdk/commit/447bf26ad6816f354cc9de91f6451cf807458ffb) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `tailwindcss` to 3.4.1 +- [#747](https://github.com/Frontify/brand-sdk/pull/747) [`447bf26`](https://github.com/Frontify/brand-sdk/commit/447bf26ad6816f354cc9de91f6451cf807458ffb) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `tailwindcss` to 3.4.1 ## 0.32.0 ### Minor Changes -- [#736](https://github.com/Frontify/brand-sdk/pull/736) [`2f7f30f`](https://github.com/Frontify/brand-sdk/commit/2f7f30f902f3c8ed3bacf5fa378014e148bb20aa) Thanks [@ragi96](https://github.com/ragi96)! - refactor(LinkSelector): Removed `appBridge` prop in favor of directly passing document handling functions: `getAllDocuments`, `getDocumentPagesByDocumentId`, and `getDocumentSectionsByDocumentPageId` for clearer API and enhanced modularity - - Replace this: - - ```jsx - - ``` - - with: - - ```jsx - appBridge.getAllDocuments()} - getDocumentPagesByDocumentId={(documentId) => - appBridge.getDocumentPagesByDocumentId(documentId) - } - getDocumentSectionsByDocumentPageId={(documentPageId) => - appBridge.getDocumentSectionsByDocumentPageId(documentPageId) - } - /> - ``` +- [#736](https://github.com/Frontify/brand-sdk/pull/736) [`2f7f30f`](https://github.com/Frontify/brand-sdk/commit/2f7f30f902f3c8ed3bacf5fa378014e148bb20aa) Thanks [@ragi96](https://github.com/ragi96)! - refactor(LinkSelector): Removed `appBridge` prop in favor of directly passing document handling functions: `getAllDocuments`, `getDocumentPagesByDocumentId`, and `getDocumentSectionsByDocumentPageId` for clearer API and enhanced modularity + + Replace this: + + ```jsx + + ``` + + with: + + ```jsx + appBridge.getAllDocuments()} + getDocumentPagesByDocumentId={(documentId) => appBridge.getDocumentPagesByDocumentId(documentId)} + getDocumentSectionsByDocumentPageId={(documentPageId) => + appBridge.getDocumentSectionsByDocumentPageId(documentPageId) + } + /> + ``` ## 0.31.5 ### Patch Changes -- [#728](https://github.com/Frontify/brand-sdk/pull/728) [`9de8764`](https://github.com/Frontify/brand-sdk/commit/9de87643decdbff847c2e29b9aa895773c8321b3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: Add missing path for types in the export list +- [#728](https://github.com/Frontify/brand-sdk/pull/728) [`9de8764`](https://github.com/Frontify/brand-sdk/commit/9de87643decdbff847c2e29b9aa895773c8321b3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: Add missing path for types in the export list ## 0.31.4 ### Patch Changes -- [#722](https://github.com/Frontify/brand-sdk/pull/722) [`975f9c8`](https://github.com/Frontify/brand-sdk/commit/975f9c86409db9041ebcfa02ad8f684b4e5bc24c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: add "label" to customizable options for getBackgroundSettings +- [#722](https://github.com/Frontify/brand-sdk/pull/722) [`975f9c8`](https://github.com/Frontify/brand-sdk/commit/975f9c86409db9041ebcfa02ad8f684b4e5bc24c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: add "label" to customizable options for getBackgroundSettings ## 0.31.3 ### Patch Changes -- [#720](https://github.com/Frontify/brand-sdk/pull/720) [`7b8a520`](https://github.com/Frontify/brand-sdk/commit/7b8a5209df3b2116cf83838e6da2aae3f83fa33f) Thanks [@ragi96](https://github.com/ragi96)! - fix(Attachments): use the appropriate function for removing and adding asset +- [#720](https://github.com/Frontify/brand-sdk/pull/720) [`7b8a520`](https://github.com/Frontify/brand-sdk/commit/7b8a5209df3b2116cf83838e6da2aae3f83fa33f) Thanks [@ragi96](https://github.com/ragi96)! - fix(Attachments): use the appropriate function for removing and adding asset ## 0.31.2 ### Patch Changes -- Updated dependencies [[`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b)]: - - @frontify/app-bridge@3.1.0 +- Updated dependencies [[`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b)]: + - @frontify/app-bridge@3.1.0 ## 0.31.1 ### Patch Changes -- [#708](https://github.com/Frontify/brand-sdk/pull/708) [`e2a0023`](https://github.com/Frontify/brand-sdk/commit/e2a0023256001dcc64a597f6dcd9df66a1c9f186) Thanks [@ragi96](https://github.com/ragi96)! - feat: add support for @frontify/app-bridge 4.0.0-alpha.0 +- [#708](https://github.com/Frontify/brand-sdk/pull/708) [`e2a0023`](https://github.com/Frontify/brand-sdk/commit/e2a0023256001dcc64a597f6dcd9df66a1c9f186) Thanks [@ragi96](https://github.com/ragi96)! - feat: add support for @frontify/app-bridge 4.0.0-alpha.0 -- Updated dependencies [[`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0)]: - - @frontify/app-bridge@3.0.4 +- Updated dependencies [[`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0)]: + - @frontify/app-bridge@3.0.4 ## 0.31.0 ### Minor Changes -- [#698](https://github.com/Frontify/brand-sdk/pull/698) [`1003fea`](https://github.com/Frontify/brand-sdk/commit/1003feab2b08e4cc4db5629306e2f25cda8bae86) Thanks [@ragi96](https://github.com/ragi96)! - feat: move @frontify/app-bridge to peer dependencies +- [#698](https://github.com/Frontify/brand-sdk/pull/698) [`1003fea`](https://github.com/Frontify/brand-sdk/commit/1003feab2b08e4cc4db5629306e2f25cda8bae86) Thanks [@ragi96](https://github.com/ragi96)! - feat: move @frontify/app-bridge to peer dependencies ### Patch Changes -- [#697](https://github.com/Frontify/brand-sdk/pull/697) [`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bumps @frontify/fondue to 12.0.0-beta.396 +- [#697](https://github.com/Frontify/brand-sdk/pull/697) [`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bumps @frontify/fondue to 12.0.0-beta.396 -- Updated dependencies [[`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8)]: - - @frontify/sidebar-settings@0.9.1 +- Updated dependencies [[`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8)]: + - @frontify/sidebar-settings@0.9.1 ## 0.30.2 ### Patch Changes -- [#687](https://github.com/Frontify/brand-sdk/pull/687) [`b044981`](https://github.com/Frontify/brand-sdk/commit/b0449814d55554e82507e1341d0f42a35f17a5e5) Thanks [@ragi96](https://github.com/ragi96)! - chore(Attachments): replace deprecated functions with hooks +- [#687](https://github.com/Frontify/brand-sdk/pull/687) [`b044981`](https://github.com/Frontify/brand-sdk/commit/b0449814d55554e82507e1341d0f42a35f17a5e5) Thanks [@ragi96](https://github.com/ragi96)! - chore(Attachments): replace deprecated functions with hooks -- [#696](https://github.com/Frontify/brand-sdk/pull/696) [`edc00b0`](https://github.com/Frontify/brand-sdk/commit/edc00b0cb1b04753e1563231eb1e28f9e7d05670) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(Attachments): Add line-height class to `AttachmentsButtonTrigger`. +- [#696](https://github.com/Frontify/brand-sdk/pull/696) [`edc00b0`](https://github.com/Frontify/brand-sdk/commit/edc00b0cb1b04753e1563231eb1e28f9e7d05670) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(Attachments): Add line-height class to `AttachmentsButtonTrigger`. -- [#695](https://github.com/Frontify/brand-sdk/pull/695) [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump @frontify/fondue to v12.0.0-beta.395 +- [#695](https://github.com/Frontify/brand-sdk/pull/695) [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump @frontify/fondue to v12.0.0-beta.395 -- [#689](https://github.com/Frontify/brand-sdk/pull/689) [`6c34c1c`](https://github.com/Frontify/brand-sdk/commit/6c34c1c8e354f95bb873a70bceef0939198574c4) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Attachments): temporarily disable sorting +- [#689](https://github.com/Frontify/brand-sdk/pull/689) [`6c34c1c`](https://github.com/Frontify/brand-sdk/commit/6c34c1c8e354f95bb873a70bceef0939198574c4) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Attachments): temporarily disable sorting -- Updated dependencies [[`d79e69a`](https://github.com/Frontify/brand-sdk/commit/d79e69a1c6d8f901b7f91866a92fd0d99363f07d), [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec)]: - - @frontify/sidebar-settings@0.9.0 +- Updated dependencies [[`d79e69a`](https://github.com/Frontify/brand-sdk/commit/d79e69a1c6d8f901b7f91866a92fd0d99363f07d), [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec)]: + - @frontify/sidebar-settings@0.9.0 ## 0.30.1 ### Patch Changes -- [#691](https://github.com/Frontify/brand-sdk/pull/691) [`2a2f106`](https://github.com/Frontify/brand-sdk/commit/2a2f106c0f79c7d43dfddf3d0193fa9eeb7835a3) Thanks [@SamCreasey](https://github.com/SamCreasey)! - Toolbar components and types have been made available in build +- [#691](https://github.com/Frontify/brand-sdk/pull/691) [`2a2f106`](https://github.com/Frontify/brand-sdk/commit/2a2f106c0f79c7d43dfddf3d0193fa9eeb7835a3) Thanks [@SamCreasey](https://github.com/SamCreasey)! - Toolbar components and types have been made available in build -- [#692](https://github.com/Frontify/brand-sdk/pull/692) [`43866c2`](https://github.com/Frontify/brand-sdk/commit/43866c28fa470d5dbf4e61a7d42796904629fead) Thanks [@SamCreasey](https://github.com/SamCreasey)! - BlockItemToolbar: Force line-height to be 1 on toolbar items to prevent wrapping element height from being miscalculated. +- [#692](https://github.com/Frontify/brand-sdk/pull/692) [`43866c2`](https://github.com/Frontify/brand-sdk/commit/43866c28fa470d5dbf4e61a7d42796904629fead) Thanks [@SamCreasey](https://github.com/SamCreasey)! - BlockItemToolbar: Force line-height to be 1 on toolbar items to prevent wrapping element height from being miscalculated. -- Updated dependencies [[`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d)]: - - @frontify/app-bridge@3.0.2 - - @frontify/sidebar-settings@0.8.3 +- Updated dependencies [[`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d)]: + - @frontify/app-bridge@3.0.2 + - @frontify/sidebar-settings@0.8.3 ## 0.30.0 ### Minor Changes -- [#672](https://github.com/Frontify/brand-sdk/pull/672) [`22eb8eb`](https://github.com/Frontify/brand-sdk/commit/22eb8eb8dce8f2d4dccf040376b3368b2962a59b) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - Toolbar design updated - - Add Attachments to the Toolbar component. `isFlyoutOpen`, `setIsFlyoutOpen` and `flyoutItems` props have been removed from the Toolbar and replaced - with a `flyoutMenu` object (`{ items: FlyoutItem[]; isOpen: boolean; onOpenChange: (isOpen: boolean)=>void }`). - `isFlyoutDisabled` prop has been removed. - `attachments` prop has been added (`{ isEnabled: boolean; isOpen: boolean; onOpenChange: (isOpen: boolean)=>void }`). - To enable block attachments in the Toolbar from the `BlockWrapper` component, set `showAttachments` to `true` and wrap the block in the `withAttachmentsProvider` HOC or alternatively, wrap the `BlockWrapper` in an `AttachmentsProvider`. - - `onAddAttachments` has been replaced with `onAttachmentsAdd` in the object returned from `useAttachments` hook. +- [#672](https://github.com/Frontify/brand-sdk/pull/672) [`22eb8eb`](https://github.com/Frontify/brand-sdk/commit/22eb8eb8dce8f2d4dccf040376b3368b2962a59b) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - Toolbar design updated + - Add Attachments to the Toolbar component. `isFlyoutOpen`, `setIsFlyoutOpen` and `flyoutItems` props have been removed from the Toolbar and replaced + with a `flyoutMenu` object (`{ items: FlyoutItem[]; isOpen: boolean; onOpenChange: (isOpen: boolean)=>void }`). + `isFlyoutDisabled` prop has been removed. + `attachments` prop has been added (`{ isEnabled: boolean; isOpen: boolean; onOpenChange: (isOpen: boolean)=>void }`). + To enable block attachments in the Toolbar from the `BlockWrapper` component, set `showAttachments` to `true` and wrap the block in the `withAttachmentsProvider` HOC or alternatively, wrap the `BlockWrapper` in an `AttachmentsProvider`. + - `onAddAttachments` has been replaced with `onAttachmentsAdd` in the object returned from `useAttachments` hook. ### Patch Changes -- [#679](https://github.com/Frontify/brand-sdk/pull/679) [`61edea9`](https://github.com/Frontify/brand-sdk/commit/61edea939fc9c2c64badafb054a5c254c8cef580) Thanks [@ragi96](https://github.com/ragi96)! - feat(Attachments): replace download function to use the appBridge +- [#679](https://github.com/Frontify/brand-sdk/pull/679) [`61edea9`](https://github.com/Frontify/brand-sdk/commit/61edea939fc9c2c64badafb054a5c254c8cef580) Thanks [@ragi96](https://github.com/ragi96)! - feat(Attachments): replace download function to use the appBridge ## 0.29.17 ### Patch Changes -- Updated dependencies [[`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7)]: - - @frontify/app-bridge@3.0.1 - - @frontify/sidebar-settings@0.8.2 +- Updated dependencies [[`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7)]: + - @frontify/app-bridge@3.0.1 + - @frontify/sidebar-settings@0.8.2 ## 0.29.16 ### Patch Changes -- [#652](https://github.com/Frontify/brand-sdk/pull/652) [`eef2c98`](https://github.com/Frontify/brand-sdk/commit/eef2c982e12c50d6b5bd573c2ba73266a8a78ec8) Thanks [@mikeyrayvon](https://github.com/mikeyrayvon)! - feat: export type FlyoutToolbarItem +- [#652](https://github.com/Frontify/brand-sdk/pull/652) [`eef2c98`](https://github.com/Frontify/brand-sdk/commit/eef2c982e12c50d6b5bd573c2ba73266a8a78ec8) Thanks [@mikeyrayvon](https://github.com/mikeyrayvon)! - feat: export type FlyoutToolbarItem ## 0.29.15 ### Patch Changes -- [#636](https://github.com/Frontify/brand-sdk/pull/636) [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#636](https://github.com/Frontify/brand-sdk/pull/636) [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929), [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113)]: - - @frontify/app-bridge@3.0.0 - - @frontify/sidebar-settings@0.8.1 +- Updated dependencies [[`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929), [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113)]: + - @frontify/app-bridge@3.0.0 + - @frontify/sidebar-settings@0.8.1 ## 0.29.14 ### Patch Changes -- Updated dependencies [[`13ca57e`](https://github.com/Frontify/brand-sdk/commit/13ca57e7440e5d7175e54109b89eb8dc60eee4fd), [`d55bd9f`](https://github.com/Frontify/brand-sdk/commit/d55bd9f39fdfa6e5c45a80744c058a605d81c893)]: - - @frontify/sidebar-settings@0.8.0 +- Updated dependencies [[`13ca57e`](https://github.com/Frontify/brand-sdk/commit/13ca57e7440e5d7175e54109b89eb8dc60eee4fd), [`d55bd9f`](https://github.com/Frontify/brand-sdk/commit/d55bd9f39fdfa6e5c45a80744c058a605d81c893)]: + - @frontify/sidebar-settings@0.8.0 ## 0.29.13 ### Patch Changes -- Updated dependencies [[`dfe83ee`](https://github.com/Frontify/brand-sdk/commit/dfe83ee7417d3916d9bc52b96e600deb130bf147), [`8920ec9`](https://github.com/Frontify/brand-sdk/commit/8920ec993401caf94813974c7fad476c3decc2c6)]: - - @frontify/sidebar-settings@0.7.0 +- Updated dependencies [[`dfe83ee`](https://github.com/Frontify/brand-sdk/commit/dfe83ee7417d3916d9bc52b96e600deb130bf147), [`8920ec9`](https://github.com/Frontify/brand-sdk/commit/8920ec993401caf94813974c7fad476c3decc2c6)]: + - @frontify/sidebar-settings@0.7.0 ## 0.29.12 ### Patch Changes -- [#628](https://github.com/Frontify/brand-sdk/pull/628) [`44efda9`](https://github.com/Frontify/brand-sdk/commit/44efda90fd454298ea623c7f41b370f81ad1a203) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(BlockItemWRapper): fix toolbar focus style +- [#628](https://github.com/Frontify/brand-sdk/pull/628) [`44efda9`](https://github.com/Frontify/brand-sdk/commit/44efda90fd454298ea623c7f41b370f81ad1a203) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(BlockItemWRapper): fix toolbar focus style ## 0.29.11 ### Patch Changes -- [#622](https://github.com/Frontify/brand-sdk/pull/622) [`34aa320`](https://github.com/Frontify/brand-sdk/commit/34aa32063c306826d35a6b973c3e5f6931dabc76) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(BlockItemWrapper): add focus visible style to drag btn +- [#622](https://github.com/Frontify/brand-sdk/pull/622) [`34aa320`](https://github.com/Frontify/brand-sdk/commit/34aa32063c306826d35a6b973c3e5f6931dabc76) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(BlockItemWrapper): add focus visible style to drag btn ## 0.29.10 ### Patch Changes -- [#591](https://github.com/Frontify/brand-sdk/pull/591) [`076ee92`](https://github.com/Frontify/brand-sdk/commit/076ee92016edadc2c775072db7c9df40c6968032) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.341 +- [#591](https://github.com/Frontify/brand-sdk/pull/591) [`076ee92`](https://github.com/Frontify/brand-sdk/commit/076ee92016edadc2c775072db7c9df40c6968032) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.341 -- Updated dependencies [[`076ee92`](https://github.com/Frontify/brand-sdk/commit/076ee92016edadc2c775072db7c9df40c6968032)]: - - @frontify/sidebar-settings@0.6.13 +- Updated dependencies [[`076ee92`](https://github.com/Frontify/brand-sdk/commit/076ee92016edadc2c775072db7c9df40c6968032)]: + - @frontify/sidebar-settings@0.6.13 ## 0.29.9 ### Patch Changes -- [#583](https://github.com/Frontify/brand-sdk/pull/583) [`aed99a3`](https://github.com/Frontify/brand-sdk/commit/aed99a3a62e58c7b9436f8f031c64ac024566c2c) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.337 +- [#583](https://github.com/Frontify/brand-sdk/pull/583) [`aed99a3`](https://github.com/Frontify/brand-sdk/commit/aed99a3a62e58c7b9436f8f031c64ac024566c2c) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.337 -- Updated dependencies [[`aed99a3`](https://github.com/Frontify/brand-sdk/commit/aed99a3a62e58c7b9436f8f031c64ac024566c2c)]: - - @frontify/sidebar-settings@0.6.12 +- Updated dependencies [[`aed99a3`](https://github.com/Frontify/brand-sdk/commit/aed99a3a62e58c7b9436f8f031c64ac024566c2c)]: + - @frontify/sidebar-settings@0.6.12 ## 0.29.8 ### Patch Changes -- [#577](https://github.com/Frontify/brand-sdk/pull/577) [`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94) Thanks [@ragi96](https://github.com/ragi96)! - feat: add autoFormatPlugin to defaultPluginsWithLinkChooser +- [#577](https://github.com/Frontify/brand-sdk/pull/577) [`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94) Thanks [@ragi96](https://github.com/ragi96)! - feat: add autoFormatPlugin to defaultPluginsWithLinkChooser -- [#570](https://github.com/Frontify/brand-sdk/pull/570) [`9b2e5f3`](https://github.com/Frontify/brand-sdk/commit/9b2e5f3853832dfa3cf0ec9fe0ec2ad1c5927d23) Thanks [@ragi96](https://github.com/ragi96)! - fix(RTE): list style inconsistent between view and edit mode +- [#570](https://github.com/Frontify/brand-sdk/pull/570) [`9b2e5f3`](https://github.com/Frontify/brand-sdk/commit/9b2e5f3853832dfa3cf0ec9fe0ec2ad1c5927d23) Thanks [@ragi96](https://github.com/ragi96)! - fix(RTE): list style inconsistent between view and edit mode -- [#577](https://github.com/Frontify/brand-sdk/pull/577) [`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.334 +- [#577](https://github.com/Frontify/brand-sdk/pull/577) [`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.334 -- [#574](https://github.com/Frontify/brand-sdk/pull/574) [`a025aee`](https://github.com/Frontify/brand-sdk/commit/a025aeecfd3647a7bd75d139d9309310092d5b54) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(LinkSelector): initial click triggered twice +- [#574](https://github.com/Frontify/brand-sdk/pull/574) [`a025aee`](https://github.com/Frontify/brand-sdk/commit/a025aeecfd3647a7bd75d139d9309310092d5b54) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(LinkSelector): initial click triggered twice -- Updated dependencies [[`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94)]: - - @frontify/sidebar-settings@0.6.11 +- Updated dependencies [[`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94)]: + - @frontify/sidebar-settings@0.6.11 ## 0.29.7 ### Patch Changes -- [#566](https://github.com/Frontify/brand-sdk/pull/566) [`ece6876`](https://github.com/Frontify/brand-sdk/commit/ece68765bcd1675cf32f9fd20b77c8dd5e665ee1) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.324 +- [#566](https://github.com/Frontify/brand-sdk/pull/566) [`ece6876`](https://github.com/Frontify/brand-sdk/commit/ece68765bcd1675cf32f9fd20b77c8dd5e665ee1) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.324 -- Updated dependencies [[`ece6876`](https://github.com/Frontify/brand-sdk/commit/ece68765bcd1675cf32f9fd20b77c8dd5e665ee1)]: - - @frontify/sidebar-settings@0.6.10 +- Updated dependencies [[`ece6876`](https://github.com/Frontify/brand-sdk/commit/ece68765bcd1675cf32f9fd20b77c8dd5e665ee1)]: + - @frontify/sidebar-settings@0.6.10 ## 0.29.6 ### Patch Changes -- [#560](https://github.com/Frontify/brand-sdk/pull/560) [`7460f29`](https://github.com/Frontify/brand-sdk/commit/7460f298fa346f89da7de2a0465c12c077e22f05) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.319 +- [#560](https://github.com/Frontify/brand-sdk/pull/560) [`7460f29`](https://github.com/Frontify/brand-sdk/commit/7460f298fa346f89da7de2a0465c12c077e22f05) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.319 -- [#559](https://github.com/Frontify/brand-sdk/pull/559) [`0a75910`](https://github.com/Frontify/brand-sdk/commit/0a75910955da33d6866af1f42e82280f64118701) Thanks [@ragi96](https://github.com/ragi96)! - fix: button plugin add margins to button +- [#559](https://github.com/Frontify/brand-sdk/pull/559) [`0a75910`](https://github.com/Frontify/brand-sdk/commit/0a75910955da33d6866af1f42e82280f64118701) Thanks [@ragi96](https://github.com/ragi96)! - fix: button plugin add margins to button -- [#564](https://github.com/Frontify/brand-sdk/pull/564) [`3684397`](https://github.com/Frontify/brand-sdk/commit/368439792d855bbc5117f97931b7d52f75295677) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.321 +- [#564](https://github.com/Frontify/brand-sdk/pull/564) [`3684397`](https://github.com/Frontify/brand-sdk/commit/368439792d855bbc5117f97931b7d52f75295677) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.321 -- [#563](https://github.com/Frontify/brand-sdk/pull/563) [`c3b2f6c`](https://github.com/Frontify/brand-sdk/commit/c3b2f6cb86844a10cc7ff2d4ef8802945d5d1e5b) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): edit modal styles can be invisible +- [#563](https://github.com/Frontify/brand-sdk/pull/563) [`c3b2f6c`](https://github.com/Frontify/brand-sdk/commit/c3b2f6cb86844a10cc7ff2d4ef8802945d5d1e5b) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): edit modal styles can be invisible -- Updated dependencies [[`7460f29`](https://github.com/Frontify/brand-sdk/commit/7460f298fa346f89da7de2a0465c12c077e22f05), [`3684397`](https://github.com/Frontify/brand-sdk/commit/368439792d855bbc5117f97931b7d52f75295677)]: - - @frontify/sidebar-settings@0.6.9 +- Updated dependencies [[`7460f29`](https://github.com/Frontify/brand-sdk/commit/7460f298fa346f89da7de2a0465c12c077e22f05), [`3684397`](https://github.com/Frontify/brand-sdk/commit/368439792d855bbc5117f97931b7d52f75295677)]: + - @frontify/sidebar-settings@0.6.9 ## 0.29.5 ### Patch Changes -- [#548](https://github.com/Frontify/brand-sdk/pull/548) [`792804d`](https://github.com/Frontify/brand-sdk/commit/792804d17bca975a598ff9f919ee70cb1a09e720) Thanks [@ragi96](https://github.com/ragi96)! - fix: blockItemWrapper Toolbar z-index +- [#548](https://github.com/Frontify/brand-sdk/pull/548) [`792804d`](https://github.com/Frontify/brand-sdk/commit/792804d17bca975a598ff9f919ee70cb1a09e720) Thanks [@ragi96](https://github.com/ragi96)! - fix: blockItemWrapper Toolbar z-index ## 0.29.4 ### Patch Changes -- [#546](https://github.com/Frontify/brand-sdk/pull/546) [`69d862e`](https://github.com/Frontify/brand-sdk/commit/69d862e966954d521bdd856280c76f6a40483be8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump app-bridge +- [#546](https://github.com/Frontify/brand-sdk/pull/546) [`69d862e`](https://github.com/Frontify/brand-sdk/commit/69d862e966954d521bdd856280c76f6a40483be8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump app-bridge -- [`6c5d4f6`](https://github.com/Frontify/brand-sdk/commit/6c5d4f63ef8c5995790aa444dc29469b095d63ba) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change App Bridge dependency selector +- [`6c5d4f6`](https://github.com/Frontify/brand-sdk/commit/6c5d4f63ef8c5995790aa444dc29469b095d63ba) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change App Bridge dependency selector -- Updated dependencies [[`69d862e`](https://github.com/Frontify/brand-sdk/commit/69d862e966954d521bdd856280c76f6a40483be8), [`6c5d4f6`](https://github.com/Frontify/brand-sdk/commit/6c5d4f63ef8c5995790aa444dc29469b095d63ba)]: - - @frontify/sidebar-settings@0.6.8 +- Updated dependencies [[`69d862e`](https://github.com/Frontify/brand-sdk/commit/69d862e966954d521bdd856280c76f6a40483be8), [`6c5d4f6`](https://github.com/Frontify/brand-sdk/commit/6c5d4f63ef8c5995790aa444dc29469b095d63ba)]: + - @frontify/sidebar-settings@0.6.8 ## 0.29.3 ### Patch Changes -- [#545](https://github.com/Frontify/brand-sdk/pull/545) [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): default target is \_blank instead of \_self +- [#545](https://github.com/Frontify/brand-sdk/pull/545) [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): default target is \_blank instead of \_self -- [#543](https://github.com/Frontify/brand-sdk/pull/543) [`29c8128`](https://github.com/Frontify/brand-sdk/commit/29c8128c113ce2163a22274e5440c8df05025777) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.315 +- [#543](https://github.com/Frontify/brand-sdk/pull/543) [`29c8128`](https://github.com/Frontify/brand-sdk/commit/29c8128c113ce2163a22274e5440c8df05025777) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.315 -- [#545](https://github.com/Frontify/brand-sdk/pull/545) [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#545](https://github.com/Frontify/brand-sdk/pull/545) [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue -- Updated dependencies [[`29c8128`](https://github.com/Frontify/brand-sdk/commit/29c8128c113ce2163a22274e5440c8df05025777), [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be)]: - - @frontify/sidebar-settings@0.6.7 +- Updated dependencies [[`29c8128`](https://github.com/Frontify/brand-sdk/commit/29c8128c113ce2163a22274e5440c8df05025777), [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be)]: + - @frontify/sidebar-settings@0.6.7 ## 0.29.2 ### Patch Changes -- [#540](https://github.com/Frontify/brand-sdk/pull/540) [`98f876a`](https://github.com/Frontify/brand-sdk/commit/98f876a05cec68c51e9a6986b38bde3cf08597e7) Thanks [@ragi96](https://github.com/ragi96)! - fix: improving the toolbar style +- [#540](https://github.com/Frontify/brand-sdk/pull/540) [`98f876a`](https://github.com/Frontify/brand-sdk/commit/98f876a05cec68c51e9a6986b38bde3cf08597e7) Thanks [@ragi96](https://github.com/ragi96)! - fix: improving the toolbar style -- [#542](https://github.com/Frontify/brand-sdk/pull/542) [`eea4b74`](https://github.com/Frontify/brand-sdk/commit/eea4b746ccd69e2a96251b7d0e909237c20ca0ae) Thanks [@ragi96](https://github.com/ragi96)! - fix: BlockItemWrapper type issue +- [#542](https://github.com/Frontify/brand-sdk/pull/542) [`eea4b74`](https://github.com/Frontify/brand-sdk/commit/eea4b746ccd69e2a96251b7d0e909237c20ca0ae) Thanks [@ragi96](https://github.com/ragi96)! - fix: BlockItemWrapper type issue -- [#539](https://github.com/Frontify/brand-sdk/pull/539) [`5e94f00`](https://github.com/Frontify/brand-sdk/commit/5e94f00401dbe7451e2b90c157e89f808bd2fa06) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): link edit looks for button instead of a tags +- [#539](https://github.com/Frontify/brand-sdk/pull/539) [`5e94f00`](https://github.com/Frontify/brand-sdk/commit/5e94f00401dbe7451e2b90c157e89f808bd2fa06) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(RTE): link edit looks for button instead of a tags ## 0.29.1 ### Patch Changes -- [`2df4a2e`](https://github.com/Frontify/brand-sdk/commit/2df4a2ef0830c7d4a72a5b77e86d0645e33ad757) Thanks [@ragi96](https://github.com/ragi96)! - fix: export TextStyles enum correctly +- [`2df4a2e`](https://github.com/Frontify/brand-sdk/commit/2df4a2ef0830c7d4a72a5b77e86d0645e33ad757) Thanks [@ragi96](https://github.com/ragi96)! - fix: export TextStyles enum correctly -- [`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`9199d24`](https://github.com/Frontify/brand-sdk/commit/9199d24dd1221640687d6d157897eedc40ed3d43) Thanks [@ragi96](https://github.com/ragi96)! - fix: BlockItemWrapper typing issue +- [`9199d24`](https://github.com/Frontify/brand-sdk/commit/9199d24dd1221640687d6d157897eedc40ed3d43) Thanks [@ragi96](https://github.com/ragi96)! - fix: BlockItemWrapper typing issue -- Updated dependencies [[`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8)]: - - @frontify/sidebar-settings@0.6.6 +- Updated dependencies [[`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8)]: + - @frontify/sidebar-settings@0.6.6 ## 0.29.0 ### Minor Changes -- [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - refactor: use Fondue serializer instead of internal version +- [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - refactor: use Fondue serializer instead of internal version ### Patch Changes -- [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - Update dependencies +- [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - Update dependencies -- Updated dependencies [[`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752)]: - - @frontify/sidebar-settings@0.6.5 +- Updated dependencies [[`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752)]: + - @frontify/sidebar-settings@0.6.5 ## 0.28.6 ### Patch Changes -- [#522](https://github.com/Frontify/brand-sdk/pull/522) [`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.309 +- [#522](https://github.com/Frontify/brand-sdk/pull/522) [`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.309 -- [#524](https://github.com/Frontify/brand-sdk/pull/524) [`c0b8cff`](https://github.com/Frontify/brand-sdk/commit/c0b8cff9b69f4cc5f83ebd150d3640fe50da501d) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(types): extend app bridge type +- [#524](https://github.com/Frontify/brand-sdk/pull/524) [`c0b8cff`](https://github.com/Frontify/brand-sdk/commit/c0b8cff9b69f4cc5f83ebd150d3640fe50da501d) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(types): extend app bridge type -- Updated dependencies [[`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b)]: - - @frontify/sidebar-settings@0.6.4 +- Updated dependencies [[`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b)]: + - @frontify/sidebar-settings@0.6.4 ## 0.28.5 ### Patch Changes -- [#502](https://github.com/Frontify/brand-sdk/pull/502) [`d1a60e9`](https://github.com/Frontify/brand-sdk/commit/d1a60e9fabb2920d3fc716e18f58d8de1527ab26) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): add link selector +- [#502](https://github.com/Frontify/brand-sdk/pull/502) [`d1a60e9`](https://github.com/Frontify/brand-sdk/commit/d1a60e9fabb2920d3fc716e18f58d8de1527ab26) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): add link selector -- Updated dependencies [[`d1a60e9`](https://github.com/Frontify/brand-sdk/commit/d1a60e9fabb2920d3fc716e18f58d8de1527ab26)]: - - @frontify/sidebar-settings@0.6.3 +- Updated dependencies [[`d1a60e9`](https://github.com/Frontify/brand-sdk/commit/d1a60e9fabb2920d3fc716e18f58d8de1527ab26)]: + - @frontify/sidebar-settings@0.6.3 ## 0.28.4 ### Patch Changes -- [#503](https://github.com/Frontify/brand-sdk/pull/503) [`c56e7e9`](https://github.com/Frontify/brand-sdk/commit/c56e7e9112e04ae0e9ae35e4b7a98c11665045f2) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(RTE): add dir to serializer +- [#503](https://github.com/Frontify/brand-sdk/pull/503) [`c56e7e9`](https://github.com/Frontify/brand-sdk/commit/c56e7e9112e04ae0e9ae35e4b7a98c11665045f2) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(RTE): add dir to serializer -- [`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e)]: - - @frontify/sidebar-settings@0.6.2 +- Updated dependencies [[`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e)]: + - @frontify/sidebar-settings@0.6.2 ## 0.28.3 ### Patch Changes -- [`07624cb`](https://github.com/Frontify/brand-sdk/commit/07624cb8fba8d9ede4e5ea5db43780658f69f0ba) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix react being bundled into the package +- [`07624cb`](https://github.com/Frontify/brand-sdk/commit/07624cb8fba8d9ede4e5ea5db43780658f69f0ba) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix react being bundled into the package ## 0.28.2 ### Patch Changes -- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix issues with styles export +- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix issues with styles export -- Updated dependencies [[`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3)]: - - @frontify/sidebar-settings@0.6.1 +- Updated dependencies [[`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3)]: + - @frontify/sidebar-settings@0.6.1 ## 0.28.1 ### Patch Changes -- [`382f7fb`](https://github.com/Frontify/brand-sdk/commit/382f7fbde444170f8f7b90d2ab655edbfd260692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix build +- [`382f7fb`](https://github.com/Frontify/brand-sdk/commit/382f7fbde444170f8f7b90d2ab655edbfd260692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix build ## 0.28.0 ### Minor Changes -- [#453](https://github.com/Frontify/brand-sdk/pull/453) [`0807349`](https://github.com/Frontify/brand-sdk/commit/0807349856fe972953493c253ac8e4ce352d3ede) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - Added components, helpers and utilities to simplify Blocks development +- [#453](https://github.com/Frontify/brand-sdk/pull/453) [`0807349`](https://github.com/Frontify/brand-sdk/commit/0807349856fe972953493c253ac8e4ce352d3ede) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - Added components, helpers and utilities to simplify Blocks development -- [#466](https://github.com/Frontify/brand-sdk/pull/466) [`9f81a23`](https://github.com/Frontify/brand-sdk/commit/9f81a2363cd3c842d0ac5c014e0b07c46a3a1cca) Thanks [@triggertoo](https://github.com/triggertoo)! - Remove downloadAsset helper since it's unrelated to the settings +- [#466](https://github.com/Frontify/brand-sdk/pull/466) [`9f81a23`](https://github.com/Frontify/brand-sdk/commit/9f81a2363cd3c842d0ac5c014e0b07c46a3a1cca) Thanks [@triggertoo](https://github.com/triggertoo)! - Remove downloadAsset helper since it's unrelated to the settings ### Patch Changes -- [#482](https://github.com/Frontify/brand-sdk/pull/482) [`6b18a74`](https://github.com/Frontify/brand-sdk/commit/6b18a74794612f61bd2e34ea8fdd4572ebb5274e) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): update shared folder with latest changes +- [#482](https://github.com/Frontify/brand-sdk/pull/482) [`6b18a74`](https://github.com/Frontify/brand-sdk/commit/6b18a74794612f61bd2e34ea8fdd4572ebb5274e) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): update shared folder with latest changes -- Updated dependencies [[`4105251`](https://github.com/Frontify/brand-sdk/commit/4105251969f8ae639014a013a2cbc88df8e4935d), [`af49f65`](https://github.com/Frontify/brand-sdk/commit/af49f6572592522a550f970c98e3d8fd2d377cc3)]: - - @frontify/sidebar-settings@0.6.0 +- Updated dependencies [[`4105251`](https://github.com/Frontify/brand-sdk/commit/4105251969f8ae639014a013a2cbc88df8e4935d), [`af49f65`](https://github.com/Frontify/brand-sdk/commit/af49f6572592522a550f970c98e3d8fd2d377cc3)]: + - @frontify/sidebar-settings@0.6.0 ## 0.27.0 ### Minor Changes -- [#447](https://github.com/Frontify/brand-sdk/pull/447) [`86d8e33`](https://github.com/Frontify/brand-sdk/commit/86d8e333896642ca076aab4aeec3620f2d6d20b3) Thanks [@julianiff](https://github.com/julianiff)! - Allow function return (sync or async) for `defineSettings` +- [#447](https://github.com/Frontify/brand-sdk/pull/447) [`86d8e33`](https://github.com/Frontify/brand-sdk/commit/86d8e333896642ca076aab4aeec3620f2d6d20b3) Thanks [@julianiff](https://github.com/julianiff)! - Allow function return (sync or async) for `defineSettings` ### Patch Changes -- Updated dependencies [[`3eabb89`](https://github.com/Frontify/brand-sdk/commit/3eabb8959c2b68be50ab1bcef3996100ed877864), [`33e0a8f`](https://github.com/Frontify/brand-sdk/commit/33e0a8f49de433aca8cc06bafed6e5515b755dd2)]: - - @frontify/sidebar-settings@0.5.0 +- Updated dependencies [[`3eabb89`](https://github.com/Frontify/brand-sdk/commit/3eabb8959c2b68be50ab1bcef3996100ed877864), [`33e0a8f`](https://github.com/Frontify/brand-sdk/commit/33e0a8f49de433aca8cc06bafed6e5515b755dd2)]: + - @frontify/sidebar-settings@0.5.0 ## 0.26.8 ### Patch Changes -- [#426](https://github.com/Frontify/brand-sdk/pull/426) [`7729287`](https://github.com/Frontify/brand-sdk/commit/77292877e2bce6207196b5a8373711db94ab1716) Thanks [@triggertoo](https://github.com/triggertoo)! - Update @frontify/sidebar-settings to get react 18 support +- [#426](https://github.com/Frontify/brand-sdk/pull/426) [`7729287`](https://github.com/Frontify/brand-sdk/commit/77292877e2bce6207196b5a8373711db94ab1716) Thanks [@triggertoo](https://github.com/triggertoo)! - Update @frontify/sidebar-settings to get react 18 support -- Updated dependencies [[`b78b376`](https://github.com/Frontify/brand-sdk/commit/b78b3764d1c01e1c0cc81542fdea2d813bb62e33)]: - - @frontify/sidebar-settings@0.4.0 +- Updated dependencies [[`b78b376`](https://github.com/Frontify/brand-sdk/commit/b78b3764d1c01e1c0cc81542fdea2d813bb62e33)]: + - @frontify/sidebar-settings@0.4.0 ## 0.26.7 ### Patch Changes -- [#419](https://github.com/Frontify/brand-sdk/pull/419) [`ada3b73`](https://github.com/Frontify/brand-sdk/commit/ada3b73d4af947649b6135b26b8e5a1c26f79aad) Thanks [@triggertoo](https://github.com/triggertoo)! - Update @frontify/sidebar-settings to the latest version +- [#419](https://github.com/Frontify/brand-sdk/pull/419) [`ada3b73`](https://github.com/Frontify/brand-sdk/commit/ada3b73d4af947649b6135b26b8e5a1c26f79aad) Thanks [@triggertoo](https://github.com/triggertoo)! - Update @frontify/sidebar-settings to the latest version ## 0.26.6 ### Patch Changes -- [`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge +- [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge -- Updated dependencies [[`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76), [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d)]: - - @frontify/sidebar-settings@0.3.3 +- Updated dependencies [[`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76), [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d)]: + - @frontify/sidebar-settings@0.3.3 ## 0.26.5 ### Patch Changes -- [`f11eaef`](https://github.com/Frontify/brand-sdk/commit/f11eaef8b3a602562994460059e2c30ea307cda1) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix version of fondue dependency +- [`f11eaef`](https://github.com/Frontify/brand-sdk/commit/f11eaef8b3a602562994460059e2c30ea307cda1) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix version of fondue dependency -- Updated dependencies [[`f11eaef`](https://github.com/Frontify/brand-sdk/commit/f11eaef8b3a602562994460059e2c30ea307cda1)]: - - @frontify/sidebar-settings@0.3.2 +- Updated dependencies [[`f11eaef`](https://github.com/Frontify/brand-sdk/commit/f11eaef8b3a602562994460059e2c30ea307cda1)]: + - @frontify/sidebar-settings@0.3.2 ## 0.26.4 ### Patch Changes -- [`3835898`](https://github.com/Frontify/brand-sdk/commit/38358988674acc7cad728357b146558ebba3964a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix Fondue dependency version issue +- [`3835898`](https://github.com/Frontify/brand-sdk/commit/38358988674acc7cad728357b146558ebba3964a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix Fondue dependency version issue -- Updated dependencies [[`3835898`](https://github.com/Frontify/brand-sdk/commit/38358988674acc7cad728357b146558ebba3964a)]: - - @frontify/sidebar-settings@0.3.1 +- Updated dependencies [[`3835898`](https://github.com/Frontify/brand-sdk/commit/38358988674acc7cad728357b146558ebba3964a)]: + - @frontify/sidebar-settings@0.3.1 ## 0.26.3 ### Patch Changes -- [`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps +- [`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps -- [#396](https://github.com/Frontify/brand-sdk/pull/396) [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Unpin dev dependencies +- [#396](https://github.com/Frontify/brand-sdk/pull/396) [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Unpin dev dependencies -- Updated dependencies [[`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41), [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b), [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b)]: - - @frontify/sidebar-settings@0.3.0 +- Updated dependencies [[`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41), [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b), [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b)]: + - @frontify/sidebar-settings@0.3.0 ## 0.26.2 ### Patch Changes -- Updated dependencies [[`366ca28`](https://github.com/Frontify/brand-sdk/commit/366ca280e754cf875d91026ee0a3cf8e767b05ab)]: - - @frontify/sidebar-settings@0.2.0 +- Updated dependencies [[`366ca28`](https://github.com/Frontify/brand-sdk/commit/366ca280e754cf875d91026ee0a3cf8e767b05ab)]: + - @frontify/sidebar-settings@0.2.0 ## 0.26.1 ### Patch Changes -- [`0ed6221`](https://github.com/Frontify/brand-sdk/commit/0ed62215b22410d12b028eed0cc5c74c0f8453b2) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix issue with version of sidebar-settings +- [`0ed6221`](https://github.com/Frontify/brand-sdk/commit/0ed62215b22410d12b028eed0cc5c74c0f8453b2) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix issue with version of sidebar-settings ## 0.26.0 ### Minor Changes -- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Renamed `slider` to `segmentedControls` +- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Renamed `slider` to `segmentedControls` -- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Inline enums to union types to have less Fondue breakage +- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Inline enums to union types to have less Fondue breakage ### Patch Changes -- [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557), [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557), [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450)]: - - @frontify/sidebar-settings@0.1.0 +- Updated dependencies [[`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557), [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557), [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450)]: + - @frontify/sidebar-settings@0.1.0 ## 0.25.12 ### Patch Changes -- [`d89d0e0`](https://github.com/Frontify/brand-sdk/commit/d89d0e06be900fd6bba897d05ad8427e5d44f1f0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Allow beta versions of Fondue +- [`d89d0e0`](https://github.com/Frontify/brand-sdk/commit/d89d0e06be900fd6bba897d05ad8427e5d44f1f0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Allow beta versions of Fondue -- Updated dependencies [[`d89d0e0`](https://github.com/Frontify/brand-sdk/commit/d89d0e06be900fd6bba897d05ad8427e5d44f1f0)]: - - @frontify/sidebar-settings@0.0.16 +- Updated dependencies [[`d89d0e0`](https://github.com/Frontify/brand-sdk/commit/d89d0e06be900fd6bba897d05ad8427e5d44f1f0)]: + - @frontify/sidebar-settings@0.0.16 ## 0.25.11 ### Patch Changes -- [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`2f58027`](https://github.com/Frontify/brand-sdk/commit/2f580271ca0540729539da3dfe66286ee3f50eda), [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59)]: - - @frontify/sidebar-settings@0.0.14 +- Updated dependencies [[`2f58027`](https://github.com/Frontify/brand-sdk/commit/2f580271ca0540729539da3dfe66286ee3f50eda), [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59)]: + - @frontify/sidebar-settings@0.0.14 ## 0.25.10 ### Patch Changes -- [`5fb81d6`](https://github.com/Frontify/brand-sdk/commit/5fb81d6a3f8e0bd7083b2a2c1cc95b7a2d98e395) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`5fb81d6`](https://github.com/Frontify/brand-sdk/commit/5fb81d6a3f8e0bd7083b2a2c1cc95b7a2d98e395) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#329](https://github.com/Frontify/brand-sdk/pull/329) [`d2ecd25`](https://github.com/Frontify/brand-sdk/commit/d2ecd2592d129d40de72d4793c8848f2f291f896) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add font input setting +- [#329](https://github.com/Frontify/brand-sdk/pull/329) [`d2ecd25`](https://github.com/Frontify/brand-sdk/commit/d2ecd2592d129d40de72d4793c8848f2f291f896) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add font input setting -- [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`5fb81d6`](https://github.com/Frontify/brand-sdk/commit/5fb81d6a3f8e0bd7083b2a2c1cc95b7a2d98e395), [`d2ecd25`](https://github.com/Frontify/brand-sdk/commit/d2ecd2592d129d40de72d4793c8848f2f291f896), [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692)]: - - @frontify/sidebar-settings@0.0.13 +- Updated dependencies [[`5fb81d6`](https://github.com/Frontify/brand-sdk/commit/5fb81d6a3f8e0bd7083b2a2c1cc95b7a2d98e395), [`d2ecd25`](https://github.com/Frontify/brand-sdk/commit/d2ecd2592d129d40de72d4793c8848f2f291f896), [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692)]: + - @frontify/sidebar-settings@0.0.13 ## 0.25.9 ### Patch Changes -- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add clearable to color input and dropdown +- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add clearable to color input and dropdown -- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f), [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f)]: - - @frontify/sidebar-settings@0.0.12 +- Updated dependencies [[`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f), [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f)]: + - @frontify/sidebar-settings@0.0.12 ## 0.25.8 ### Patch Changes -- Updated dependencies [[`fa95406`](https://github.com/Frontify/brand-sdk/commit/fa9540631337193ffa0225a58f7b7b46b4f48e2a)]: - - @frontify/sidebar-settings@0.0.11 +- Updated dependencies [[`fa95406`](https://github.com/Frontify/brand-sdk/commit/fa9540631337193ffa0225a58f7b7b46b4f48e2a)]: + - @frontify/sidebar-settings@0.0.11 ## 0.25.7 ### Patch Changes -- [#299](https://github.com/Frontify/brand-sdk/pull/299) [`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update to Vite 4 and TS 4.9 +- [#299](https://github.com/Frontify/brand-sdk/pull/299) [`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update to Vite 4 and TS 4.9 -- [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`3afb60d`](https://github.com/Frontify/brand-sdk/commit/3afb60d849a8ffb262aed4dc8e53d46b9b9a04ea) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Move App Bridge from peerDependencies to dependencies +- [`3afb60d`](https://github.com/Frontify/brand-sdk/commit/3afb60d849a8ffb262aed4dc8e53d46b9b9a04ea) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Move App Bridge from peerDependencies to dependencies -- [`64a68da`](https://github.com/Frontify/brand-sdk/commit/64a68da0d60cf0e529d534ae120ee1a35c1d587d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export `SimpleSettingBlock` type +- [`64a68da`](https://github.com/Frontify/brand-sdk/commit/64a68da0d60cf0e529d534ae120ee1a35c1d587d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export `SimpleSettingBlock` type -- Updated dependencies [[`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d), [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef), [`3afb60d`](https://github.com/Frontify/brand-sdk/commit/3afb60d849a8ffb262aed4dc8e53d46b9b9a04ea)]: - - @frontify/sidebar-settings@0.0.10 +- Updated dependencies [[`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d), [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef), [`3afb60d`](https://github.com/Frontify/brand-sdk/commit/3afb60d849a8ffb262aed4dc8e53d46b9b9a04ea)]: + - @frontify/sidebar-settings@0.0.10 ## 0.25.6 ### Patch Changes -- Updated dependencies [[`ff4cf93`](https://github.com/Frontify/brand-sdk/commit/ff4cf935fbffa4933b31eeea6cad3a0c89b8bf88)]: - - @frontify/sidebar-settings@0.0.9 +- Updated dependencies [[`ff4cf93`](https://github.com/Frontify/brand-sdk/commit/ff4cf935fbffa4933b31eeea6cad3a0c89b8bf88)]: + - @frontify/sidebar-settings@0.0.9 ## 0.25.5 ### Patch Changes -- [`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`13be4e4`](https://github.com/Frontify/brand-sdk/commit/13be4e40dee7cc13c20de53d2c5c44a1ee1c3c8f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export more types with generic +- [`13be4e4`](https://github.com/Frontify/brand-sdk/commit/13be4e40dee7cc13c20de53d2c5c44a1ee1c3c8f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export more types with generic -- Updated dependencies [[`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c)]: - - @frontify/sidebar-settings@0.0.8 +- Updated dependencies [[`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c)]: + - @frontify/sidebar-settings@0.0.8 ## 0.25.4 ### Patch Changes -- [`56eecbe`](https://github.com/Frontify/brand-sdk/commit/56eecbe5c5b60080d814dc5678510af8aeb111f8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add more export with AppBridge passed to generic +- [`56eecbe`](https://github.com/Frontify/brand-sdk/commit/56eecbe5c5b60080d814dc5678510af8aeb111f8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add more export with AppBridge passed to generic ## 0.25.3 ### Patch Changes -- [`f140510`](https://github.com/Frontify/brand-sdk/commit/f14051013520f73a9e60bcbac704eb607a69468a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Added documentation link to the types. - Added custom section handling in types. -- Updated dependencies [[`ac89fc6`](https://github.com/Frontify/brand-sdk/commit/ac89fc60cdf58d1a7cae2aae2a057c744fc7e9b6)]: - - @frontify/sidebar-settings@0.0.7 +- [`f140510`](https://github.com/Frontify/brand-sdk/commit/f14051013520f73a9e60bcbac704eb607a69468a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Added documentation link to the types. + Added custom section handling in types. +- Updated dependencies [[`ac89fc6`](https://github.com/Frontify/brand-sdk/commit/ac89fc60cdf58d1a7cae2aae2a057c744fc7e9b6)]: + - @frontify/sidebar-settings@0.0.7 ## 0.25.2 ### Patch Changes -- Updated dependencies [[`e58c9d5`](https://github.com/Frontify/brand-sdk/commit/e58c9d5ef0b20e33d91c831f4b19c37afae4f9aa), [`b651e3d`](https://github.com/Frontify/brand-sdk/commit/b651e3d06d19cbf9de6e85ed58aae8a9f2ed2615)]: - - @frontify/sidebar-settings@0.0.6 +- Updated dependencies [[`e58c9d5`](https://github.com/Frontify/brand-sdk/commit/e58c9d5ef0b20e33d91c831f4b19c37afae4f9aa), [`b651e3d`](https://github.com/Frontify/brand-sdk/commit/b651e3d06d19cbf9de6e85ed58aae8a9f2ed2615)]: + - @frontify/sidebar-settings@0.0.6 ## 0.25.1 ### Patch Changes -- [`712730e`](https://github.com/Frontify/frontify-cli/commit/712730ec8abda54a1fbc6df5447dcd10fd159ed1) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - export `SettingBlock` with generic +- [`712730e`](https://github.com/Frontify/frontify-cli/commit/712730ec8abda54a1fbc6df5447dcd10fd159ed1) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - export `SettingBlock` with generic -- Updated dependencies [[`d4bd194`](https://github.com/Frontify/frontify-cli/commit/d4bd194133470d2a212be80d14e299e63bc12783)]: - - @frontify/sidebar-settings@0.0.5 +- Updated dependencies [[`d4bd194`](https://github.com/Frontify/frontify-cli/commit/d4bd194133470d2a212be80d14e299e63bc12783)]: + - @frontify/sidebar-settings@0.0.5 ## 0.24.3 ### Patch Changes -- Updated dependencies [[`ab6318e`](https://github.com/Frontify/frontify-cli/commit/ab6318e02b460271fa4ca4d80aa2f95f70a1db2d)]: - - @frontify/sidebar-settings@0.0.4 +- Updated dependencies [[`ab6318e`](https://github.com/Frontify/frontify-cli/commit/ab6318e02b460271fa4ca4d80aa2f95f70a1db2d)]: + - @frontify/sidebar-settings@0.0.4 ## 0.24.2 ### Patch Changes -- [#279](https://github.com/Frontify/frontify-cli/pull/279) [`aa91a2d`](https://github.com/Frontify/frontify-cli/commit/aa91a2d7df7e8f6947b1852d2d2a4d1a12e0d5af) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export everything from the sidebar types +- [#279](https://github.com/Frontify/frontify-cli/pull/279) [`aa91a2d`](https://github.com/Frontify/frontify-cli/commit/aa91a2d7df7e8f6947b1852d2d2a4d1a12e0d5af) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export everything from the sidebar types -- Updated dependencies [[`aa91a2d`](https://github.com/Frontify/frontify-cli/commit/aa91a2d7df7e8f6947b1852d2d2a4d1a12e0d5af)]: - - @frontify/sidebar-settings@0.0.3 +- Updated dependencies [[`aa91a2d`](https://github.com/Frontify/frontify-cli/commit/aa91a2d7df7e8f6947b1852d2d2a4d1a12e0d5af)]: + - @frontify/sidebar-settings@0.0.3 ## 0.24.1 ### Patch Changes -- [#277](https://github.com/Frontify/frontify-cli/pull/277) [`6e3bb0c`](https://github.com/Frontify/frontify-cli/commit/6e3bb0cf08bc616496dcb413dbde8d95094b3a9d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Use `@frontify/sidebar-settings` type package +- [#277](https://github.com/Frontify/frontify-cli/pull/277) [`6e3bb0c`](https://github.com/Frontify/frontify-cli/commit/6e3bb0cf08bc616496dcb413dbde8d95094b3a9d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Use `@frontify/sidebar-settings` type package -- Updated dependencies [[`6e3bb0c`](https://github.com/Frontify/frontify-cli/commit/6e3bb0cf08bc616496dcb413dbde8d95094b3a9d)]: - - @frontify/sidebar-settings@0.0.2 +- Updated dependencies [[`6e3bb0c`](https://github.com/Frontify/frontify-cli/commit/6e3bb0cf08bc616496dcb413dbde8d95094b3a9d)]: + - @frontify/sidebar-settings@0.0.2 diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 2322e1099..ea7045ecb 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "0.35.0", + "version": "0.36.0", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { @@ -49,15 +49,15 @@ "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", - "@frontify/fondue": "^12.0.10", + "@frontify/fondue": "^12.1.8", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.16.2", - "@react-stately/overlays": "^3.6.5" + "@react-stately/overlays": "^3.6.5", + "@tailwindcss/container-queries": "^0.1.1" }, "devDependencies": { "@babel/core": "^7.24.4", "@frontify/eslint-config-react": "0.17.6", - "@tailwindcss/container-queries": "^0.1.1", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.3.0", "@testing-library/user-event": "14.5.2", diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx index 046b8295e..3a42cb400 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.spec.ct.tsx @@ -7,10 +7,19 @@ import { type SinonStub } from 'sinon'; import { convertToRteValue } from '../../helpers'; -import { ButtonPlugin, LinkPlugin, RichTextEditor, TextStyles, getDefaultPluginsWithLinkChooser } from '.'; +import { + BreakAfterPlugin, + ButtonPlugin, + LinkPlugin, + RichTextEditor, + TextStyles, + getDefaultPluginsWithLinkChooser, +} from '.'; const RteHtmlSelector = '[data-test-id="rte-content-html"]'; const RichTextSelector = '[data-test-id="rich-text-editor"]'; +const RichTextContentSelector = '[data-test-id="rich-text-editor"] [contenteditable]'; +const RichTextContainerSelector = '[data-test-id="rich-text-editor-container"]'; const ButtonSelector = '[data-test-id="button"]'; const CheckboxSelector = '[data-test-id="checkbox-icon-box"]'; const ToolbarButtonSelector = '[data-testid="ToolbarButton"]'; @@ -247,4 +256,39 @@ describe('RichTextEditor', () => { cy.get(FloatingButtonModalSelector).find(ButtonSelector).last().click(); cy.get(RichTextSelector).find('a[href="/r/document"]').should('exist'); }); + + it('should render responsive columns in edit mode', () => { + (appBridge.getDocumentGroups as SinonStub) = cy.stub().returns([]); + (appBridge.getAllDocuments as SinonStub) = cy.stub().returns(Promise.resolve(apiDocuments)); + + mount( + , + ); + cy.get(RichTextContainerSelector).should('have.class', 'tw-@container'); + cy.get(RichTextContentSelector).should('have.class', 'tw-columns-1 @sm:!tw-columns-2 @md:!tw-columns-4'); + cy.get(RichTextContentSelector).should('have.css', 'column-gap', '30px'); + }); + + it('should render responsive columns in view mode', () => { + (appBridge.getDocumentGroups as SinonStub) = cy.stub().returns([]); + (appBridge.getAllDocuments as SinonStub) = cy.stub().returns(Promise.resolve(apiDocuments)); + + mount( + , + ); + + cy.get(RichTextContainerSelector).should('have.class', 'tw-@container'); + cy.get(`${RteHtmlSelector} > div`).should('have.class', 'tw-columns-1 @sm:!tw-columns-2 @md:!tw-columns-4'); + cy.get(`${RteHtmlSelector} > div`).should('have.css', 'column-gap', '30px'); + }); }); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx index 91294845b..d4cefbff5 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/RichTextEditor.tsx @@ -7,6 +7,7 @@ import { useIsInViewport } from '../../hooks/useIsInViewport'; import { SerializedText } from './SerializedText'; import { floatingButtonActions, floatingButtonSelectors } from './plugins/ButtonPlugin/components'; +import { getResponsiveColumnClasses } from './plugins/ColumnBreakPlugin/helpers'; import { type RichTextEditorProps } from './types'; const InternalRichTextEditor = memo( @@ -21,6 +22,7 @@ const InternalRichTextEditor = memo( onTextChange, showSerializedText, }: Omit & { isEnabled: boolean }) => { + const customClass = getResponsiveColumnClasses(columns); const [shouldPreventPageLeave, setShouldPreventPageLeave] = useState(false); const handleTextChange = useCallback( @@ -68,7 +70,15 @@ const InternalRichTextEditor = memo( /> ); } - return ; + return ( + + ); }, ); InternalRichTextEditor.displayName = 'InternalRichTextEditor'; @@ -94,7 +104,7 @@ export const RichTextEditor = (props: RichTextEditorProps) => { }, [isEditing]); return ( -
+
); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/SerializedText.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/SerializedText.tsx index 68c01b00e..3674ca292 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/SerializedText.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/SerializedText.tsx @@ -5,14 +5,14 @@ import { useEffect, useState } from 'react'; import { type SerializedTextProps } from './types'; -export const SerializedText = ({ value = '', gap, columns, show = true, plugins }: SerializedTextProps) => { +export const SerializedText = ({ value = '', gap, customClass, show = true, plugins }: SerializedTextProps) => { const [html, setHtml] = useState(null); useEffect(() => { (async () => { - setHtml(await serializeRawToHtmlAsync(value, plugins, columns, gap)); + setHtml(await serializeRawToHtmlAsync(value, plugins, undefined, gap, customClass)); })(); - }, [value, columns, gap, plugins]); + }, [value, gap, plugins, customClass]); if (!show || html === '
') { return null; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts new file mode 100644 index 000000000..9faf6675d --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts @@ -0,0 +1,28 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type PlatePlugin, Plugin, createColumnBreakPlugin, ColumnBreakButton } from '@frontify/fondue'; +import { type CSSProperties } from 'react'; + +import { getResponsiveColumnClasses } from './helpers'; + +export const KEY_ELEMENT_BREAK_AFTER_COLUMN = 'breakAfterColumn'; +export const GAP_DEFAULT = 'normal'; + +export class BreakAfterPlugin extends Plugin { + private columns: number; + private gap: CSSProperties['gap']; + private customClass: string | undefined; + constructor(props?: { columns?: number; gap?: string | number }) { + super('break-after-plugin', { + button: ColumnBreakButton, + ...props, + }); + this.columns = props?.columns ?? 1; + this.gap = props?.gap ?? GAP_DEFAULT; + this.customClass = getResponsiveColumnClasses(this.columns); + } + + plugins(): PlatePlugin[] { + return [createColumnBreakPlugin(this.columns, this.gap, this.customClass)]; + } +} diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helper.spec.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helper.spec.ts new file mode 100644 index 000000000..05c281423 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helper.spec.ts @@ -0,0 +1,21 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it, test } from 'vitest'; + +import { columnClassMap, getResponsiveColumnClasses } from './helpers'; + +describe('RichTextEditor helpers', () => { + it('should return empty string if no column count is provided', () => { + expect(getResponsiveColumnClasses()).toBe(''); + }); + + test.each([ + [1, columnClassMap[1]], + [2, columnClassMap[2]], + [3, columnClassMap[3]], + [4, columnClassMap[4]], + [123, columnClassMap[1]], + ])('should return the proper classes for %i column count', (columnCount, expectedClasses) => { + expect(getResponsiveColumnClasses(columnCount)).toBe(expectedClasses); + }); +}); diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts new file mode 100644 index 000000000..0d9661f4a --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/helpers.ts @@ -0,0 +1,17 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export const columnClassMap = { + 1: 'tw-columns-1', + 2: 'tw-columns-1 @sm:!tw-columns-2', + 3: 'tw-columns-1 @sm:!tw-columns-2 @md:!tw-columns-3', + 4: 'tw-columns-1 @sm:!tw-columns-2 @md:!tw-columns-4', + 5: 'tw-columns-1 @sm:!tw-columns-2 @md:!tw-columns-5', +}; + +export const getResponsiveColumnClasses = (columnCount?: number) => { + if (!columnCount) { + return ''; + } + + return columnClassMap[columnCount as keyof typeof columnClassMap] || columnClassMap[1]; +}; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/index.ts new file mode 100644 index 000000000..53e80e5f4 --- /dev/null +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './ColumnBreakPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/index.ts index ce3e47507..eab295762 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/index.ts @@ -2,5 +2,6 @@ export * from './LinkPlugin'; export * from './ButtonPlugin'; +export * from './ColumnBreakPlugin'; export * from './TextStylePlugins'; export * from './styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts index a7e562b94..125e0e44d 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts @@ -17,7 +17,7 @@ export type RichTextEditorProps = { export type SerializedTextProps = { value?: string; show?: boolean; - columns?: number; gap?: string; + customClass?: string; plugins?: PluginComposer; }; diff --git a/packages/guideline-blocks-settings/tailwind.config.ts b/packages/guideline-blocks-settings/tailwind.config.ts index 90e847c21..ec29e2877 100644 --- a/packages/guideline-blocks-settings/tailwind.config.ts +++ b/packages/guideline-blocks-settings/tailwind.config.ts @@ -1,12 +1,14 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import containerQueryPlugin from '@tailwindcss/container-queries'; + module.exports = { presets: [require('@frontify/fondue/tailwind')], content: ['src/**/*.{ts,tsx}'], corePlugins: { preflight: false, }, - plugins: [require('@tailwindcss/container-queries')], + plugins: [containerQueryPlugin], theme: { extend: { colors: { diff --git a/packages/guideline-blocks-settings/vite.config.ts b/packages/guideline-blocks-settings/vite.config.ts index 466f2143a..0d50c0efa 100644 --- a/packages/guideline-blocks-settings/vite.config.ts +++ b/packages/guideline-blocks-settings/vite.config.ts @@ -33,7 +33,7 @@ export default defineConfig({ test: { environment: 'happy-dom', deps: { - inline: ['clsx', '@juggle/resize-observer'], + inline: ['clsx', '@juggle/resize-observer', '@frontify/fondue'], }, setupFiles: ['setupTests.ts'], }, diff --git a/packages/platform-app/CHANGELOG.md b/packages/platform-app/CHANGELOG.md index 8bd017ee8..38626c206 100644 --- a/packages/platform-app/CHANGELOG.md +++ b/packages/platform-app/CHANGELOG.md @@ -1,137 +1,144 @@ # @frontify/platform-app +## 0.1.6 + +### Patch Changes + +- Updated dependencies [[`be18559`](https://github.com/Frontify/brand-sdk/commit/be18559f7e31e2ad738fd4c875d119f8c839fa4d)]: + - @frontify/sidebar-settings@0.9.18 + ## 0.1.5 ### Patch Changes -- Updated dependencies [[`7baceff`](https://github.com/Frontify/brand-sdk/commit/7baceffc87773e9f6a1e169aa45151b92c614cbc)]: - - @frontify/sidebar-settings@0.9.17 +- Updated dependencies [[`7baceff`](https://github.com/Frontify/brand-sdk/commit/7baceffc87773e9f6a1e169aa45151b92c614cbc)]: + - @frontify/sidebar-settings@0.9.17 ## 0.1.4 ### Patch Changes -- Updated dependencies [[`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8)]: - - @frontify/sidebar-settings@0.9.16 +- Updated dependencies [[`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8)]: + - @frontify/sidebar-settings@0.9.16 ## 0.1.3 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` -- Updated dependencies [[`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d)]: - - @frontify/sidebar-settings@0.9.15 +- Updated dependencies [[`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d)]: + - @frontify/sidebar-settings@0.9.15 ## 0.1.2 ### Patch Changes -- Updated dependencies [[`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc)]: - - @frontify/sidebar-settings@0.9.14 +- Updated dependencies [[`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc)]: + - @frontify/sidebar-settings@0.9.14 ## 0.1.1 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies -- Updated dependencies [[`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab), [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be), [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c)]: - - @frontify/sidebar-settings@0.9.13 +- Updated dependencies [[`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab), [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be), [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c)]: + - @frontify/sidebar-settings@0.9.13 ## 0.1.0 ### Minor Changes -- [#851](https://github.com/Frontify/brand-sdk/pull/851) [`b29b41a`](https://github.com/Frontify/brand-sdk/commit/b29b41af4ae61e01e71c0d82653c6b3e00e87ccb) Thanks [@julianiff](https://github.com/julianiff)! - feat: restrict settings options +- [#851](https://github.com/Frontify/brand-sdk/pull/851) [`b29b41a`](https://github.com/Frontify/brand-sdk/commit/b29b41af4ae61e01e71c0d82653c6b3e00e87ccb) Thanks [@julianiff](https://github.com/julianiff)! - feat: restrict settings options ## 0.0.16 ### Patch Changes -- Updated dependencies [[`b116dec`](https://github.com/Frontify/brand-sdk/commit/b116decf09a486d5c25e8f9cf9e4213cd2c65d3c)]: - - @frontify/sidebar-settings@0.9.12 +- Updated dependencies [[`b116dec`](https://github.com/Frontify/brand-sdk/commit/b116decf09a486d5c25e8f9cf9e4213cd2c65d3c)]: + - @frontify/sidebar-settings@0.9.12 ## 0.0.15 ### Patch Changes -- Updated dependencies [[`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f)]: - - @frontify/sidebar-settings@0.9.11 +- Updated dependencies [[`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f)]: + - @frontify/sidebar-settings@0.9.11 ## 0.0.14 ### Patch Changes -- Updated dependencies [[`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1)]: - - @frontify/sidebar-settings@0.9.10 +- Updated dependencies [[`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1)]: + - @frontify/sidebar-settings@0.9.10 ## 0.0.13 ### Patch Changes -- Updated dependencies [[`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c)]: - - @frontify/sidebar-settings@0.9.9 +- Updated dependencies [[`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c)]: + - @frontify/sidebar-settings@0.9.9 ## 0.0.12 ### Patch Changes -- Updated dependencies [[`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce)]: - - @frontify/sidebar-settings@0.9.8 +- Updated dependencies [[`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce)]: + - @frontify/sidebar-settings@0.9.8 ## 0.0.11 ### Patch Changes -- Updated dependencies [[`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32)]: - - @frontify/sidebar-settings@0.9.7 +- Updated dependencies [[`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32)]: + - @frontify/sidebar-settings@0.9.7 ## 0.0.10 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages -- Updated dependencies [[`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d)]: - - @frontify/sidebar-settings@0.9.6 +- Updated dependencies [[`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d)]: + - @frontify/sidebar-settings@0.9.6 ## 0.0.9 ### Patch Changes -- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch +- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch -- Updated dependencies [[`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00)]: - - @frontify/sidebar-settings@0.9.5 +- Updated dependencies [[`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00)]: + - @frontify/sidebar-settings@0.9.5 ## 0.0.8 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Lint with newer version of Frontify eslint config +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Lint with newer version of Frontify eslint config -- Updated dependencies [[`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7), [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a), [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7)]: - - @frontify/sidebar-settings@0.9.4 +- Updated dependencies [[`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7), [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a), [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7)]: + - @frontify/sidebar-settings@0.9.4 ## 0.0.7 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6)]: - - @frontify/sidebar-settings@0.9.3 +- Updated dependencies [[`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6)]: + - @frontify/sidebar-settings@0.9.3 ## 0.0.6 ### Patch Changes -- Updated dependencies [[`7f57867`](https://github.com/Frontify/brand-sdk/commit/7f57867274c7ba21a0a1ab5ecc46852d559d968d)]: - - @frontify/sidebar-settings@0.9.2 +- Updated dependencies [[`7f57867`](https://github.com/Frontify/brand-sdk/commit/7f57867274c7ba21a0a1ab5ecc46852d559d968d)]: + - @frontify/sidebar-settings@0.9.2 diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json index 6df0aee08..cace5cfd0 100644 --- a/packages/platform-app/package.json +++ b/packages/platform-app/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/platform-app", "type": "module", - "version": "0.1.5", + "version": "0.1.6", "description": "Provides the types for the Apps", "author": "Frontify Developers ", "repository": { diff --git a/packages/sidebar-settings/CHANGELOG.md b/packages/sidebar-settings/CHANGELOG.md index 5ac6d41ee..74435d408 100644 --- a/packages/sidebar-settings/CHANGELOG.md +++ b/packages/sidebar-settings/CHANGELOG.md @@ -1,444 +1,450 @@ # @frontify/sidebar-settings +## 0.9.18 + +### Patch Changes + +- [#976](https://github.com/Frontify/brand-sdk/pull/976) [`be18559`](https://github.com/Frontify/brand-sdk/commit/be18559f7e31e2ad738fd4c875d119f8c839fa4d) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue dependency to 12.1.8 + ## 0.9.17 ### Patch Changes -- [#944](https://github.com/Frontify/brand-sdk/pull/944) [`7baceff`](https://github.com/Frontify/brand-sdk/commit/7baceffc87773e9f6a1e169aa45151b92c614cbc) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - refactor: decouple Fondue from the sidebar settings +- [#944](https://github.com/Frontify/brand-sdk/pull/944) [`7baceff`](https://github.com/Frontify/brand-sdk/commit/7baceffc87773e9f6a1e169aa45151b92c614cbc) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - refactor: decouple Fondue from the sidebar settings ## 0.9.16 ### Patch Changes -- [#907](https://github.com/Frontify/brand-sdk/pull/907) [`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `@frontify/fondue` to `12.0.10` +- [#907](https://github.com/Frontify/brand-sdk/pull/907) [`f824d37`](https://github.com/Frontify/brand-sdk/commit/f824d371ed6fb8f46a22ca39d2a8e211a9fb4ca8) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump `@frontify/fondue` to `12.0.10` ## 0.9.15 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` ## 0.9.14 ### Patch Changes -- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` +- [#890](https://github.com/Frontify/brand-sdk/pull/890) [`c7712e8`](https://github.com/Frontify/brand-sdk/commit/c7712e84ec90b6db1b23a23c56db63ed90d812bc) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.7` ## 0.9.13 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#857](https://github.com/Frontify/brand-sdk/pull/857) [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.0-beta.427` +- [#857](https://github.com/Frontify/brand-sdk/pull/857) [`7d818d8`](https://github.com/Frontify/brand-sdk/commit/7d818d88eb5b18da2015c3a9f823350e507be3be) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `12.0.0-beta.427` -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies ## 0.9.12 ### Patch Changes -- [#832](https://github.com/Frontify/brand-sdk/pull/832) [`b116dec`](https://github.com/Frontify/brand-sdk/commit/b116decf09a486d5c25e8f9cf9e4213cd2c65d3c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add assetInput 'allowDelete' optional prop +- [#832](https://github.com/Frontify/brand-sdk/pull/832) [`b116dec`](https://github.com/Frontify/brand-sdk/commit/b116decf09a486d5c25e8f9cf9e4213cd2c65d3c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add assetInput 'allowDelete' optional prop ## 0.9.11 ### Patch Changes -- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 +- [#815](https://github.com/Frontify/brand-sdk/pull/815) [`17491e9`](https://github.com/Frontify/brand-sdk/commit/17491e923d9b66d158ee03003b3ac47899e6423f) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to 12.0.0-beta.415 ## 0.9.10 ### Patch Changes -- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 +- [#803](https://github.com/Frontify/brand-sdk/pull/803) [`b4a72a2`](https://github.com/Frontify/brand-sdk/commit/b4a72a23c7ea5aa65beb1b264fb36930c0493ba1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to ^12.0.0-beta.411 ## 0.9.9 ### Patch Changes -- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 +- [#800](https://github.com/Frontify/brand-sdk/pull/800) [`7e83e75`](https://github.com/Frontify/brand-sdk/commit/7e83e75243fdbfc5379be3bdf15c210039c4459c) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: bump @frontify/fondue to 12.0.0-beta.410 ## 0.9.8 ### Patch Changes -- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#796](https://github.com/Frontify/brand-sdk/pull/796) [`d24dcf3`](https://github.com/Frontify/brand-sdk/commit/d24dcf3fd78a871229e64b82690084ccfbd521ce) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue ## 0.9.7 ### Patch Changes -- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#750](https://github.com/Frontify/brand-sdk/pull/750) [`8b4ded2`](https://github.com/Frontify/brand-sdk/commit/8b4ded214bd781c5aa3c917121bc013f4262da32) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue ## 0.9.6 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages ## 0.9.5 ### Patch Changes -- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch +- [`de53c69`](https://github.com/Frontify/brand-sdk/commit/de53c69b43e3f0a9b245cc2b193d6edef390dc00) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix broken build produced in `dev` branch ## 0.9.4 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Lint with newer version of Frontify eslint config +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Lint with newer version of Frontify eslint config ## 0.9.3 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.9.2 ### Patch Changes -- [#759](https://github.com/Frontify/brand-sdk/pull/759) [`7f57867`](https://github.com/Frontify/brand-sdk/commit/7f57867274c7ba21a0a1ab5ecc46852d559d968d) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: typo on fontInput `aligmentChoiceValues` to `alignmentChoiceValues ` +- [#759](https://github.com/Frontify/brand-sdk/pull/759) [`7f57867`](https://github.com/Frontify/brand-sdk/commit/7f57867274c7ba21a0a1ab5ecc46852d559d968d) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: typo on fontInput `aligmentChoiceValues` to `alignmentChoiceValues ` ## 0.9.1 ### Patch Changes -- [#697](https://github.com/Frontify/brand-sdk/pull/697) [`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bumps @frontify/fondue to 12.0.0-beta.396 +- [#697](https://github.com/Frontify/brand-sdk/pull/697) [`759188b`](https://github.com/Frontify/brand-sdk/commit/759188b28219e23ef7ce19edbc2d5e3248270ea8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bumps @frontify/fondue to 12.0.0-beta.396 ## 0.9.0 ### Minor Changes -- [#694](https://github.com/Frontify/brand-sdk/pull/694) [`d79e69a`](https://github.com/Frontify/brand-sdk/commit/d79e69a1c6d8f901b7f91866a92fd0d99363f07d) Thanks [@ragi96](https://github.com/ragi96)! - chore: decouples the sidebar-settings from the app-bridge +- [#694](https://github.com/Frontify/brand-sdk/pull/694) [`d79e69a`](https://github.com/Frontify/brand-sdk/commit/d79e69a1c6d8f901b7f91866a92fd0d99363f07d) Thanks [@ragi96](https://github.com/ragi96)! - chore: decouples the sidebar-settings from the app-bridge ### Patch Changes -- [#695](https://github.com/Frontify/brand-sdk/pull/695) [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump @frontify/fondue to v12.0.0-beta.395 +- [#695](https://github.com/Frontify/brand-sdk/pull/695) [`d7764c1`](https://github.com/Frontify/brand-sdk/commit/d7764c129ee1d61aaed4ce519e70eb5d0984bfec) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump @frontify/fondue to v12.0.0-beta.395 ## 0.8.3 ### Patch Changes -- Updated dependencies [[`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d)]: - - @frontify/app-bridge@3.0.2 +- Updated dependencies [[`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d)]: + - @frontify/app-bridge@3.0.2 ## 0.8.2 ### Patch Changes -- Updated dependencies [[`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7)]: - - @frontify/app-bridge@3.0.1 +- Updated dependencies [[`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7)]: + - @frontify/app-bridge@3.0.1 ## 0.8.1 ### Patch Changes -- [#636](https://github.com/Frontify/brand-sdk/pull/636) [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#636](https://github.com/Frontify/brand-sdk/pull/636) [`1dbc48e`](https://github.com/Frontify/brand-sdk/commit/1dbc48e9b8421a893d0b2da8f17ac201abc2b113) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- Updated dependencies [[`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929)]: - - @frontify/app-bridge@3.0.0 +- Updated dependencies [[`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929)]: + - @frontify/app-bridge@3.0.0 ## 0.8.0 ### Minor Changes -- [#638](https://github.com/Frontify/brand-sdk/pull/638) [`13ca57e`](https://github.com/Frontify/brand-sdk/commit/13ca57e7440e5d7175e54109b89eb8dc60eee4fd) Thanks [@mike85](https://github.com/mike85)! - feat: add minimumNumericalOrPixelRule +- [#638](https://github.com/Frontify/brand-sdk/pull/638) [`13ca57e`](https://github.com/Frontify/brand-sdk/commit/13ca57e7440e5d7175e54109b89eb8dc60eee4fd) Thanks [@mike85](https://github.com/mike85)! - feat: add minimumNumericalOrPixelRule ### Patch Changes -- [#639](https://github.com/Frontify/brand-sdk/pull/639) [`d55bd9f`](https://github.com/Frontify/brand-sdk/commit/d55bd9f39fdfa6e5c45a80744c058a605d81c893) Thanks [@mike85](https://github.com/mike85)! - feat: export minimumNumericalOrPixelRule +- [#639](https://github.com/Frontify/brand-sdk/pull/639) [`d55bd9f`](https://github.com/Frontify/brand-sdk/commit/d55bd9f39fdfa6e5c45a80744c058a605d81c893) Thanks [@mike85](https://github.com/mike85)! - feat: export minimumNumericalOrPixelRule ## 0.7.0 ### Minor Changes -- [#626](https://github.com/Frontify/brand-sdk/pull/626) [`8920ec9`](https://github.com/Frontify/brand-sdk/commit/8920ec993401caf94813974c7fad476c3decc2c6) Thanks [@mike85](https://github.com/mike85)! - feat: add url rule +- [#626](https://github.com/Frontify/brand-sdk/pull/626) [`8920ec9`](https://github.com/Frontify/brand-sdk/commit/8920ec993401caf94813974c7fad476c3decc2c6) Thanks [@mike85](https://github.com/mike85)! - feat: add url rule ### Patch Changes -- [#619](https://github.com/Frontify/brand-sdk/pull/619) [`dfe83ee`](https://github.com/Frontify/brand-sdk/commit/dfe83ee7417d3916d9bc52b96e600deb130bf147) Thanks [@anxobotana](https://github.com/anxobotana)! - extends fontInput typing +- [#619](https://github.com/Frontify/brand-sdk/pull/619) [`dfe83ee`](https://github.com/Frontify/brand-sdk/commit/dfe83ee7417d3916d9bc52b96e600deb130bf147) Thanks [@anxobotana](https://github.com/anxobotana)! - extends fontInput typing ## 0.6.13 ### Patch Changes -- [#591](https://github.com/Frontify/brand-sdk/pull/591) [`076ee92`](https://github.com/Frontify/brand-sdk/commit/076ee92016edadc2c775072db7c9df40c6968032) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.341 +- [#591](https://github.com/Frontify/brand-sdk/pull/591) [`076ee92`](https://github.com/Frontify/brand-sdk/commit/076ee92016edadc2c775072db7c9df40c6968032) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.341 ## 0.6.12 ### Patch Changes -- [#583](https://github.com/Frontify/brand-sdk/pull/583) [`aed99a3`](https://github.com/Frontify/brand-sdk/commit/aed99a3a62e58c7b9436f8f031c64ac024566c2c) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.337 +- [#583](https://github.com/Frontify/brand-sdk/pull/583) [`aed99a3`](https://github.com/Frontify/brand-sdk/commit/aed99a3a62e58c7b9436f8f031c64ac024566c2c) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.337 ## 0.6.11 ### Patch Changes -- [#577](https://github.com/Frontify/brand-sdk/pull/577) [`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.334 +- [#577](https://github.com/Frontify/brand-sdk/pull/577) [`2c17f39`](https://github.com/Frontify/brand-sdk/commit/2c17f396b7f3670cf8c9c041937a414bcd22ae94) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.334 ## 0.6.10 ### Patch Changes -- [#566](https://github.com/Frontify/brand-sdk/pull/566) [`ece6876`](https://github.com/Frontify/brand-sdk/commit/ece68765bcd1675cf32f9fd20b77c8dd5e665ee1) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.324 +- [#566](https://github.com/Frontify/brand-sdk/pull/566) [`ece6876`](https://github.com/Frontify/brand-sdk/commit/ece68765bcd1675cf32f9fd20b77c8dd5e665ee1) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.324 ## 0.6.9 ### Patch Changes -- [#560](https://github.com/Frontify/brand-sdk/pull/560) [`7460f29`](https://github.com/Frontify/brand-sdk/commit/7460f298fa346f89da7de2a0465c12c077e22f05) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.319 +- [#560](https://github.com/Frontify/brand-sdk/pull/560) [`7460f29`](https://github.com/Frontify/brand-sdk/commit/7460f298fa346f89da7de2a0465c12c077e22f05) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.319 -- [#564](https://github.com/Frontify/brand-sdk/pull/564) [`3684397`](https://github.com/Frontify/brand-sdk/commit/368439792d855bbc5117f97931b7d52f75295677) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.321 +- [#564](https://github.com/Frontify/brand-sdk/pull/564) [`3684397`](https://github.com/Frontify/brand-sdk/commit/368439792d855bbc5117f97931b7d52f75295677) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.321 ## 0.6.8 ### Patch Changes -- [#546](https://github.com/Frontify/brand-sdk/pull/546) [`69d862e`](https://github.com/Frontify/brand-sdk/commit/69d862e966954d521bdd856280c76f6a40483be8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump app-bridge +- [#546](https://github.com/Frontify/brand-sdk/pull/546) [`69d862e`](https://github.com/Frontify/brand-sdk/commit/69d862e966954d521bdd856280c76f6a40483be8) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump app-bridge -- [`6c5d4f6`](https://github.com/Frontify/brand-sdk/commit/6c5d4f63ef8c5995790aa444dc29469b095d63ba) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change App Bridge dependency selector +- [`6c5d4f6`](https://github.com/Frontify/brand-sdk/commit/6c5d4f63ef8c5995790aa444dc29469b095d63ba) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change App Bridge dependency selector ## 0.6.7 ### Patch Changes -- [#543](https://github.com/Frontify/brand-sdk/pull/543) [`29c8128`](https://github.com/Frontify/brand-sdk/commit/29c8128c113ce2163a22274e5440c8df05025777) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.315 +- [#543](https://github.com/Frontify/brand-sdk/pull/543) [`29c8128`](https://github.com/Frontify/brand-sdk/commit/29c8128c113ce2163a22274e5440c8df05025777) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.315 -- [#545](https://github.com/Frontify/brand-sdk/pull/545) [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue +- [#545](https://github.com/Frontify/brand-sdk/pull/545) [`755bcc0`](https://github.com/Frontify/brand-sdk/commit/755bcc0ec121da805a69ab6c9a48854cb97a71be) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue ## 0.6.6 ### Patch Changes -- [`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`3c1e752`](https://github.com/Frontify/brand-sdk/commit/3c1e7520967c5055c944a0f1afe6b41e046dcdd8) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.6.5 ### Patch Changes -- [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - Update dependencies +- [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - Update dependencies ## 0.6.4 ### Patch Changes -- [#522](https://github.com/Frontify/brand-sdk/pull/522) [`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.309 +- [#522](https://github.com/Frontify/brand-sdk/pull/522) [`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.309 ## 0.6.3 ### Patch Changes -- [#502](https://github.com/Frontify/brand-sdk/pull/502) [`d1a60e9`](https://github.com/Frontify/brand-sdk/commit/d1a60e9fabb2920d3fc716e18f58d8de1527ab26) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): add link block +- [#502](https://github.com/Frontify/brand-sdk/pull/502) [`d1a60e9`](https://github.com/Frontify/brand-sdk/commit/d1a60e9fabb2920d3fc716e18f58d8de1527ab26) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(\*): add link block ## 0.6.2 ### Patch Changes -- [`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`22684e3`](https://github.com/Frontify/brand-sdk/commit/22684e358fd2b073790a0959606c6a5d44e35c4e) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.6.1 ### Patch Changes -- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`fa969e9`](https://github.com/Frontify/brand-sdk/commit/fa969e90c980411273ff3c8c6f015b303fd59fe3) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.6.0 ### Minor Changes -- [#446](https://github.com/Frontify/brand-sdk/pull/446) [`4105251`](https://github.com/Frontify/brand-sdk/commit/4105251969f8ae639014a013a2cbc88df8e4935d) Thanks [@ruslan-sazonov](https://github.com/ruslan-sazonov)! - Change signature of Template +- [#446](https://github.com/Frontify/brand-sdk/pull/446) [`4105251`](https://github.com/Frontify/brand-sdk/commit/4105251969f8ae639014a013a2cbc88df8e4935d) Thanks [@ruslan-sazonov](https://github.com/ruslan-sazonov)! - Change signature of Template -- [#444](https://github.com/Frontify/brand-sdk/pull/444) [`af49f65`](https://github.com/Frontify/brand-sdk/commit/af49f6572592522a550f970c98e3d8fd2d377cc3) Thanks [@lzurbriggen](https://github.com/lzurbriggen)! - add time unit types +- [#444](https://github.com/Frontify/brand-sdk/pull/444) [`af49f65`](https://github.com/Frontify/brand-sdk/commit/af49f6572592522a550f970c98e3d8fd2d377cc3) Thanks [@lzurbriggen](https://github.com/lzurbriggen)! - add time unit types ## 0.5.0 ### Minor Changes -- [#450](https://github.com/Frontify/brand-sdk/pull/450) [`33e0a8f`](https://github.com/Frontify/brand-sdk/commit/33e0a8f49de433aca8cc06bafed6e5515b755dd2) Thanks [@celine-s](https://github.com/celine-s)! - Add footer event 'general-settings.open' to notification block +- [#450](https://github.com/Frontify/brand-sdk/pull/450) [`33e0a8f`](https://github.com/Frontify/brand-sdk/commit/33e0a8f49de433aca8cc06bafed6e5515b755dd2) Thanks [@celine-s](https://github.com/celine-s)! - Add footer event 'general-settings.open' to notification block ### Patch Changes -- [#448](https://github.com/Frontify/brand-sdk/pull/448) [`3eabb89`](https://github.com/Frontify/brand-sdk/commit/3eabb8959c2b68be50ab1bcef3996100ed877864) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore(\*): bump fondue +- [#448](https://github.com/Frontify/brand-sdk/pull/448) [`3eabb89`](https://github.com/Frontify/brand-sdk/commit/3eabb8959c2b68be50ab1bcef3996100ed877864) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore(\*): bump fondue ## 0.4.0 ### Minor Changes -- [#425](https://github.com/Frontify/brand-sdk/pull/425) [`b78b376`](https://github.com/Frontify/brand-sdk/commit/b78b3764d1c01e1c0cc81542fdea2d813bb62e33) Thanks [@celine-s](https://github.com/celine-s)! - Updated types of sectionHeading settings block +- [#425](https://github.com/Frontify/brand-sdk/pull/425) [`b78b376`](https://github.com/Frontify/brand-sdk/commit/b78b3764d1c01e1c0cc81542fdea2d813bb62e33) Thanks [@celine-s](https://github.com/celine-s)! - Updated types of sectionHeading settings block ## 0.3.5 ### Patch Changes -- [#424](https://github.com/Frontify/brand-sdk/pull/424) [`2d38f02`](https://github.com/Frontify/brand-sdk/commit/2d38f027d5d609b8318fc4ba7bfb501a58812613) Thanks [@triggertoo](https://github.com/triggertoo)! - Fix @frontify/fondue due to semver +- [#424](https://github.com/Frontify/brand-sdk/pull/424) [`2d38f02`](https://github.com/Frontify/brand-sdk/commit/2d38f027d5d609b8318fc4ba7bfb501a58812613) Thanks [@triggertoo](https://github.com/triggertoo)! - Fix @frontify/fondue due to semver ## 0.3.4 ### Patch Changes -- [#416](https://github.com/Frontify/brand-sdk/pull/416) [`6ae4bfd`](https://github.com/Frontify/brand-sdk/commit/6ae4bfd76c9eb9bd546fea6398cf173531e67f1f) Thanks [@triggertoo](https://github.com/triggertoo)! - Update fondue version to support React 18 +- [#416](https://github.com/Frontify/brand-sdk/pull/416) [`6ae4bfd`](https://github.com/Frontify/brand-sdk/commit/6ae4bfd76c9eb9bd546fea6398cf173531e67f1f) Thanks [@triggertoo](https://github.com/triggertoo)! - Update fondue version to support React 18 ## 0.3.3 ### Patch Changes -- [`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`caecf03`](https://github.com/Frontify/brand-sdk/commit/caecf03ffd52a07cd1c846f4a99f9736fef76b76) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge +- [`2179c95`](https://github.com/Frontify/brand-sdk/commit/2179c95e787d89d1e75671d394b4dde61673638d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge ## 0.3.2 ### Patch Changes -- [`f11eaef`](https://github.com/Frontify/brand-sdk/commit/f11eaef8b3a602562994460059e2c30ea307cda1) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix version of fondue dependency +- [`f11eaef`](https://github.com/Frontify/brand-sdk/commit/f11eaef8b3a602562994460059e2c30ea307cda1) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix version of fondue dependency ## 0.3.1 ### Patch Changes -- [`3835898`](https://github.com/Frontify/brand-sdk/commit/38358988674acc7cad728357b146558ebba3964a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix Fondue dependency version issue +- [`3835898`](https://github.com/Frontify/brand-sdk/commit/38358988674acc7cad728357b146558ebba3964a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Fix Fondue dependency version issue ## 0.3.0 ### Minor Changes -- [#396](https://github.com/Frontify/brand-sdk/pull/396) [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add support of custom icon in the settings sidebar +- [#396](https://github.com/Frontify/brand-sdk/pull/396) [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add support of custom icon in the settings sidebar ### Patch Changes -- [`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps +- [`57228f5`](https://github.com/Frontify/brand-sdk/commit/57228f557c20f2a2a291ecabc560a8e7c1bb0e41) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update deps -- [#396](https://github.com/Frontify/brand-sdk/pull/396) [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Unpin dev dependencies +- [#396](https://github.com/Frontify/brand-sdk/pull/396) [`a213ee6`](https://github.com/Frontify/brand-sdk/commit/a213ee68b2f11377d94df578a86ec360704d727b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Unpin dev dependencies ## 0.2.0 ### Minor Changes -- [#374](https://github.com/Frontify/brand-sdk/pull/374) [`366ca28`](https://github.com/Frontify/brand-sdk/commit/366ca280e754cf875d91026ee0a3cf8e767b05ab) Thanks [@celine-s](https://github.com/celine-s)! - Updated types of notification setting block +- [#374](https://github.com/Frontify/brand-sdk/pull/374) [`366ca28`](https://github.com/Frontify/brand-sdk/commit/366ca280e754cf875d91026ee0a3cf8e767b05ab) Thanks [@celine-s](https://github.com/celine-s)! - Updated types of notification setting block ## 0.1.0 ### Minor Changes -- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Renamed `slider` to `segmentedControls` +- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Renamed `slider` to `segmentedControls` -- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Inline enums to union types to have less Fondue breakage +- [#382](https://github.com/Frontify/brand-sdk/pull/382) [`6a31872`](https://github.com/Frontify/brand-sdk/commit/6a31872fbe0cc426f1f2f384fab52e48dbaad557) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Inline enums to union types to have less Fondue breakage ### Patch Changes -- [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`440e463`](https://github.com/Frontify/brand-sdk/commit/440e463326fb55dabc28dba346e1ec2e6ee03450) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.0.17 ### Patch Changes -- [`b8b0b78`](https://github.com/Frontify/brand-sdk/commit/b8b0b783f1a1cc0968c04c5f392f6bb6db518f86) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Simplify type of font value +- [`b8b0b78`](https://github.com/Frontify/brand-sdk/commit/b8b0b783f1a1cc0968c04c5f392f6bb6db518f86) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Simplify type of font value ## 0.0.16 ### Patch Changes -- [`d89d0e0`](https://github.com/Frontify/brand-sdk/commit/d89d0e06be900fd6bba897d05ad8427e5d44f1f0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Allow beta versions of Fondue +- [`d89d0e0`](https://github.com/Frontify/brand-sdk/commit/d89d0e06be900fd6bba897d05ad8427e5d44f1f0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Allow beta versions of Fondue ## 0.0.15 ### Patch Changes -- [#356](https://github.com/Frontify/brand-sdk/pull/356) [`c6a1aff`](https://github.com/Frontify/brand-sdk/commit/c6a1affe88b6f1ab87cbe74ca1daa0e9c28640e0) Thanks [@SamCreasey](https://github.com/SamCreasey)! - SectionHeadingBlock now supports an asynchronous label type +- [#356](https://github.com/Frontify/brand-sdk/pull/356) [`c6a1aff`](https://github.com/Frontify/brand-sdk/commit/c6a1affe88b6f1ab87cbe74ca1daa0e9c28640e0) Thanks [@SamCreasey](https://github.com/SamCreasey)! - SectionHeadingBlock now supports an asynchronous label type ## 0.0.14 ### Patch Changes -- [#332](https://github.com/Frontify/brand-sdk/pull/332) [`2f58027`](https://github.com/Frontify/brand-sdk/commit/2f580271ca0540729539da3dfe66286ee3f50eda) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add JSDoc on sidebar settings types +- [#332](https://github.com/Frontify/brand-sdk/pull/332) [`2f58027`](https://github.com/Frontify/brand-sdk/commit/2f580271ca0540729539da3dfe66286ee3f50eda) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add JSDoc on sidebar settings types -- [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`0198626`](https://github.com/Frontify/brand-sdk/commit/0198626b9d8e49f31d861a05e15ca6e59d349b59) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.0.13 ### Patch Changes -- [`5fb81d6`](https://github.com/Frontify/brand-sdk/commit/5fb81d6a3f8e0bd7083b2a2c1cc95b7a2d98e395) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`5fb81d6`](https://github.com/Frontify/brand-sdk/commit/5fb81d6a3f8e0bd7083b2a2c1cc95b7a2d98e395) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#329](https://github.com/Frontify/brand-sdk/pull/329) [`d2ecd25`](https://github.com/Frontify/brand-sdk/commit/d2ecd2592d129d40de72d4793c8848f2f291f896) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add font input setting +- [#329](https://github.com/Frontify/brand-sdk/pull/329) [`d2ecd25`](https://github.com/Frontify/brand-sdk/commit/d2ecd2592d129d40de72d4793c8848f2f291f896) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add font input setting -- [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`45653fa`](https://github.com/Frontify/brand-sdk/commit/45653faaf4168517ccbb3a9775bbf88871149692) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.0.12 ### Patch Changes -- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add clearable to color input and dropdown +- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add clearable to color input and dropdown -- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`d955377`](https://github.com/Frontify/brand-sdk/commit/d955377f1a6f115dac3cad8513627973c7bf428f) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.0.11 ### Patch Changes -- [`fa95406`](https://github.com/Frontify/brand-sdk/commit/fa9540631337193ffa0225a58f7b7b46b4f48e2a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export Checkbox type +- [`fa95406`](https://github.com/Frontify/brand-sdk/commit/fa9540631337193ffa0225a58f7b7b46b4f48e2a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export Checkbox type ## 0.0.10 ### Patch Changes -- [#299](https://github.com/Frontify/brand-sdk/pull/299) [`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update to Vite 4 and TS 4.9 +- [#299](https://github.com/Frontify/brand-sdk/pull/299) [`187466a`](https://github.com/Frontify/brand-sdk/commit/187466ae50c08f4abf5d0b257951ccf083d6344d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update to Vite 4 and TS 4.9 -- [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`e47c574`](https://github.com/Frontify/brand-sdk/commit/e47c5747ab1041a62dc880fa92436b8ab464bfef) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [`3afb60d`](https://github.com/Frontify/brand-sdk/commit/3afb60d849a8ffb262aed4dc8e53d46b9b9a04ea) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Move App Bridge from peerDependencies to dependencies +- [`3afb60d`](https://github.com/Frontify/brand-sdk/commit/3afb60d849a8ffb262aed4dc8e53d46b9b9a04ea) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Move App Bridge from peerDependencies to dependencies ## 0.0.9 ### Patch Changes -- [`ff4cf93`](https://github.com/Frontify/brand-sdk/commit/ff4cf935fbffa4933b31eeea6cad3a0c89b8bf88) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge to latest +- [`ff4cf93`](https://github.com/Frontify/brand-sdk/commit/ff4cf935fbffa4933b31eeea6cad3a0c89b8bf88) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update App Bridge to latest ## 0.0.8 ### Patch Changes -- [`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`4063217`](https://github.com/Frontify/brand-sdk/commit/4063217a946f0896f7dd3aacbc0b21f4c355b21c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 0.0.7 ### Patch Changes -- [`ac89fc6`](https://github.com/Frontify/brand-sdk/commit/ac89fc60cdf58d1a7cae2aae2a057c744fc7e9b6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - export `FileExtensionSets` +- [`ac89fc6`](https://github.com/Frontify/brand-sdk/commit/ac89fc60cdf58d1a7cae2aae2a057c744fc7e9b6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - export `FileExtensionSets` ## 0.0.6 ### Patch Changes -- [`e58c9d5`](https://github.com/Frontify/brand-sdk/commit/e58c9d5ef0b20e33d91c831f4b19c37afae4f9aa) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add some basic sidebar rules +- [`e58c9d5`](https://github.com/Frontify/brand-sdk/commit/e58c9d5ef0b20e33d91c831f4b19c37afae4f9aa) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add some basic sidebar rules -- [`b651e3d`](https://github.com/Frontify/brand-sdk/commit/b651e3d06d19cbf9de6e85ed58aae8a9f2ed2615) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Added few helpers for the `onChange` hook +- [`b651e3d`](https://github.com/Frontify/brand-sdk/commit/b651e3d06d19cbf9de6e85ed58aae8a9f2ed2615) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Added few helpers for the `onChange` hook ## 0.0.5 ### Patch Changes -- [`d4bd194`](https://github.com/Frontify/frontify-cli/commit/d4bd194133470d2a212be80d14e299e63bc12783) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update choice to allow promises +- [`d4bd194`](https://github.com/Frontify/frontify-cli/commit/d4bd194133470d2a212be80d14e299e63bc12783) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update choice to allow promises ## 0.0.4 ### Patch Changes -- [#281](https://github.com/Frontify/frontify-cli/pull/281) [`ab6318e`](https://github.com/Frontify/frontify-cli/commit/ab6318e02b460271fa4ca4d80aa2f95f70a1db2d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export all enum from Fondue +- [#281](https://github.com/Frontify/frontify-cli/pull/281) [`ab6318e`](https://github.com/Frontify/frontify-cli/commit/ab6318e02b460271fa4ca4d80aa2f95f70a1db2d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export all enum from Fondue ## 0.0.3 ### Patch Changes -- [#279](https://github.com/Frontify/frontify-cli/pull/279) [`aa91a2d`](https://github.com/Frontify/frontify-cli/commit/aa91a2d7df7e8f6947b1852d2d2a4d1a12e0d5af) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export enum correctly +- [#279](https://github.com/Frontify/frontify-cli/pull/279) [`aa91a2d`](https://github.com/Frontify/frontify-cli/commit/aa91a2d7df7e8f6947b1852d2d2a4d1a12e0d5af) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Export enum correctly ## 0.0.2 ### Patch Changes -- [#277](https://github.com/Frontify/frontify-cli/pull/277) [`6e3bb0c`](https://github.com/Frontify/frontify-cli/commit/6e3bb0cf08bc616496dcb413dbde8d95094b3a9d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Initial release +- [#277](https://github.com/Frontify/frontify-cli/pull/277) [`6e3bb0c`](https://github.com/Frontify/frontify-cli/commit/6e3bb0cf08bc616496dcb413dbde8d95094b3a9d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Initial release diff --git a/packages/sidebar-settings/package.json b/packages/sidebar-settings/package.json index 34ab3ec2a..a8363dfc4 100644 --- a/packages/sidebar-settings/package.json +++ b/packages/sidebar-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/sidebar-settings", "type": "module", - "version": "0.9.17", + "version": "0.9.18", "description": "Provides types and helpers for the settings sidebar", "author": "Frontify Developers ", "repository": { @@ -33,7 +33,7 @@ "react-dom": "^18" }, "dependencies": { - "@frontify/fondue": "^12.0.10" + "@frontify/fondue": "^12.1.8" }, "devDependencies": { "@babel/core": "^7.24.4", diff --git a/packages/sidebar-settings/vite.config.ts b/packages/sidebar-settings/vite.config.ts index 1f2853e7a..4d134433f 100644 --- a/packages/sidebar-settings/vite.config.ts +++ b/packages/sidebar-settings/vite.config.ts @@ -11,6 +11,11 @@ const dependencies = Object.keys(dependenciesMap); export default defineConfig({ plugins: [dts({ insertTypesEntry: true, rollupTypes: true })], + test: { + deps: { + inline: ['@frontify/fondue'], + }, + }, build: { lib: { entry: resolve(__dirname, 'src/index.ts'), diff --git a/patches/@udecode__plate-emoji@31.0.0.patch b/patches/@udecode__plate-emoji@31.4.0.patch similarity index 76% rename from patches/@udecode__plate-emoji@31.0.0.patch rename to patches/@udecode__plate-emoji@31.4.0.patch index fa97cd12b..0f5434dad 100644 --- a/patches/@udecode__plate-emoji@31.0.0.patch +++ b/patches/@udecode__plate-emoji@31.4.0.patch @@ -1,14 +1,14 @@ diff --git a/dist/index.mjs b/dist/index.mjs -index efc12cbd4f1e8f06dc724d8921b5d7d9c244de33..69173eec772ff448d0cee3fce922ab76f0edca75 100644 +index 3db72c864241a438a9ed3ea2860c311edcc2c410..1f8db9d86cf6e80d0c19312d145da847021e9bf6 100644 --- a/dist/index.mjs +++ b/dist/index.mjs -@@ -348,10 +348,10 @@ var EmojiFloatingGridBuilder = class { +@@ -312,10 +312,10 @@ var EmojiFloatingGridBuilder = class { }; - + // src/utils/EmojiLibrary/EmojiFloatingLibrary.ts -import emojiMartData2 from "@emoji-mart/data"; +import emojiMartData2 from "@emoji-mart/data" assert { type: "json" }; - + // src/utils/EmojiLibrary/EmojiInlineLibrary.ts -import emojiMartData from "@emoji-mart/data"; +import emojiMartData from "@emoji-mart/data" assert { type: "json" }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d423c6f3..10510938a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,9 +5,9 @@ settings: excludeLinksFromLockfile: false patchedDependencies: - '@udecode/plate-emoji@31.0.0': - hash: zd65gtokaotoa2xfhortjmkmjm - path: patches/@udecode__plate-emoji@31.0.0.patch + '@udecode/plate-emoji@31.4.0': + hash: qe3otflfq45s3qpehitpsd2wsy + path: patches/@udecode__plate-emoji@31.4.0.patch importers: @@ -18,52 +18,52 @@ importers: version: 0.5.0 '@changesets/cli': specifier: ^2.27.1 - version: 2.27.1 + version: 2.27.6 '@cypress/vite-dev-server': specifier: ^5.0.7 - version: 5.0.7 + version: 5.1.1 '@frontify/fondue': - specifier: ^12.0.10 - version: 12.0.10(jhbqyupum772ivndo3xkwf7iuu) + specifier: ^12.1.8 + version: 12.1.9(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(@types/node@20.14.9)(@types/react-dom@18.3.0)(@types/react@18.3.3)(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(three@0.165.0)(zdog@1.1.3)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@4.5.3(@types/node@18.19.31)(terser@5.30.4)) + version: 4.3.1(vite@4.5.3(@types/node@20.14.9)(terser@5.31.1)) cypress: specifier: ^13.7.2 - version: 13.7.2 + version: 13.12.0 cypress-real-events: specifier: ^1.12.0 - version: 1.12.0(cypress@13.7.2) + version: 1.13.0(cypress@13.12.0) glob: specifier: ^10.3.12 - version: 10.3.12 + version: 10.4.2 react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) tailwindcss: specifier: ^3.4.3 - version: 3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@18.19.31)(typescript@5.4.4) + version: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vite: specifier: ^4.5.2 - version: 4.5.3(@types/node@18.19.31)(terser@5.30.4) + version: 4.5.3(@types/node@20.14.9)(terser@5.31.1) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages/app-bridge: dependencies: immer: specifier: ^10.0.4 - version: 10.0.4 + version: 10.1.1 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -72,32 +72,32 @@ importers: version: 3.0.1 type-fest: specifier: ^4.15.0 - version: 4.15.0 + version: 4.20.1 devDependencies: '@frontify/eslint-config-react': specifier: ^0.17.6 - version: 0.17.6(eslint@8.57.0)(prettier@3.2.5)(react@18.2.0)(typescript@5.4.4) + version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) '@testing-library/react': specifier: ^14.3.0 - version: 14.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 '@types/react': specifier: ^18.2.75 - version: 18.2.75 + version: 18.3.3 '@types/react-dom': specifier: ^18.2.24 - version: 18.2.24 + version: 18.3.0 '@types/sinon': specifier: ^17.0.3 version: 17.0.3 '@vitest/coverage-v8': specifier: ^1.4.0 - version: 1.4.0(vitest@1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4)) + version: 1.4.0(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1)) '@vitest/ui': specifier: ^1.4.0 - version: 1.4.0(vitest@1.4.0) + version: 1.6.0(vitest@1.6.0) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -109,49 +109,103 @@ importers: version: 13.10.1 msw: specifier: ^1.3.3 - version: 1.3.3(typescript@5.4.4) + version: 1.3.3(typescript@5.5.2) prettier: specifier: ^3.2.5 - version: 3.2.5 + version: 3.3.2 react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) sinon: specifier: ^17.0.1 version: 17.0.1 ts-json-as-const: specifier: ^1.0.7 - version: 1.0.7(typescript@5.4.4) + version: 1.0.7(typescript@5.5.2) typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vite: specifier: ^5.2.10 - version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + version: 5.3.1(@types/node@20.14.9)(terser@5.31.1) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) vite-plugin-static-copy: specifier: ^1.0.2 - version: 1.0.2(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 1.0.5(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) + + packages/app-bridge-app: + devDependencies: + '@frontify/app-bridge': + specifier: workspace:^ + version: link:../app-bridge + '@frontify/eslint-config-react': + specifier: ^0.17.6 + version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) + '@frontify/platform-app': + specifier: workspace:^ + version: link:../platform-app + '@testing-library/react': + specifier: ^14.3.1 + version: 14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@types/react-dom': + specifier: ^18.2.24 + version: 18.3.0 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-plugin-notice: + specifier: ^0.9.10 + version: 0.9.10(eslint@8.57.0) + happy-dom: + specifier: ^13.10.1 + version: 13.10.1 + immer: + specifier: ^10.1.1 + version: 10.1.1 + prettier: + specifier: ^3.3.2 + version: 3.3.2 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + typescript: + specifier: ^5.5.2 + version: 5.5.2 + vite: + specifier: ^5.3.1 + version: 5.3.1(@types/node@20.14.9)(terser@5.31.1) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) + vitest: + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages/app-bridge-theme: devDependencies: '@frontify/eslint-config-react': specifier: ^0.17.6 - version: 0.17.6(eslint@8.57.0)(prettier@3.2.5)(react@18.2.0)(typescript@5.4.4) + version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) '@types/react': specifier: ^18.2.75 - version: 18.2.75 + version: 18.3.3 '@types/react-dom': specifier: ^18.2.24 - version: 18.2.24 + version: 18.3.0 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -160,25 +214,25 @@ importers: version: 0.9.10(eslint@8.57.0) prettier: specifier: ^3.2.5 - version: 3.2.5 + version: 3.3.2 react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 ts-json-as-const: specifier: ^1.0.7 - version: 1.0.7(typescript@5.4.4) + version: 1.0.7(typescript@5.5.2) type-fest: specifier: ^4.15.0 - version: 4.15.0 + version: 4.20.1 typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vite: specifier: ^5.2.10 - version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + version: 5.3.1(@types/node@20.14.9)(terser@5.31.1) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) packages/cli: dependencies: @@ -187,7 +241,7 @@ importers: version: 9.0.1 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 4.3.1(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) archiver: specifier: ^7.0.1 version: 7.0.1 @@ -197,12 +251,15 @@ importers: conf: specifier: ^12.0.0 version: 12.0.0 + esbuild: + specifier: ^0.21.5 + version: 0.21.5 fast-glob: specifier: ^3.3.2 version: 3.3.2 fastify: specifier: ^4.26.2 - version: 4.26.2 + version: 4.28.0 glob-to-regexp: specifier: ^0.4.1 version: 0.4.1 @@ -214,23 +271,23 @@ importers: version: 10.1.0 picocolors: specifier: ^1.0.0 - version: 1.0.0 + version: 1.0.1 prompts: specifier: ^2.4.2 version: 2.4.2 vite: specifier: ^5.2.10 - version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + version: 5.3.1(@types/node@18.19.39)(terser@5.31.1) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 0.6.2(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@frontify/eslint-config-basic': specifier: ^0.20.5 - version: 0.20.5(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.4) + version: 0.20.5(eslint@8.57.0)(prettier@3.3.2)(typescript@5.5.2) '@types/glob-to-regexp': specifier: ^0.4.4 version: 0.4.4 @@ -239,7 +296,7 @@ importers: version: 4.13.4 '@types/node': specifier: ^18.19.31 - version: 18.19.31 + version: 18.19.39 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -248,10 +305,10 @@ importers: version: 8.5.10 '@vitest/coverage-v8': specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4)) + version: 1.4.0(vitest@1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1)) '@vitest/ui': specifier: ^1.4.0 - version: 1.4.0(vitest@1.4.0) + version: 1.6.0(vitest@1.6.0) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -266,92 +323,92 @@ importers: version: 13.5.4 prettier: specifier: ^3.2.5 - version: 3.2.5 + version: 3.3.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@18.19.31)(typescript@5.4.4) + version: 10.9.2(@types/node@18.19.39)(typescript@5.5.2) typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + version: 1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages/guideline-blocks-settings: dependencies: '@ctrl/tinycolor': specifier: ^4.0.4 - version: 4.0.4 + version: 4.1.0 '@dnd-kit/core': specifier: ^6.1.0 - version: 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/modifiers': specifier: ^7.0.0 - version: 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) + version: 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/sortable': specifier: ^8.0.0 - version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) + version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@frontify/app-bridge': specifier: ^3.0.0 || ^4.0.0-alpha.0 - version: 3.9.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sinon@17.0.1) + version: 3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@17.0.1) '@frontify/fondue': - specifier: ^12.0.10 - version: 12.0.10(g2qxhbirnett3q6vknbfcsddau) + specifier: ^12.1.8 + version: 12.1.9(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(three@0.165.0)(zdog@1.1.3)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings '@react-aria/focus': specifier: ^3.16.2 - version: 3.16.2(react@18.2.0) + version: 3.17.1(react@18.3.1) '@react-stately/overlays': specifier: ^3.6.5 - version: 3.6.5(react@18.2.0) + version: 3.6.7(react@18.3.1) + '@tailwindcss/container-queries': + specifier: ^0.1.1 + version: 0.1.1(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) devDependencies: '@babel/core': specifier: ^7.24.4 - version: 7.24.4 + version: 7.24.7 '@frontify/eslint-config-react': specifier: 0.17.6 - version: 0.17.6(eslint@8.57.0)(prettier@3.2.5)(react@18.2.0)(typescript@5.4.4) - '@tailwindcss/container-queries': - specifier: ^0.1.1 - version: 0.1.1(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) + version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) '@testing-library/jest-dom': specifier: ^6.4.2 - version: 6.4.2(vitest@1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4)) + version: 6.4.6(vitest@1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1)) '@testing-library/react': specifier: ^14.3.0 - version: 14.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@9.3.4) '@types/node': specifier: ^18.19.31 - version: 18.19.31 + version: 18.19.39 '@types/react': specifier: ^18.2.75 - version: 18.2.75 + version: 18.3.3 '@types/react-dom': specifier: ^18.2.24 - version: 18.2.24 + version: 18.3.0 '@types/sinon': specifier: ^17.0.3 version: 17.0.3 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 4.3.1(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) '@vitest/ui': specifier: ^1.4.0 - version: 1.4.0(vitest@1.4.0) + version: 1.6.0(vitest@1.6.0) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) cypress: specifier: ^13.7.2 - version: 13.7.2 + version: 13.12.0 cypress-real-events: specifier: ^1.12.0 - version: 1.12.0(cypress@13.7.2) + version: 1.13.0(cypress@13.12.0) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -366,43 +423,43 @@ importers: version: 3.0.1 msw: specifier: ^1.3.3 - version: 1.3.3(typescript@5.4.4) + version: 1.3.3(typescript@5.5.2) postcss: specifier: ^8.4.38 version: 8.4.38 prettier: specifier: ^3.2.5 - version: 3.2.5 + version: 3.3.2 react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) rollup: specifier: ^4.14.1 - version: 4.14.1 + version: 4.18.0 sinon: specifier: 17.0.1 version: 17.0.1 tailwindcss: specifier: ^3.4.3 - version: 3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) + version: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vite: specifier: ^5.2.10 - version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + version: 5.3.1(@types/node@18.19.39)(terser@5.31.1) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 3.9.1(@types/node@18.19.39)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 0.6.2(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + version: 1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages/platform-app: dependencies: @@ -415,10 +472,10 @@ importers: version: link:../app-bridge '@frontify/eslint-config-react': specifier: ^0.17.6 - version: 0.17.6(eslint@8.57.0)(prettier@3.2.5)(react@18.2.0)(typescript@5.4.4) + version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) '@types/react': specifier: ^18.2.75 - version: 18.2.75 + version: 18.3.3 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -427,44 +484,44 @@ importers: version: 0.9.10(eslint@8.57.0) prettier: specifier: ^3.2.5 - version: 3.2.5 + version: 3.3.2 react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vite: specifier: ^5.2.10 - version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + version: 5.3.1(@types/node@20.14.9)(terser@5.31.1) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages/sidebar-settings: dependencies: '@frontify/fondue': - specifier: ^12.0.10 - version: 12.0.10(g2qxhbirnett3q6vknbfcsddau) + specifier: ^12.1.8 + version: 12.1.9(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(@types/node@20.14.9)(@types/react-dom@18.3.0)(@types/react@18.3.3)(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(three@0.165.0)(zdog@1.1.3)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) devDependencies: '@babel/core': specifier: ^7.24.4 - version: 7.24.4 + version: 7.24.7 '@frontify/eslint-config-basic': specifier: ^0.20.5 - version: 0.20.5(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.4) + version: 0.20.5(eslint@8.57.0)(prettier@3.3.2)(typescript@5.5.2) '@types/react': specifier: ^18.2.75 - version: 18.2.75 + version: 18.3.3 '@types/react-dom': specifier: ^18.2.24 - version: 18.2.24 + version: 18.3.0 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -473,95 +530,75 @@ importers: version: 0.9.10(eslint@8.57.0) prettier: specifier: ^3.2.5 - version: 3.2.5 + version: 3.3.2 react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) typescript: specifier: ^5.4.4 - version: 5.4.4 + version: 5.5.2 vite: specifier: ^5.2.10 - version: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + version: 5.3.1(@types/node@20.14.9)(terser@5.31.1) vite-plugin-dts: specifier: ^3.8.1 - version: 3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)) + version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - '@adobe/css-tools@4.3.3': - resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} + '@adobe/css-tools@4.4.0': + resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@ampproject/remapping@2.2.1': - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.23.5': - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.23.5': - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.24.4': - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.23.9': - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.4': - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.23.6': - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} - '@babel/generator@7.24.4': - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.22.5': - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} - '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.23.6': - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.24.4': - resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + '@babel/helper-create-class-features-plugin@7.24.7': + resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.22.15': - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + '@babel/helper-create-regexp-features-plugin@7.24.7': + resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -571,139 +608,113 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-environment-visitor@7.22.20': - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.23.0': - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.22.5': - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.23.0': - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.22.15': - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + '@babel/helper-member-expression-to-functions@7.24.7': + resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.3': - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.23.3': - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.22.5': - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.22.5': - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.0': - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.22.20': - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + '@babel/helper-remap-async-to-generator@7.24.7': + resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.24.1': - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + '@babel/helper-replace-supers@7.24.7': + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.22.5': - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.22.5': - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.23.4': - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.23.5': - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.22.20': - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.23.9': - resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.4': - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + '@babel/helper-wrap-function@7.24.7': + resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.23.4': - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.23.6': - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.23.9': - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.24.4': - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4': - resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7': + resolution: {integrity: sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1': - resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7': + resolution: {integrity: sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1': - resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1': - resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7': + resolution: {integrity: sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -722,8 +733,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-export-default-from@7.24.1': - resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==} + '@babel/plugin-proposal-export-default-from@7.24.7': + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -797,8 +808,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-export-default-from@7.24.1': - resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==} + '@babel/plugin-syntax-export-default-from@7.24.7': + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -808,20 +819,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-flow@7.24.1': - resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} + '@babel/plugin-syntax-flow@7.24.7': + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.24.1': - resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + '@babel/plugin-syntax-import-assertions@7.24.7': + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.24.1': - resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + '@babel/plugin-syntax-import-attributes@7.24.7': + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -836,8 +847,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.24.1': - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -884,8 +895,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.24.1': - resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -896,344 +907,344 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-arrow-functions@7.24.1': - resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.24.3': - resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + '@babel/plugin-transform-async-generator-functions@7.24.7': + resolution: {integrity: sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-to-generator@7.24.1': - resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.24.1': - resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + '@babel/plugin-transform-block-scoped-functions@7.24.7': + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.24.4': - resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + '@babel/plugin-transform-block-scoping@7.24.7': + resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.24.1': - resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + '@babel/plugin-transform-class-properties@7.24.7': + resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.24.4': - resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + '@babel/plugin-transform-class-static-block@7.24.7': + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.24.1': - resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + '@babel/plugin-transform-classes@7.24.7': + resolution: {integrity: sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.24.1': - resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.24.1': - resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + '@babel/plugin-transform-destructuring@7.24.7': + resolution: {integrity: sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.24.1': - resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + '@babel/plugin-transform-dotall-regex@7.24.7': + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.24.1': - resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + '@babel/plugin-transform-duplicate-keys@7.24.7': + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dynamic-import@7.24.1': - resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + '@babel/plugin-transform-dynamic-import@7.24.7': + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.24.1': - resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + '@babel/plugin-transform-exponentiation-operator@7.24.7': + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.24.1': - resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + '@babel/plugin-transform-export-namespace-from@7.24.7': + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-flow-strip-types@7.24.1': - resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + '@babel/plugin-transform-flow-strip-types@7.24.7': + resolution: {integrity: sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.24.1': - resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + '@babel/plugin-transform-for-of@7.24.7': + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-function-name@7.24.1': - resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + '@babel/plugin-transform-function-name@7.24.7': + resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.24.1': - resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + '@babel/plugin-transform-json-strings@7.24.7': + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.24.1': - resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + '@babel/plugin-transform-literals@7.24.7': + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.24.1': - resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + '@babel/plugin-transform-logical-assignment-operators@7.24.7': + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.24.1': - resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + '@babel/plugin-transform-member-expression-literals@7.24.7': + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.24.1': - resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + '@babel/plugin-transform-modules-amd@7.24.7': + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.24.1': - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + '@babel/plugin-transform-modules-commonjs@7.24.7': + resolution: {integrity: sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.24.1': - resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + '@babel/plugin-transform-modules-systemjs@7.24.7': + resolution: {integrity: sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.24.1': - resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + '@babel/plugin-transform-modules-umd@7.24.7': + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5': - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-new-target@7.24.1': - resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + '@babel/plugin-transform-new-target@7.24.7': + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.1': - resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.24.1': - resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + '@babel/plugin-transform-numeric-separator@7.24.7': + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.24.1': - resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + '@babel/plugin-transform-object-rest-spread@7.24.7': + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.24.1': - resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + '@babel/plugin-transform-object-super@7.24.7': + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.24.1': - resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + '@babel/plugin-transform-optional-catch-binding@7.24.7': + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.24.1': - resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + '@babel/plugin-transform-optional-chaining@7.24.7': + resolution: {integrity: sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-parameters@7.24.1': - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.24.1': - resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + '@babel/plugin-transform-private-methods@7.24.7': + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.24.1': - resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.24.1': - resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + '@babel/plugin-transform-property-literals@7.24.7': + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.24.1': - resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.23.3': - resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} + '@babel/plugin-transform-react-jsx-self@7.24.7': + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.23.3': - resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.23.4': - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + '@babel/plugin-transform-react-jsx@7.24.7': + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.24.1': - resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + '@babel/plugin-transform-regenerator@7.24.7': + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-reserved-words@7.24.1': - resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + '@babel/plugin-transform-reserved-words@7.24.7': + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.24.3': - resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} + '@babel/plugin-transform-runtime@7.24.7': + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.24.1': - resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.24.1': - resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-sticky-regex@7.24.1': - resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.24.1': - resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + '@babel/plugin-transform-template-literals@7.24.7': + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.24.1': - resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + '@babel/plugin-transform-typeof-symbol@7.24.7': + resolution: {integrity: sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.24.4': - resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + '@babel/plugin-transform-typescript@7.24.7': + resolution: {integrity: sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.24.1': - resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + '@babel/plugin-transform-unicode-escapes@7.24.7': + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.24.1': - resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + '@babel/plugin-transform-unicode-property-regex@7.24.7': + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.24.1': - resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.24.1': - resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + '@babel/plugin-transform-unicode-sets-regex@7.24.7': + resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.24.4': - resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + '@babel/preset-env@7.24.7': + resolution: {integrity: sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-flow@7.24.1': - resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==} + '@babel/preset-flow@7.24.7': + resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1243,14 +1254,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-typescript@7.24.1': - resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/register@7.23.7': - resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} + '@babel/register@7.24.6': + resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1258,50 +1269,30 @@ packages: '@babel/regjsgen@0.8.0': resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - '@babel/runtime@7.21.0': - resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} - engines: {node: '>=6.9.0'} - - '@babel/runtime@7.23.9': - resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.23.9': - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.24.0': - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.23.9': - resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.24.1': - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} - '@babel/types@7.23.6': - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} - '@babel/types@7.23.9': - resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} - '@babel/types@7.24.0': - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@changesets/apply-release-plan@7.0.0': - resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + '@changesets/apply-release-plan@7.0.3': + resolution: {integrity: sha512-klL6LCdmfbEe9oyfLxnidIf/stFXmrbFO/3gT5LU5pcyoZytzJe4gWpTBx3BPmyNPl16dZ1xrkcW7b98e3tYkA==} - '@changesets/assemble-release-plan@6.0.0': - resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + '@changesets/assemble-release-plan@6.0.2': + resolution: {integrity: sha512-n9/Tdq+ze+iUtjmq0mZO3pEhJTKkku9hUxtUadW30jlN7kONqJG3O6ALeXrmc6gsi/nvoCuKjqEJ68Hk8RbMTQ==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} @@ -1309,24 +1300,24 @@ packages: '@changesets/changelog-github@0.5.0': resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} - '@changesets/cli@2.27.1': - resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + '@changesets/cli@2.27.6': + resolution: {integrity: sha512-PB7KS5JkCQ4WSXlnfThn8CXAHVwYxFdZvYTimhi12fls/tzj9iimUhKsYwkrKSbw1AiVlGCZtihj5Wkt6siIjA==} hasBin: true - '@changesets/config@3.0.0': - resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + '@changesets/config@3.0.1': + resolution: {integrity: sha512-nCr8pOemUjvGJ8aUu8TYVjqnUL+++bFOQHBVmtNbLvKzIDkN/uiP/Z4RKmr7NNaiujIURHySDEGFPftR4GbTUA==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.0.0': - resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + '@changesets/get-dependents-graph@2.1.0': + resolution: {integrity: sha512-QOt6pQq9RVXKGHPVvyKimJDYJumx7p4DO5MO9AhRJYgAPgv0emhNqAqqysSVKHBm4sxKlGN4S1zXOIb5yCFuhQ==} '@changesets/get-github-info@0.6.0': resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} - '@changesets/get-release-plan@4.0.0': - resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + '@changesets/get-release-plan@4.0.2': + resolution: {integrity: sha512-rOalz7nMuMV2vyeP7KBeAhqEB7FM2GFPO5RQSoOoUKKH9L6wW3QyPA2K+/rG9kBrWl2HckPVES73/AuwPvbH3w==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -1346,14 +1337,17 @@ packages: '@changesets/read@0.6.0': resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + '@changesets/should-skip-package@0.1.0': + resolution: {integrity: sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==} + '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.0': - resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + '@changesets/write@0.3.1': + resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -1363,16 +1357,16 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@ctrl/tinycolor@4.0.4': - resolution: {integrity: sha512-DIjWxEgyP+YGh7Znx9PjsunmpVsAySYRofMUjZCRWUZ1JVS8GHurry6OebnQD2dPviRUTH9VmiupFivS7Ik9ew==} + '@ctrl/tinycolor@4.1.0': + resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} engines: {node: '>=14'} '@cypress/request@3.0.1': resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} - '@cypress/vite-dev-server@5.0.7': - resolution: {integrity: sha512-OeVsEvDtoWV/CnvnUEjWny7tsuw84DF78tvnibOWNTOuZzav62U3A07QKK2JDuGAoXQlVTiDWzcCObKIEcOGGg==} + '@cypress/vite-dev-server@5.1.1': + resolution: {integrity: sha512-US2ZA1XcbJFdWx/nnOTtwvSD35MAk2cYbIWIXgrHpIo1J1XJDFAv9uivQ0dHx0TVE8QbMubzGhAICDSI97TtCg==} '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} @@ -1408,8 +1402,8 @@ packages: peerDependencies: react: '>=16.8.0' - '@emoji-mart/data@1.1.2': - resolution: {integrity: sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg==} + '@emoji-mart/data@1.2.1': + resolution: {integrity: sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==} '@emotion/is-prop-valid@0.8.8': resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} @@ -1417,8 +1411,8 @@ packages: '@emotion/memoize@0.7.4': resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] @@ -1429,8 +1423,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1441,8 +1435,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1453,8 +1447,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1465,8 +1459,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1477,8 +1471,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1489,8 +1483,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1501,8 +1495,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1513,8 +1507,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1525,8 +1519,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1537,8 +1531,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1549,8 +1543,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1561,8 +1555,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1573,8 +1567,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1585,8 +1579,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1597,8 +1591,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1609,8 +1603,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1621,8 +1615,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1633,8 +1627,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1645,8 +1639,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1657,8 +1651,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1669,8 +1663,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1681,8 +1675,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1693,8 +1687,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.6.1': - resolution: {integrity: sha512-O7x6dMstWLn2ktjcoiNLDkAGG2EjveHL+Vvc+n0fXumkJYAcSqcVYKtwDU+hDZ0uDUsnUagSYaZrOLAYE8un1A==} + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -1705,26 +1699,26 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@fastify/ajv-compiler@3.5.0': - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + '@fastify/ajv-compiler@3.6.0': + resolution: {integrity: sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==} '@fastify/cors@9.0.1': resolution: {integrity: sha512-YY9Ho3ovI+QHIL2hW+9X4XqQjXLjJqsU+sMV/xFsxZkE8p3GNnYVFpoOxF7SsP5ZL76gwvbo3V9L+FIekBGU4Q==} - '@fastify/deepmerge@1.3.0': - resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} - '@fastify/error@3.4.1': resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} '@fastify/fast-json-stringify-compiler@4.3.0': resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - '@floating-ui/core@1.6.0': - resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + '@fastify/merge-json-schemas@0.1.1': + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + + '@floating-ui/core@1.6.3': + resolution: {integrity: sha512-1ZpCvYf788/ZXOhRQGFxnYQOVgeU+pi0i+d0Ow34La7qjIXETi6RNswGVKkA6KcDO8/+Ysu2E/CeUmmeEBDvTg==} - '@floating-ui/dom@1.3.0': - resolution: {integrity: sha512-qIAwejE3r6NeA107u4ELDKkH8+VtgRKdXqtSPaKflL2S2V+doyN+Wt9s5oHKXPDo4E8TaVXaHT3+6BbagH31xw==} + '@floating-ui/dom@1.6.6': + resolution: {integrity: sha512-qiTYajAnh3P+38kECeffMSQgbvXty2VB6rS+42iWR4FPIlZjLK84E9qtLnMTLIpPz2znD/TaFqaiavMUrS+Hcw==} '@floating-ui/react-dom@1.3.0': resolution: {integrity: sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==} @@ -1732,8 +1726,8 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react-dom@2.0.1': - resolution: {integrity: sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==} + '@floating-ui/react-dom@2.1.1': + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -1744,26 +1738,32 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.1': - resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + '@floating-ui/react@0.26.18': + resolution: {integrity: sha512-enDDX09Jpi3kmhcXXpvs+fvRXOfBj1jUV2KF6uDMf5HjS+SOZJzNTFUW71lKbFcxz0BkmQqwbvqdmHIxMq/fyQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.3': + resolution: {integrity: sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww==} - '@formatjs/ecma402-abstract@1.14.3': - resolution: {integrity: sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==} + '@formatjs/ecma402-abstract@2.0.0': + resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} - '@formatjs/fast-memoize@2.0.1': - resolution: {integrity: sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA==} + '@formatjs/fast-memoize@2.2.0': + resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==} - '@formatjs/icu-messageformat-parser@2.3.0': - resolution: {integrity: sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==} + '@formatjs/icu-messageformat-parser@2.7.8': + resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} - '@formatjs/icu-skeleton-parser@1.3.18': - resolution: {integrity: sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==} + '@formatjs/icu-skeleton-parser@1.8.2': + resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} - '@formatjs/intl-localematcher@0.2.32': - resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==} + '@formatjs/intl-localematcher@0.5.4': + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} - '@frontify/app-bridge@3.9.1': - resolution: {integrity: sha512-X4N0LLEGwOK0rjV2HSykAoqdcXQQV7WQc7kFlz8ajbM0ZHjytWVFBRSJ3HS7Fcij6w/DNQ9zRU3gGoq2nBEWIw==} + '@frontify/app-bridge@3.9.2': + resolution: {integrity: sha512-87JF8vizY2YA3FCB/g6o6aC5eVcqYd/Iceb1OUU9Htxpk1DSjAuN1axDeW4bY/B984nU6RVq4scRdK553X8sJw==} engines: {node: '>=16'} peerDependencies: react: ^18 @@ -1783,34 +1783,36 @@ packages: prettier: ^3.0.0 react: ^18.2.0 - '@frontify/fondue-charts@1.8.3': - resolution: {integrity: sha512-m3uO3/JtQqdZNYbVQqu2DNbJgfbI8Xeokk4AwIW3N3OAXgco7As4m1wFULsgiX0amjSIlrYZYrz5V4P3/gfADw==} + '@frontify/fondue-charts@1.8.5': + resolution: {integrity: sha512-2qRghmVyQ/RHT4Rhw7BatnkkA1VUuk6RJi/3aJA1wDnQYHMRRDKowm9TFTVUZ1bTSC0h/hfHFZ6nEruj2DaV1w==} engines: {node: '>=18'} peerDependencies: + '@frontify/fondue-tokens': ^3.5.2 react: ^18 react-dom: ^18 - '@frontify/fondue-components@1.2.3': - resolution: {integrity: sha512-H7pmiOO2GjBgezdbiIDXlqvwFL4ADapfLP8XEa14VbJ5kSPBqO/q9nFwKm/rx8gFpelYBX/emO6kCcqdzevzPw==} + '@frontify/fondue-components@1.5.0': + resolution: {integrity: sha512-UYa79vevBeI1Ve+JFpYOds1cb41NOj/2FUlQARLXR4vFXAVn7q+JHXuvu7QlYaygc7pAOlSIbGL6VbmHcw73TA==} engines: {node: '>=18'} peerDependencies: - '@frontify/fondue-icons': ^0.2.1 + '@frontify/fondue-icons': ^0.2.2 + '@frontify/fondue-tokens': ^3.5.2 react: ^18 react-dom: ^18 - '@frontify/fondue-icons@0.2.1': - resolution: {integrity: sha512-9+kWouvhbsrBryrFRgBB9ulVjWuO7jalSZc7aN9/pZvQANY3KCJCHGlDQ7UyAOR8BX5zNNIksHYCCRg30ozN6A==} + '@frontify/fondue-icons@0.2.2': + resolution: {integrity: sha512-CxcQgwf5gl+IGUVz7svDhTQOSaMkIkaOmkIKuWXoMn1Mnor9+IivpEWalpzEZz5En2nPn2qTfyaAknGxvTKvAQ==} engines: {node: '>=18'} peerDependencies: react: ^18 - '@frontify/fondue-tokens@3.5.0': - resolution: {integrity: sha512-ZIV12bkg2N+z8AV+yA8nYy2eainfdE1hihwPavoLhXfjFH9iAzS34fv/IkcoKUi1vZkfpmcUKBA4h40IgZSaPg==} + '@frontify/fondue-tokens@3.5.2': + resolution: {integrity: sha512-rDX0//3KcaE7Tf++42XYlf24m0DexQmnPgnXpqlZBBz/FR/lSULg7aT8EH0onYe2/o/9Le+JwE47EJwVTMpMHw==} peerDependencies: tailwindcss: ^3.0.0 - '@frontify/fondue@12.0.10': - resolution: {integrity: sha512-flwcYB2bhPwjd7aRld+j8oq74E60oXQhbVOTEzdkCnegE4P8vIJ6joTdWXG3+2CEenL4vjclAGeZ2WyfQ+S6mg==} + '@frontify/fondue@12.1.9': + resolution: {integrity: sha512-Fgu19h6QvdKzeVAU5PTs/84tl2mLH9TTx/HODHRhz2YWtaIDbw8K2W+BVy6fOjGbdUtE+uinDCkmlOroXMoF+A==} engines: {node: '>=18'} peerDependencies: react: ^18 @@ -1835,17 +1837,17 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@internationalized/date@3.3.0': - resolution: {integrity: sha512-qfRd7jCIgUjabI8RxeAsxhLDRS1u8eUPX96GB5uBp1Tpm6YY6dVveE7YwsTEV6L4QOp5LKFirFHHGsL/XQwJIA==} + '@internationalized/date@3.5.4': + resolution: {integrity: sha512-qoVJVro+O0rBaw+8HPjUB1iH8Ihf8oziEnqMnvhJUSuVIrHOuZ6eNLHNvzXJKUvAtaDiqMnRlg8Z2mgh09BlUw==} - '@internationalized/message@3.1.1': - resolution: {integrity: sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw==} + '@internationalized/message@3.1.4': + resolution: {integrity: sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw==} - '@internationalized/number@3.2.1': - resolution: {integrity: sha512-hK30sfBlmB1aIe3/OwAPg9Ey0DjjXvHEiGVhNaOiBJl31G0B6wMaX8BN3ibzdlpyRNE9p7X+3EBONmxtJO9Yfg==} + '@internationalized/number@3.5.3': + resolution: {integrity: sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw==} - '@internationalized/string@3.1.1': - resolution: {integrity: sha512-fvSr6YRoVPgONiVIUhgCmIAlifMVCeej/snPZVzbzRPxGpHl3o1GRe+d/qh92D8KhgOciruDUH8I5mjdfdjzfA==} + '@internationalized/string@3.2.3': + resolution: {integrity: sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -1883,20 +1885,12 @@ packages: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.3': - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.0': - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.1.2': - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} '@jridgewell/set-array@1.2.1': @@ -1906,15 +1900,9 @@ packages: '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.4.14': - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.18': - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -1974,531 +1962,583 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@polka/url@1.0.0-next.24': - resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@radix-ui/primitive@1.0.1': - resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} + '@radix-ui/number@1.1.0': + resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} - '@radix-ui/react-arrow@1.0.3': - resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} + '@radix-ui/primitive@1.1.0': + resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} + + '@radix-ui/react-arrow@1.1.0': + resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-collection@1.0.3': - resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} + '@radix-ui/react-checkbox@1.1.0': + resolution: {integrity: sha512-3+kSzVfMONtP3B6CvaOrXLVTyGYws7tGmG5kOY0AfyH9sexkLytIwciNwjZhY0RoGOEbxI7bMS21XYB8H5itWQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.0.1': - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + '@radix-ui/react-collection@1.1.0': + resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true - '@radix-ui/react-context@1.0.1': - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} + '@radix-ui/react-compose-refs@1.1.0': + resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-direction@1.0.1': - resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} + '@radix-ui/react-context@1.1.0': + resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.0.5': - resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + '@radix-ui/react-dialog@1.1.1': + resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-focus-guards@1.0.1': - resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + '@radix-ui/react-direction@1.1.0': + resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.0': + resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true - '@radix-ui/react-focus-scope@1.0.4': - resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + '@radix-ui/react-dropdown-menu@2.1.1': + resolution: {integrity: sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-id@1.0.1': - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} + '@radix-ui/react-focus-guards@1.1.0': + resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-popover@1.0.7': - resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} + '@radix-ui/react-focus-scope@1.1.0': + resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-popper@1.1.3': - resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} + '@radix-ui/react-id@1.1.0': + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-label@2.1.0': + resolution: {integrity: sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-portal@1.0.4': - resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + '@radix-ui/react-menu@2.1.1': + resolution: {integrity: sha512-oa3mXRRVjHi6DZu/ghuzdylyjaMXLymx83irM7hTxutQbD+7IhPKdMdRHD26Rm+kHRrWcrUkkRPv5pd47a2xFQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-presence@1.0.1': - resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + '@radix-ui/react-popover@1.1.1': + resolution: {integrity: sha512-3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-primitive@1.0.3': - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + '@radix-ui/react-popper@1.2.0': + resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-progress@1.0.3': - resolution: {integrity: sha512-5G6Om/tYSxjSeEdrb1VfKkfZfn/1IlPWd731h2RfPuSbIfNUgfqAwbKfJCg/PP6nuUCTrYzalwHSpSinoWoCag==} + '@radix-ui/react-portal@1.1.1': + resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.0.4': - resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} + '@radix-ui/react-presence@1.1.0': + resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-separator@1.0.3': - resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} + '@radix-ui/react-primitive@2.0.0': + resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-slot@1.0.2': - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + '@radix-ui/react-progress@1.1.0': + resolution: {integrity: sha512-aSzvnYpP725CROcxAOEBVZZSIQVQdHgBr2QQFKySsaD14u8dNT0batuXI+AAGDdAHfXH8rbnHmjYFqVJ21KkRg==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true - '@radix-ui/react-toggle-group@1.0.4': - resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} + '@radix-ui/react-roving-focus@1.1.0': + resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-toggle@1.0.3': - resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} + '@radix-ui/react-select@2.1.1': + resolution: {integrity: sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-toolbar@1.0.4': - resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} + '@radix-ui/react-separator@1.1.0': + resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-tooltip@1.0.7': - resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} + '@radix-ui/react-slot@1.1.0': + resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-toggle-group@1.1.0': + resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true - '@radix-ui/react-use-callback-ref@1.0.1': - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + '@radix-ui/react-toggle@1.1.0': + resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true - '@radix-ui/react-use-controllable-state@1.0.1': - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + '@radix-ui/react-toolbar@1.1.0': + resolution: {integrity: sha512-ZUKknxhMTL/4hPh+4DuaTot9aO7UD6Kupj4gqXCsBTayX1pD1L+0C2/2VZKXb4tIifQklZ3pf2hG9T+ns+FclQ==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true - '@radix-ui/react-use-escape-keydown@1.0.3': - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + '@radix-ui/react-tooltip@1.1.1': + resolution: {integrity: sha512-LLE8nzNE4MzPMw3O2zlVlkLFid3y9hMUs7uCbSHyKSo+tCN4yMCf+ZCCcfrYgsOC0TiHBPQ1mtpJ2liY3ZT3SQ==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true + '@types/react-dom': + optional: true - '@radix-ui/react-use-layout-effect@1.0.1': - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-use-rect@1.0.1': - resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-use-size@1.0.1': - resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} + '@radix-ui/react-use-escape-keydown@1.1.0': + resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.0.3': - resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} peerDependencies: '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - '@types/react-dom': - optional: true - '@radix-ui/rect@1.0.1': - resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} - - '@react-aria/accordion@3.0.0-alpha.17': - resolution: {integrity: sha512-Kp1AYZ+iPcsLRZ7JHVagaViHXblszAtyU0nglT97/a90eC0TcdTrmt/APNK+ltZzvFhkaBQu4Anf99l9q9g1HQ==} + '@radix-ui/react-use-previous@1.1.0': + resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-aria/aria-modal-polyfill@3.7.8': - resolution: {integrity: sha512-enjYsEiTEQ//EJyXpYawOIG8B1LKuXXGOjHeb9sRr6wqZ76XNZx7L0v04j20Oovfv63MzkYF8j5EdXuxH2MV0w==} + '@radix-ui/react-use-rect@1.1.0': + resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-aria/breadcrumbs@3.5.2': - resolution: {integrity: sha512-un10i3vzT7oCftb6jzbMkt6BI/WGlkr+JvWLWFl9CFXH4AlsIU8jWEsrVFUCySSI8Xsj43074zLsnpxgxLgSOA==} + '@radix-ui/react-use-size@1.1.0': + resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-aria/button@3.9.3': - resolution: {integrity: sha512-ZXo2VGTxfbaTEnfeIlm5ym4vYpGAy8sGrad8Scv+EyDAJWLMKokqctfaN6YSWbqUApC3FN63IvMqASflbmnYig==} + '@radix-ui/react-visually-hidden@1.1.0': + resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@react-aria/checkbox@3.7.0': - resolution: {integrity: sha512-CGVfBcCK3e8YwjPSgIMTQbMxbjTtsDy9xGkw/7iCMVIsHC7MfzO8Ny5qJJbQ2dVkNnSfIgQdtWikYGJN2QjeDw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@radix-ui/rect@1.1.0': + resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} - '@react-aria/combobox@3.4.3': - resolution: {integrity: sha512-MrpxrpJOOIRKMKkFDxTzQFu6y31eL15IsMbTRttO0NsrnQiJl19ojz6MpnhIJjnaC/Wz2EEWqnUawQsJjAVxyQ==} + '@react-aria/accordion@3.0.0-alpha.29': + resolution: {integrity: sha512-WFbXfZ9Z6mk7jto9LI+3z9QNvWNKmAhH44jmRQADKG4JE3p7ATFRdxaLhLVsMktbSKhSrDipwrCWqAkl0HZ1rg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/dialog@3.4.1': - resolution: {integrity: sha512-1P6zCn78OP9nv7/1i4QsysOKQ6gxHy9JUyOj0ixrR1jwYI/psCM2MwT9cfPjuj7pGQys6lsu4glSmZ82zARURQ==} + '@react-aria/aria-modal-polyfill@3.7.10': + resolution: {integrity: sha512-OBRyVwA6orodO6K4e2YDXziWYDIV54FEDUOmSfRO4r6o7Zg0TGxQw8bM1ZIskje9jo2FZb+2vrypR3cKNUy9dQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/focus@3.12.0': - resolution: {integrity: sha512-nY6/2lpXzLep6dzQEESoowiSqNcy7DFWuRD/qHj9uKcQwWpYH/rqBrHVS/RNvL6Cz/fBA7L/4AzByJ6pTBtoeA==} + '@react-aria/breadcrumbs@3.5.13': + resolution: {integrity: sha512-G1Gqf/P6kVdfs94ovwP18fTWuIxadIQgHsXS08JEVcFVYMjb9YjqnEBaohUxD1tq2WldMbYw53ahQblT4NTG+g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/focus@3.16.2': - resolution: {integrity: sha512-Rqo9ummmgotESfypzFjI3uh58yMpL+E+lJBbQuXkBM0u0cU2YYzu0uOrFrq3zcHk997udZvq1pGK/R+2xk9B7g==} + '@react-aria/button@3.9.5': + resolution: {integrity: sha512-dgcYR6j8WDOMLKuVrtxzx4jIC05cVKDzc+HnPO8lNkBAOfjcuN5tkGRtIjLtqjMvpZHhQT5aDbgFpIaZzxgFIg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/grid@3.7.0': - resolution: {integrity: sha512-jXo+/wQotHDSaMSVdVT7Hxzz65Nj2yK1wssIUQPEZalRhcosGWI1vhdQOD0g9GQL1l5DLyw0m55sych6naeBlw==} + '@react-aria/checkbox@3.14.3': + resolution: {integrity: sha512-EtBJL6iu0gvrw3A4R7UeVLR6diaVk/mh4kFBc7c8hQjpEJweRr4hmJT3hrNg3MBcTWLxFiMEXPGgWEwXDBygtA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/i18n@3.8.0': - resolution: {integrity: sha512-zeohg7d66zPLnGQl1rJuVJJ/gP7GmUMxEKIFRwE+rg2u02ldKxJMSb8QKGo605QpFWqo7CuuWYvKJP5Mj+Em/w==} + '@react-aria/combobox@3.9.1': + resolution: {integrity: sha512-SpK92dCmT8qn8aEcUAihRQrBb5LZUhwIbDExFII8PvUvEFy/PoQHXIo3j1V29WkutDBDpMvBv/6XRCHGXPqrhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/interactions@3.13.0': - resolution: {integrity: sha512-gbZL+qs+6FPitR/abAramth4lqz/drEzXwzIDF6p6WyajF805mjyAgZin1/3mQygSE5BwJNDU7jMUSGRvgFyTw==} + '@react-aria/dialog@3.5.14': + resolution: {integrity: sha512-oqDCjQ8hxe3GStf48XWBf2CliEnxlR9GgSYPHJPUc69WBj68D9rVcCW3kogJnLAnwIyf3FnzbX4wSjvUa88sAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/interactions@3.21.1': - resolution: {integrity: sha512-AlHf5SOzsShkHfV8GLLk3v9lEmYqYHURKcXWue0JdYbmquMRkUsf/+Tjl1+zHVAQ8lKqRnPYbTmc4AcZbqxltw==} + '@react-aria/focus@3.17.1': + resolution: {integrity: sha512-FLTySoSNqX++u0nWZJPPN5etXY0WBxaIe/YuL/GTEeuqUIuC/2bJSaw5hlsM6T2yjy6Y/VAxBcKSdAFUlU6njQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/label@3.5.1': - resolution: {integrity: sha512-3KNg6/MJNMN25o0psBbCWzhJNFjtT5NtYJPrFwGHbAfVWvMTRqNftoyrhR490Ac0q2eMKIXkULl1HVn3izrAuw==} + '@react-aria/form@3.0.5': + resolution: {integrity: sha512-n290jRwrrRXO3fS82MyWR+OKN7yznVesy5Q10IclSTVYHHI3VI53xtAPr/WzNjJR1um8aLhOcDNFKwnNIUUCsQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/link@3.3.5': - resolution: {integrity: sha512-BbyoJ73IAQcQMYWFxhV/zJWYFlx4Edprm6xfBZKMEBrEpUcvBwe/X3QsCQmRXZ8fJodMjQ9SdQPyue1yi8Ksrw==} + '@react-aria/grid@3.9.1': + resolution: {integrity: sha512-fGEZqAEaS8mqzV/II3N4ndoNWegIcbh+L3PmKbXdpKKUP8VgMs/WY5rYl5WAF0f5RoFwXqx3ibDLeR9tKj/bOg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/link@3.5.2': - resolution: {integrity: sha512-CCFP11Uietro6TUZpWBoq3Ql/6qss/ODC5XM6oNxckj72IHruFIj8V7Y0tL5x0aE6h38hlKcDf8NCxkQqz2edg==} + '@react-aria/i18n@3.11.1': + resolution: {integrity: sha512-vuiBHw1kZruNMYeKkTGGnmPyMnM5T+gT8bz97H1FqIq1hQ6OPzmtBZ6W6l6OIMjeHI5oJo4utTwfZl495GALFQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/listbox@3.7.1': - resolution: {integrity: sha512-vKovd+u8F7jdcogZeDPtm89gn390cR0xpMbOoyPzbACOdST43SYexDXWV4Ww/M2YWkdJxT3jZ576NeifcfO2MA==} + '@react-aria/interactions@3.21.3': + resolution: {integrity: sha512-BWIuf4qCs5FreDJ9AguawLVS0lV9UU+sK4CCnbCNNmYqOWY+1+gRXCsnOM32K+oMESBxilAjdHW5n1hsMqYMpA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/listbox@3.7.2': - resolution: {integrity: sha512-e3O/u2T3TccinmfS/UvHywxLbASmh28U4020WTpZnIrsaoriVCkGZvG1AYNNPDIESz2WO0oRF6vDrmGunglJ2A==} + '@react-aria/label@3.7.8': + resolution: {integrity: sha512-MzgTm5+suPA3KX7Ug6ZBK2NX9cin/RFLsv1BdafJ6CZpmUSpWnGE/yQfYUB7csN7j31OsZrD3/P56eShYWAQfg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/live-announcer@3.3.0': - resolution: {integrity: sha512-6diTS6mIf70KdxfGqiDxHV+9Qv8a9A88EqBllzXGF6HWPdcwde/GIEmfpTwj8g1ImNGZYUwDkv4Hd9lFj0MXEg==} - - '@react-aria/menu@3.7.0': - resolution: {integrity: sha512-dCSg67G3vEXOovZyaojZXvcq19MLqual6oTSJC9WhNS/SR0AuNPbwMbD34a/b1Je73ro5bzjIbmQPyt/i3XaCA==} + '@react-aria/link@3.7.1': + resolution: {integrity: sha512-a4IaV50P3fXc7DQvEIPYkJJv26JknFbRzFT5MJOMgtzuhyJoQdILEUK6XHYjcSSNCA7uLgzpojArVk5Hz3lCpw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/menu@3.7.1': - resolution: {integrity: sha512-5KIUTs3xYSmERB8qzofFghznMVLcG3RWDnJcQjpRtrrYjm6Oc39TJeodDH874fiEr6o3i5WwMrEYVp7NSxz/TQ==} + '@react-aria/listbox@3.12.1': + resolution: {integrity: sha512-7JiUp0NGykbv/HgSpmTY1wqhuf/RmjFxs1HZcNaTv8A+DlzgJYc7yQqFjP3ZA/z5RvJFuuIxggIYmgIFjaRYdA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/overlays@3.12.0': - resolution: {integrity: sha512-jsGeLTB3W3S5Cf2zDTxh1ODTNkE69miFDOGMB0VLwS1GWDwDvytcTRpBKY9JBrxad+4u0x6evnah7IbJ61qNBA==} + '@react-aria/live-announcer@3.3.4': + resolution: {integrity: sha512-w8lxs35QrRrn6pBNzVfyGOeqWdxeVKf9U6bXIVwhq7rrTqRULL8jqy8RJIMfIs1s8G5FpwWYjyBOjl2g5Cu1iA==} + + '@react-aria/menu@3.14.1': + resolution: {integrity: sha512-BYliRb38uAzq05UOFcD5XkjA5foQoXRbcH3ZufBsc4kvh79BcP1PMW6KsXKGJ7dC/PJWUwCui6QL1kUg8PqMHA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/overlays@3.12.1': - resolution: {integrity: sha512-OSgSopk2uQI5unvC3+fUyngbRFFe4GnF0iopCmrsI7qSQEusJUd4M2SuPVXUBBwWFt5TsiH7TnxmIPWeh5LSoA==} + '@react-aria/overlays@3.22.1': + resolution: {integrity: sha512-GHiFMWO4EQ6+j6b5QCnNoOYiyx1Gk8ZiwLzzglCI4q1NY5AG2EAmfU4Z1+Gtrf2S5Y0zHbumC7rs9GnPoGLUYg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/radio@3.4.1': - resolution: {integrity: sha512-a1JFxFOiExX1ZRGBE31LW4dgc3VmW2v3upJ5snGQldC83o0XxqNavmOef+fMsIRV0AQA/mcxAJVNQ0n9SfIiUQ==} + '@react-aria/radio@3.10.4': + resolution: {integrity: sha512-3fmoMcQtCpgjTwJReFjnvIE/C7zOZeCeWUn4JKDqz9s1ILYsC3Rk5zZ4q66tFn6v+IQnecrKT52wH6+hlVLwTA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/select@3.8.3': - resolution: {integrity: sha512-EkbzbpSEkq0oSmFSeOJskjPzopqmKQ2VxsEaJHL8RebVdJiNxp5kSaBOaH1KxZI9DgrzHQNSRKYJaSJ1pUTfbw==} + '@react-aria/select@3.14.5': + resolution: {integrity: sha512-s8jixBuTUNdKWRHe2tIJqp55ORHeUObGMw1s7PQRRVrrHPdNSYseAOI9B2W7qpl3hKhvjJg40UW+45mcb1WKbw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/selection@3.12.0': - resolution: {integrity: sha512-Akzx5Faxw+sOZFXLCOw6OddDNFbP5Kho3EP6bYJfd2pzMkBc8/JemC/YDrtIuy8e9x6Je9HHSZqtKjwiEaXWog==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-aria/selection@3.14.0': - resolution: {integrity: sha512-4/cq3mP75/qbhz2OkWmrfL6MJ+7+KfFsT6wvVNvxgOWR0n4jivHToKi3DXo2TzInvNU+10Ha7FCWavZoUNgSlA==} + '@react-aria/selection@3.18.1': + resolution: {integrity: sha512-GSqN2jX6lh7v+ldqhVjAXDcrWS3N4IsKXxO6L6Ygsye86Q9q9Mq9twWDWWu5IjHD6LoVZLUBCMO+ENGbOkyqeQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/ssr@3.9.2': - resolution: {integrity: sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==} + '@react-aria/ssr@3.9.4': + resolution: {integrity: sha512-4jmAigVq409qcJvQyuorsmBR4+9r3+JEC60wC+Y0MZV0HCtTmm8D9guYXlJMdx0SSkgj0hHAyFm/HvPNFofCoQ==} engines: {node: '>= 12'} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/table@3.6.0': - resolution: {integrity: sha512-hwq+5iwXVSirmi9Lr0v5wDOv7uz7UD+BUNFXP5d9nknrAKzVYDfpuNpz/Bbhpczp9R89VRBcFvcKJ3cWhESYnw==} + '@react-aria/table@3.14.1': + resolution: {integrity: sha512-WaPgQe4zQF5OaluO5rm+Y2nEoFR63vsLd4BT4yjK1uaFhKhDY2Zk+1SCVQvBLLKS4WK9dhP05nrNzT0vp/ZPOw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/textfield@3.9.1': - resolution: {integrity: sha512-IxJ6QupBD8yiEwF1etj4BWfwjNpc3Y00j+pzRIuo07bbkEOPl0jtKxW5YHG9un6nC9a5CKIHcILato1Q0Tsy0g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-aria/toggle@3.6.0': - resolution: {integrity: sha512-W6xncx5zzqCaPU2XsgjWnACHL3WBpxphYLvF5XlICRg0nZVjGPIWPDDUGyDoPsSUeGMW2vxtFY6erKXtcy4Kgw==} + '@react-aria/textfield@3.14.5': + resolution: {integrity: sha512-hj7H+66BjB1iTKKaFXwSZBZg88YT+wZboEXZ0DNdQB2ytzoz/g045wBItUuNi4ZjXI3P+0AOZznVMYadWBAmiA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/tooltip@3.3.3': - resolution: {integrity: sha512-EF58SQ70KEfGJQErsELJh1dk3KUDrBFmCEHo6kD1fVEHCqUgdWLkz+TCfkiP8VgFoj4WoE8zSpl3MpgGOQr/Gg==} + '@react-aria/toggle@3.10.4': + resolution: {integrity: sha512-bRk+CdB8QzrSyGNjENXiTWxfzYKRw753iwQXsEAU7agPCUdB8cZJyrhbaUoD0rwczzTp2zDbZ9rRbUPdsBE2YQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/utils@3.14.1': - resolution: {integrity: sha512-+ynP0YlxN02MHVEBaeuTrIhBsfBYpfJn36pZm2t7ZEFbafH8DPaMGZ70ffYZXAESkWzRULXL3e79DheWOFI1qA==} + '@react-aria/tooltip@3.7.4': + resolution: {integrity: sha512-+XRx4HlLYqWY3fB8Z60bQi/rbWDIGlFUtXYbtoa1J+EyRWfhpvsYImP8qeeNO/vgjUtDy1j9oKa8p6App9mBMQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/utils@3.23.2': - resolution: {integrity: sha512-yznR9jJ0GG+YJvTMZxijQwVp+ahP66DY0apZf7X+dllyN+ByEDW+yaL1ewYPIpugxVzH5P8jhnBXsIyHKN411g==} + '@react-aria/utils@3.24.1': + resolution: {integrity: sha512-O3s9qhPMd6n42x9sKeJ3lhu5V1Tlnzhu6Yk8QOvDuXf7UGuUjXf9mzfHJt1dYzID4l9Fwm8toczBzPM9t0jc8Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-aria/visually-hidden@3.6.0': - resolution: {integrity: sha512-W3Ix5wdlVzh2GY7dytqOAyLCXiHzk3S4jLKSaoiCwPJX9fHE5zMlZwahhDy27V0LXfjmdjBltbwyEZOq4G/Q0w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-aria/visually-hidden@3.6.1': - resolution: {integrity: sha512-7rUbiaIiR1nok9HAHPn/WcyQlvuldUqxnvh81V4dlI3NtXOgMw7/QaNc5Xo5FFWlsSVpbyK3UVJgzIui0Ns0Xg==} + '@react-aria/visually-hidden@3.8.12': + resolution: {integrity: sha512-Bawm+2Cmw3Xrlr7ARzl2RLtKh0lNUdJ0eNqzWcyx4c0VHUAWtThmH5l+HRqFUGzzutFZVo89SAy40BAbd0gjVw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 @@ -2511,95 +2551,95 @@ packages: '@react-dnd/shallowequal@4.0.2': resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} - '@react-native-community/cli-clean@13.6.4': - resolution: {integrity: sha512-nS1BJ+2Z+aLmqePxB4AYgJ+C/bgQt02xAgSYtCUv+lneRBGhL2tHRrK8/Iolp0y+yQoUtHHf4txYi90zGXLVfw==} + '@react-native-community/cli-clean@13.6.8': + resolution: {integrity: sha512-B1uxlm1N4BQuWFvBL3yRl3LVvydjswsdbTi7tMrHMtSxfRio1p9HjcmDzlzKco09Y+8qBGgakm3jcMZGLbhXQQ==} - '@react-native-community/cli-config@13.6.4': - resolution: {integrity: sha512-GGK415WoTx1R9FXtfb/cTnan9JIWwSm+a5UCuFd6+suzS0oIt1Md1vCzjNh6W1CK3b43rZC2e+3ZU7Ljd7YtyQ==} + '@react-native-community/cli-config@13.6.8': + resolution: {integrity: sha512-RabCkIsWdP4Ex/sf1uSP9qxc30utm+0uIJAjrZkNQynm7T4Lyqn/kT3LKm4yM6M0Qk61YxGguiaXF4601vAduw==} - '@react-native-community/cli-debugger-ui@13.6.4': - resolution: {integrity: sha512-9Gs31s6tA1kuEo69ay9qLgM3x2gsN/RI994DCUKnFSW+qSusQJyyrmfllR2mGU3Wl1W09/nYpIg87W9JPf5y4A==} + '@react-native-community/cli-debugger-ui@13.6.8': + resolution: {integrity: sha512-2cS+MX/Su6sVSjqpDftFOXbK7EuPg98xzsPkdPhkQnkZwvXqodK9CAMuDMbx3lBHHtrPrpMbBCpFmPN8iVOnlA==} - '@react-native-community/cli-doctor@13.6.4': - resolution: {integrity: sha512-lWOXCISH/cHtLvO0cWTr+IPSzA54FewVOw7MoCMEvWusH+1n7c3hXTAve78mLozGQ7iuUufkHFWwKf3dzOkflQ==} + '@react-native-community/cli-doctor@13.6.8': + resolution: {integrity: sha512-/3Vdy9J3hyiu0y3nd/CU3kBqPlTRxnLXg7V6jrA1jbTOlZAMyV9imEkrqEaGK0SMOyMhh9Pipf98Ozhk0Nl4QA==} - '@react-native-community/cli-hermes@13.6.4': - resolution: {integrity: sha512-VIAufA/2wTccbMYBT9o+mQs9baOEpTxCiIdWeVdkPWKzIwtKsLpDZJlUqj4r4rI66mwjFyQ60PhwSzEJ2ApFeQ==} + '@react-native-community/cli-hermes@13.6.8': + resolution: {integrity: sha512-lZi/OBFuZUj5cLK94oEgtrtmxGoqeYVRcnHXl/R5c4put9PDl+qH2bEMlGZkFiw57ae3UZKr3TMk+1s4jh3FYQ==} - '@react-native-community/cli-platform-android@13.6.4': - resolution: {integrity: sha512-WhknYwIobKKCqaGCN3BzZEQHTbaZTDiGvcXzevvN867ldfaGdtbH0DVqNunbPoV1RNzeV9qKoQHFdWBkg83tpg==} + '@react-native-community/cli-platform-android@13.6.8': + resolution: {integrity: sha512-vWrqeLRRTwp2kO33nbrAgbYn8HR2c2CpIfyVJY9Ckk7HGUSwDyxdcSu7YBvt2ShdfLZH0HctWFNXsgGrfg6BDw==} - '@react-native-community/cli-platform-apple@13.6.4': - resolution: {integrity: sha512-TLBiotdIz0veLbmvNQIdUv9fkBx7m34ANGYqr5nH7TFxdmey+Z+omoBqG/HGpvyR7d0AY+kZzzV4k+HkYHM/aQ==} + '@react-native-community/cli-platform-apple@13.6.8': + resolution: {integrity: sha512-1JPohnlXPqU44zns3ALEzIbH2cKRw6JtEDJERgLuEUbs2r2NeJgqDbKyZ7fTTO8o+pegDnn6+Rr7qGVVOuUzzg==} - '@react-native-community/cli-platform-ios@13.6.4': - resolution: {integrity: sha512-8Dlva8RY+MY5nhWAj6V7voG3+JOEzDTJmD0FHqL+4p0srvr9v7IEVcxfw5lKBDIUNd0OMAHNevGA+cyz1J60jg==} + '@react-native-community/cli-platform-ios@13.6.8': + resolution: {integrity: sha512-/IIcIRM8qaoD7iZqsvtf6Qq1AwtChWYfB9sTn3mTiolZ5Zd5bXH37g+6liPfAICRkj2Ptq3iXmjrDVUQAxrOXw==} - '@react-native-community/cli-server-api@13.6.4': - resolution: {integrity: sha512-D2qSuYCFwrrUJUM0SDc9l3lEhU02yjf+9Peri/xhspzAhALnsf6Z/H7BCjddMV42g9/eY33LqiGyN5chr83a+g==} + '@react-native-community/cli-server-api@13.6.8': + resolution: {integrity: sha512-Lx664oWTzpVfbKUTy+3GIX7e+Mt5Zn+zdkM4ehllNdik/lbB3tM9Nrg8PSvOfI+tTXs2w55+nIydLfH+0FqJVg==} - '@react-native-community/cli-tools@13.6.4': - resolution: {integrity: sha512-N4oHLLbeTdg8opqJozjClmuTfazo1Mt+oxU7mr7m45VCsFgBqTF70Uwad289TM/3l44PP679NRMAHVYqpIRYtQ==} + '@react-native-community/cli-tools@13.6.8': + resolution: {integrity: sha512-1MYlae9EkbjC7DBYOGMH5xF9yDoeNYUKgEdDjL6WAUBoF2gtwiZPM6igLKi/+dhb5sCtC7fiLrLi0Oevdf+RmQ==} - '@react-native-community/cli-types@13.6.4': - resolution: {integrity: sha512-NxGCNs4eYtVC8x0wj0jJ/MZLRy8C+B9l8lY8kShuAcvWTv5JXRqmXjg8uK1aA+xikPh0maq4cc/zLw1roroY/A==} + '@react-native-community/cli-types@13.6.8': + resolution: {integrity: sha512-C4mVByy0i+/NPuPhdMLBR7ubEVkjVS1VwoQu/BoG1crJFNE+167QXAzH01eFbXndsjZaMWmD4Gerx7TYc6lHfA==} - '@react-native-community/cli@13.6.4': - resolution: {integrity: sha512-V7rt2N5JY7M4dJFgdNfR164r3hZdR/Z7V54dv85TFQHRbdwF4QrkG+GeagAU54qrkK/OU8OH3AF2+mKuiNWpGA==} + '@react-native-community/cli@13.6.8': + resolution: {integrity: sha512-0lRdgLNaXixWY4BfFRl1J6Ao9Lapo2z+++iE7TD4GAbuxOWJSyFi+KUA8XNfSDyML4jFO02MZgyBPxAWdaminQ==} engines: {node: '>=18'} hasBin: true - '@react-native/assets-registry@0.74.81': - resolution: {integrity: sha512-ms+D6pJ6l30epm53pwnAislW79LEUHJxWfe1Cu0LWyTTBlg1OFoqXfB3eIbpe4WyH3nrlkQAh0yyk4huT2mCvw==} + '@react-native/assets-registry@0.74.84': + resolution: {integrity: sha512-dzUhwyaX04QosWZ8zyaaNB/WYZIdeDN1lcpfQbqiOhZJShRH+FLTDVONE/dqlMQrP+EO7lDqF0RrlIt9lnOCQQ==} engines: {node: '>=18'} - '@react-native/babel-plugin-codegen@0.74.81': - resolution: {integrity: sha512-Bj6g5/xkLMBAdC6665TbD3uCKCQSmLQpGv3gyqya/ydZpv3dDmDXfkGmO4fqTwEMunzu09Sk55st2ipmuXAaAg==} + '@react-native/babel-plugin-codegen@0.74.84': + resolution: {integrity: sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==} engines: {node: '>=18'} - '@react-native/babel-preset@0.74.81': - resolution: {integrity: sha512-H80B3Y3lBBVC4x9tceTEQq/04lx01gW6ajWCcVbd7sHvGEAxfMFEZUmVZr0451Cafn02wVnDJ8psto1F+0w5lw==} + '@react-native/babel-preset@0.74.84': + resolution: {integrity: sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/codegen@0.74.81': - resolution: {integrity: sha512-hhXo4ccv2lYWaJrZDsdbRTZ5SzSOdyZ0MY6YXwf3xEFLuSunbUMu17Rz5LXemKXlpVx4KEgJ/TDc2pPVaRPZgA==} + '@react-native/codegen@0.74.84': + resolution: {integrity: sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==} engines: {node: '>=18'} peerDependencies: '@babel/preset-env': ^7.1.6 - '@react-native/community-cli-plugin@0.74.81': - resolution: {integrity: sha512-ezPOwPxbDgrBZLJJMcXryXJXjv3VWt+Mt4jRZiEtvy6pAoi2owSH0b178T5cEZaWsxQN0BbyJ7F/xJsNiF4z0Q==} + '@react-native/community-cli-plugin@0.74.84': + resolution: {integrity: sha512-GBKE+1sUh86fS2XXV46gMCNHMc1KetshMbYJ0AhDhldpaILZHqRBX50mdVsiYVvkzp4QjM0nmYqefuJ9NVwicQ==} engines: {node: '>=18'} - '@react-native/debugger-frontend@0.74.81': - resolution: {integrity: sha512-HCYF1/88AfixG75558HkNh9wcvGweRaSZGBA71KoZj03umXM8XJy0/ZpacGOml2Fwiqpil72gi6uU+rypcc/vw==} + '@react-native/debugger-frontend@0.74.84': + resolution: {integrity: sha512-YUEA03UNFbiYzHpYxlcS2D9+3eNT5YLGkl5yRg3nOSN6KbCc/OttGnNZme+tuSOJwjMN/vcvtDKYkTqjJw8U0A==} engines: {node: '>=18'} - '@react-native/dev-middleware@0.74.81': - resolution: {integrity: sha512-x2IpvUJN1LJE0WmPsSfQIbQaa9xwH+2VDFOUrzuO9cbQap8rNfZpcvVNbrZgrlKbgS4LXbbsj6VSL8b6SnMKMA==} + '@react-native/dev-middleware@0.74.84': + resolution: {integrity: sha512-veYw/WmyrAOQHUiIeULzn2duJQnXDPiKq2jZ/lcmDo6jsLirpp+Q73lx09TYgy/oVoPRuV0nfmU3x9B6EV/7qQ==} engines: {node: '>=18'} - '@react-native/gradle-plugin@0.74.81': - resolution: {integrity: sha512-7YQ4TLnqfe2kplWWzBWO6k0rPSrWEbuEiRXSJNZQCtCk+t2YX985G62p/9jWm3sGLN4UTcpDXaFNTTPBvlycoQ==} + '@react-native/gradle-plugin@0.74.84': + resolution: {integrity: sha512-wYWC5WWXqzCCe4PDogz9pNc4xH5ZamahW5XGSbrrYJ5V3walZ+7z43V6iEBJkZbLjj9YBcSttkXYGr1Xh4veAg==} engines: {node: '>=18'} - '@react-native/js-polyfills@0.74.81': - resolution: {integrity: sha512-o4MiR+/kkHoeoQ/zPwt81LnTm6pqdg0wOhU7S7vIZUqzJ7YUpnpaAvF+/z7HzUOPudnavoCN0wvcZPe/AMEyCA==} + '@react-native/js-polyfills@0.74.84': + resolution: {integrity: sha512-+PgxuUjBw9JVlz6m4ECsIJMLbDopnr4rpLmsG32hQaJrg0wMuvHtsgAY/J/aVCSG2GNUXexfjrnhc+O9yGOZXQ==} engines: {node: '>=18'} - '@react-native/metro-babel-transformer@0.74.81': - resolution: {integrity: sha512-PVcMjj23poAK6Uemflz4MIJdEpONpjqF7JASNqqQkY6wfDdaIiZSNk8EBCWKb0t7nKqhMvtTq11DMzYJ0JFITg==} + '@react-native/metro-babel-transformer@0.74.84': + resolution: {integrity: sha512-YtVGq7jkgyUECv5yt4BOFbOXyW4ddUn8+dnwGGpJKdfhXYL5o5++AxNdE+2x+SZdkj3JUVekGKPwRabFECABaw==} engines: {node: '>=18'} peerDependencies: '@babel/core': '*' - '@react-native/normalize-colors@0.74.81': - resolution: {integrity: sha512-g3YvkLO7UsSWiDfYAU+gLhRHtEpUyz732lZB+N8IlLXc5MnfXHC8GKneDGY3Mh52I3gBrs20o37D5viQX9E1CA==} + '@react-native/normalize-colors@0.74.84': + resolution: {integrity: sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==} - '@react-native/virtualized-lists@0.74.81': - resolution: {integrity: sha512-5jF9S10Ug2Wl+L/0+O8WmbC726sMMX8jk/1JrvDDK+0DRLMobfjLc1L26fONlVBF7lE5ctqvKZ9TlKdhPTNOZg==} + '@react-native/virtualized-lists@0.74.84': + resolution: {integrity: sha512-XcV+qdqt2WihaY4iRm/M1FdSy+18lecU9mRXNmy9YK8g9Th/8XbNtmmKI0qWBx3KxyuXMH/zd0ps05YTrX16kw==} engines: {node: '>=18'} peerDependencies: '@types/react': ^18.2.6 @@ -2661,148 +2701,96 @@ packages: react-zdog: '>=1.0' zdog: '>=1.0' - '@react-stately/checkbox@3.3.2': - resolution: {integrity: sha512-eU3zvWgQrcqS8UK8ZVkb3fMP816PeuN9N0/dOJKuOXXhkoLPuxtuja1oEqKU3sFMa5+bx3czZhhNIRpr60NAdw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/collections@3.4.4': - resolution: {integrity: sha512-gryUYCe6uzqE0ea5frTwOxOPpx/6Z42PRk7KetOh3ddN3Ts0j8XQP08jP1IB/7BC1QidrkHWvDCqGHxRiEjiIg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/collections@3.7.0': - resolution: {integrity: sha512-xZHJxjGXFe3LUbuNgR1yATBVSIQnm+ItLq2DJZo3JzTtRu3gEwLoRRoapPsBQnC5VsjcaimgoqvT05P0AlvCTQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/combobox@3.2.2': - resolution: {integrity: sha512-kUMxgXskrtwdeEExZkJ9CjF4EJANetj+7970cOevCpy6ePCdrvdgO6+0cMrVvSgZeMaMDZXDIbbF7fqA6w0uXQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/combobox@3.5.0': - resolution: {integrity: sha512-1klrkm1q1awoPUIXt0kKRrUu+rISLQkHRkStjLupXgGOnJUyYP0XWPYHCnRV+IR2K2RnWYiEY5kOi7TEp/F7Fw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/grid@3.6.0': - resolution: {integrity: sha512-Sq/ivfq9Kskghoe6rYh2PfhB9/jBGfoj8wUZ4bqHcalTrBjfUvkcWMSFosibYPNZFDkA7r00bbJPDJVf1VLhuw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/layout@3.12.0': - resolution: {integrity: sha512-CsBGh1Xp3SL64g5xTxNYEWdnNmmqryOyrK4BW59pzpXFytVquv4MBb6t/YRl5PnhtsORxk5aTR21NZkhDQa7jA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/list@3.5.4': - resolution: {integrity: sha512-AB0r2RevKVAP2AOQM1JRuCVjS2UUxMJFshA53t8pV+OSVWeyirYccsMR49mWwU60ZnxYqBWVMN+Pl7NTPTnT8w==} + '@react-stately/checkbox@3.6.5': + resolution: {integrity: sha512-IXV3f9k+LtmfQLE+DKIN41Q5QB/YBLDCB1YVx5PEdRp52S9+EACD5683rjVm8NVRDwjMi2SP6RnFRk7fVb5Azg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/list@3.8.0': - resolution: {integrity: sha512-eJ1iUFnXPZi5MGW2h/RdNTrKtq4HLoAlFAQbC4eSPlET6VDeFsX9NkKhE/A111ia24DnWCqJB5zH20EvNbOxxA==} + '@react-stately/collections@3.10.7': + resolution: {integrity: sha512-KRo5O2MWVL8n3aiqb+XR3vP6akmHLhLWYZEmPKjIv0ghQaEebBTrN3wiEjtd6dzllv0QqcWvDLM1LntNfJ2TsA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/menu@3.4.4': - resolution: {integrity: sha512-WKak1NSV9yDY0tDB4mzsbj0FboTtR06gekio0VmKb1+FmnrC07mef8eGKUn974F0WhTNUy5A1iI5eM0W2YNynA==} + '@react-stately/combobox@3.8.4': + resolution: {integrity: sha512-iLVGvKRRz0TeJXZhZyK783hveHpYA6xovOSdzSD+WGYpiPXo1QrcrNoH3AE0Z2sHtorU+8nc0j58vh5PB+m2AA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/menu@3.5.1': - resolution: {integrity: sha512-nnuZlDBFIc3gB34kofbKDStFg9r8rijY+7ez2VWQmss72I9D7+JTn7OXJxV0oQt2lBYmNfS5W6bC9uXk3Z4dLg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/overlays@3.4.2': - resolution: {integrity: sha512-UTCnn0aT+JL4ZhYPQYUWHwhmuR2T3vKTFUEZeZN9sTuDCctg08VfGoASJx8qofqkLwYJXeb8D5PMhhTDPiUQPw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-stately/overlays@3.6.5': - resolution: {integrity: sha512-U4rCFj6TPJPXLUvYXAcvh+yP/CO2W+7f0IuqP7ZZGE+Osk9qFkT+zRK5/6ayhBDFpmueNfjIEAzT9gYPQwNHFw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + '@react-stately/flags@3.0.3': + resolution: {integrity: sha512-/ha7XFA0RZTQsbzSPwu3KkbNMgbvuM0GuMTYLTBWpgBrovBNTM+QqI/PfZTdHg8PwCYF4H5Y8gjdSpdulCvJFw==} - '@react-stately/radio@3.6.0': - resolution: {integrity: sha512-hzNwIapDSnbk5mCim/AgHQTtHRgy2QiW95okfVnGflzO7nnws8WH/s2Va4f7UupWObPv8XTqHADUEng86mVBJA==} + '@react-stately/form@3.0.3': + resolution: {integrity: sha512-92YYBvlHEWUGUpXgIaQ48J50jU9XrxfjYIN8BTvvhBHdD63oWgm8DzQnyT/NIAMzdLnhkg7vP+fjG8LjHeyIAg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/radio@3.8.0': - resolution: {integrity: sha512-3xNocZ8jlS8JcQtlS+pGhGLmrTA/P6zWs7Xi3Cx/I6ialFVL7IE0W37Z0XTYrvpNhE9hmG4+j63ZqQDNj2nu6A==} + '@react-stately/grid@3.8.7': + resolution: {integrity: sha512-he3TXCLAhF5C5z1/G4ySzcwyt7PEiWcVIupxebJQqRyFrNWemSuv+7tolnStmG8maMVIyV3P/3j4eRBbdSlOIg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/select@3.3.2': - resolution: {integrity: sha512-/C9fW7HT+V9XnmSTiZZqH5cn+ifY9vdXvIKDbUyna98lFHtDgn7i/UvD5edunOGY0qqSMIO3kJ6/BiNg+gpn6Q==} + '@react-stately/list@3.10.5': + resolution: {integrity: sha512-fV9plO+6QDHiewsYIhboxcDhF17GO95xepC5ki0bKXo44gr14g/LSo/BMmsaMnV+1BuGdBunB05bO4QOIaigXA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/select@3.5.0': - resolution: {integrity: sha512-65gCPkIcyhGBDlWKYQY+Xvx38r7dtZ/GMp09LFZqqZTYSe29EgY45Owv4+EQ2ZSoZxb3cEvG/sv+hLL0VSGjgQ==} + '@react-stately/menu@3.7.1': + resolution: {integrity: sha512-mX1w9HHzt+xal1WIT2xGrTQsoLvDwuB2R1Er1MBABs//MsJzccycatcgV/J/28m6tO5M9iuFQQvLV+i1dCtodg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/selection@3.13.0': - resolution: {integrity: sha512-F6FiB5GIS6wdmDDJtD2ofr+y6ysLHcvHVyUZHm00aEup2hcNjtNx3x4MlFIc3tO1LvxDSIIWXJhPXdB4sb32uw==} + '@react-stately/overlays@3.6.7': + resolution: {integrity: sha512-6zp8v/iNUm6YQap0loaFx6PlvN8C0DgWHNlrlzMtMmNuvjhjR0wYXVaTfNoUZBWj25tlDM81ukXOjpRXg9rLrw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/table@3.5.0': - resolution: {integrity: sha512-C0HFfKMCOomqPtRCPs85AtoJGPnGu9mzFfwksFxAssdIatw3t66h5SJS0vSSql7Ku9h70scmvJR+nIOckx0IeA==} + '@react-stately/radio@3.10.4': + resolution: {integrity: sha512-kCIc7tAl4L7Hu4Wt9l2jaa+MzYmAJm0qmC8G8yPMbExpWbLRu6J8Un80GZu+JxvzgDlqDyrVvyv9zFifwH/NkQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/table@3.9.0': - resolution: {integrity: sha512-Cl0jmC5eCEhWBAhCjhGklsgYluziNZHF34lHnc99T/DPP+OxwrgwS9rJKTW7L6UOvHU/ADKjEwkE/fZuqVBohg==} + '@react-stately/select@3.6.4': + resolution: {integrity: sha512-whZgF1N53D0/dS8tOFdrswB0alsk5Q5620HC3z+5f2Hpi8gwgAZ8TYa+2IcmMYRiT+bxVuvEc/NirU9yPmqGbA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/toggle@3.4.2': - resolution: {integrity: sha512-+pO13Ap/tj4optu6VjQrEAaAoZvJAEwarMUaZvrkc0kdvMTNPdiT/2vhN32yvsSW0ssuFqToa3jMrTylCbpo8w==} + '@react-stately/selection@3.15.1': + resolution: {integrity: sha512-6TQnN9L0UY9w19B7xzb1P6mbUVBtW840Cw1SjgNXCB3NPaCf59SwqClYzoj8O2ZFzMe8F/nUJtfU1NS65/OLlw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/toggle@3.7.2': - resolution: {integrity: sha512-SHCF2btcoK57c4lyhucRbyPBAFpp0Pdp0vcPdn3hUgqbu6e5gE0CwG/mgFmZRAQoc7PRc7XifL0uNw8diJJI0Q==} + '@react-stately/table@3.11.8': + resolution: {integrity: sha512-EdyRW3lT1/kAVDp5FkEIi1BQ7tvmD2YgniGdLuW/l9LADo0T+oxZqruv60qpUS6sQap+59Riaxl91ClDxrJnpg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/tooltip@3.2.2': - resolution: {integrity: sha512-Y9itW2PDRWi/FdMYhpAC/kmXx22mRElADbM1AqKkMkWiJHhTbn2Cr5ie1uZcm+SMb5Dq2ypMV5rUzuiCVVB8/g==} + '@react-stately/toggle@3.7.4': + resolution: {integrity: sha512-CoYFe9WrhLkDP4HGDpJYQKwfiYCRBAeoBQHv+JWl5eyK61S8xSwoHsveYuEZ3bowx71zyCnNAqWRrmNOxJ4CKA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/tooltip@3.4.0': - resolution: {integrity: sha512-TQyDIcugRah4eGmbK6UsyrtJrKJKte+xKv8X7kgdiGVMWiENiMG5h+3pGa8OT07FJzg7FvQHkMH+hrIuAqXT2g==} + '@react-stately/tooltip@3.4.9': + resolution: {integrity: sha512-P7CDJsdoKarz32qFwf3VNS01lyC+63gXpDZG31pUu+EO5BeQd4WKN/AH1Beuswpr4GWzxzFc1aXQgERFGVzraA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/tree@3.3.4': - resolution: {integrity: sha512-CBgXvwa9qYBsJuxrAiVgGnm48eSxLe/6OjPMwH1pWf4s383Mx73MbbN4fS0oWDeXBVgdqz5/Xg/p8nvPIvl3WQ==} + '@react-stately/tree@3.8.1': + resolution: {integrity: sha512-LOdkkruJWch3W89h4B/bXhfr0t0t1aRfEp+IMrrwdRAl23NaPqwl5ILHs4Xu5XDHqqhg8co73pHrJwUyiTWEjw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/tree@3.6.0': - resolution: {integrity: sha512-9ekYGaebgMmd2p6PGRzsvr8KsDsDnrJF2uLV1GMq9hBaMxOLN5/dpxgfZGdHWoF3MXgeHeLloqrleMNfO6g64Q==} + '@react-stately/utils@3.10.1': + resolution: {integrity: sha512-VS/EHRyicef25zDZcM/ClpzYMC5i2YGN6uegOeQawmgfGjb02yaCX0F0zR69Pod9m2Hr3wunTbtpgVXvYbZItg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/utils@3.9.1': - resolution: {integrity: sha512-yzw75GE0iUWiyps02BOAPTrybcsMIxEJlzXqtvllAb01O9uX5n0i3X+u2eCpj2UoDF4zS08Ps0jPgWxg8xEYtA==} + '@react-stately/virtualizer@3.7.1': + resolution: {integrity: sha512-voHgE6EQ+oZaLv6u2umKxakvIKNkCQuUihqKACTjdslp7SJh4Mvs3oLBI0hf0JOh+rCcFIKDvQtFwy1fXFRYBA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-stately/virtualizer@3.5.1': - resolution: {integrity: sha512-TVszEl8+os5eAwoETAJ0ndz5cnYFQs52OIcWonKRYbNp5KvWAV+OA2HuIrB3SSC29ZRB2bDqpj4S2LY4wWJPCw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-three/fiber@8.16.2': - resolution: {integrity: sha512-3Z5FW8mxzomBbrw2iF0lNOAlNBr2OK6HR0NM416PzcTs0UcSoPj/nD4eqmrV5Kut6kvCc/TJua5LyeoPE7vSmw==} + '@react-three/fiber@8.16.8': + resolution: {integrity: sha512-Lc8fjATtvQEfSd8d5iKdbpHtRm/aPMeFj7jQvp6TNHfpo8IQTW3wwcE1ZMrGGoUH+w2mnyS+0MK1NLPLnuzGkQ==} peerDependencies: expo: '>=43.0' expo-asset: '>=8.4' @@ -2826,108 +2814,88 @@ packages: react-native: optional: true - '@react-types/accordion@3.0.0-alpha.13': - resolution: {integrity: sha512-RQP+UInEdPjyyX8IbmUbPXgx6NJaKYpNrMDa8yxqDKLH0MIfsKQldu/lBHuRP3OIrVTr18r/ICjdOZjtVObtLw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-types/breadcrumbs@3.6.0': - resolution: {integrity: sha512-EnZk/f59yMQUmH2DW21uo3ajQ7nLEZ/sIMSfEZYP69CFe1by0RKi9aFRjJSrYjxRC0PSHTVPTjIG72KeBSsUGA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-types/button@3.9.2': - resolution: {integrity: sha512-EnPTkGHZRtiwAoJy5q9lDjoG30bEzA/qnvKG29VVXKYAGeqY2IlFs1ypmU+z1X/CpJgPcG3I5cakM7yTVm3pSg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-types/checkbox@3.7.1': - resolution: {integrity: sha512-kuGqjQFex0As/3gfWyk+e9njCcad/ZdnYLLiNvhlk15730xfa0MmnOdpqo9jfuFSXBjOcpxoofvEhvrRMtEdUA==} + '@react-types/accordion@3.0.0-alpha.21': + resolution: {integrity: sha512-cbE06jH/ZoI+1898xd7ocQ/A/Rtkz8wTJAVOYgc8VRY1SYNQ/XZTGH5T6dD6aERAmiDwL/kjD7xhsE80DyaEKA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/combobox@3.6.1': - resolution: {integrity: sha512-CydRYMc80d4Wi6HeXUhmVPrVUnvQm60WJUaX2hM71tkKFo9ZOM6oW02YuOicjkNr7gpM7PLUxvM4Poc9EvDQTw==} + '@react-types/breadcrumbs@3.7.5': + resolution: {integrity: sha512-lV9IDYsMiu2TgdMIjEmsOE0YWwjb3jhUNK1DCZZfq6uWuiHLgyx2EncazJBUWSjHJ4ta32j7xTuXch+8Ai6u/A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/dialog@3.4.5': - resolution: {integrity: sha512-FkxZAYNRWkZVH5rjlw6qyQ/SpoGcYtNI/JQvn1H/xtZy/OJh2b2ERxGWv5x0RItGSeyATdSwFO1Qnf1Kl2K02A==} + '@react-types/button@3.9.4': + resolution: {integrity: sha512-raeQBJUxBp0axNF74TXB8/H50GY8Q3eV6cEKMbZFP1+Dzr09Ngv0tJBeW0ewAxAguNH5DRoMUAUGIXtSXskVdA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/dialog@3.5.1': - resolution: {integrity: sha512-a0eeGIITFuOxY2fIL1WkJT5yWIMIQ+VM4vE5MtS59zV9JynDaiL4uNL4yg08kJZm8oyzxIWwrov4gAbEVVWbDQ==} + '@react-types/checkbox@3.8.1': + resolution: {integrity: sha512-5/oVByPw4MbR/8QSdHCaalmyWC71H/QGgd4aduTJSaNi825o+v/hsN2/CH7Fq9atkLKsC8fvKD00Bj2VGaKriQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/grid@3.1.7': - resolution: {integrity: sha512-YKo/AbJrgWErPmr5y0K4o6Ts9ModFv5+2FVujecIydu3zLuHsVcx//6uVeHSy2W+uTV9vU/dpMP+GGgg+vWQhw==} + '@react-types/combobox@3.11.1': + resolution: {integrity: sha512-UNc3OHt5cUt5gCTHqhQIqhaWwKCpaNciD8R7eQazmHiA9fq8ROlV+7l3gdNgdhJbTf5Bu/V5ISnN7Y1xwL3zqQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/label@3.7.3': - resolution: {integrity: sha512-TKuQ2REPl4UVq/wl3CAujzixeNVVso0Kob+0T1nP8jIt9k9ssdLMAgSh8Z4zNNfR+oBIngYOA9IToMnbx6qACA==} + '@react-types/dialog@3.5.10': + resolution: {integrity: sha512-S9ga+edOLNLZw7/zVOnZdT5T40etpzUYBXEKdFPbxyPYnERvRxJAsC1/ASuBU9fQAXMRgLZzADWV+wJoGS/X9g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/link@3.4.3': - resolution: {integrity: sha512-opKfkcaeV0cir64jPcy7DS0BrmdfuWMjua+MSeNv7FfT/b65rFgPfAOKZcvLWDsaxT5HYb7pivYPBfjKqHsQKw==} + '@react-types/grid@3.2.6': + resolution: {integrity: sha512-XfHenL2jEBUYrhKiPdeM24mbLRXUn79wVzzMhrNYh24nBwhsPPpxF+gjFddT3Cy8dt6tRInfT6pMEu9nsXwaHw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/listbox@3.4.1': - resolution: {integrity: sha512-2h1zJDQI3v4BFBwpjKc+OYXM2EzN2uxG5DiZ4MZUcWJDpa1+rOlfaPtBNUPiEVHt6fm6qeuoYVPf3r65Lo3IDw==} + '@react-types/link@3.5.5': + resolution: {integrity: sha512-G6P5WagHDR87npN7sEuC5IIgL1GsoY4WFWKO4734i2CXRYx24G9P0Su3AX4GA3qpspz8sK1AWkaCzBMmvnunfw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/menu@3.9.0': - resolution: {integrity: sha512-aalUYwOkzcHn8X59vllgtH96YLqZvAr4mTj5GEs8chv5JVlmArUzcDiOymNrYZ0p9JzshzSUqxxXyCFpnnxghw==} + '@react-types/listbox@3.4.9': + resolution: {integrity: sha512-S5G+WmNKUIOPZxZ4svWwWQupP3C6LmVfnf8QQmPDvwYXGzVc0WovkqUWyhhjJirFDswTXRCO9p0yaTHHIlkdwQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/overlays@3.8.5': - resolution: {integrity: sha512-4D7EEBQigD/m8hE68Ys8eloyyZFHHduqykSIgINJ0edmo0jygRbWlTwuhWFR9USgSP4dK54duN0Mvq0m4HEVEw==} + '@react-types/menu@3.9.9': + resolution: {integrity: sha512-FamUaPVs1Fxr4KOMI0YcR2rYZHoN7ypGtgiEiJ11v/tEPjPPGgeKDxii0McCrdOkjheatLN1yd2jmMwYj6hTDg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/radio@3.4.1': - resolution: {integrity: sha512-8r7s+Zj0JoIpYgbuHjhE/eWUHKiptaFvYXMH986yKAg969VQlQiP9Dm4oWv2d+p26WbGK7oJDQJCt8NjASWl8g==} + '@react-types/overlays@3.8.7': + resolution: {integrity: sha512-zCOYvI4at2DkhVpviIClJ7bRrLXYhSg3Z3v9xymuPH3mkiuuP/dm8mUCtkyY4UhVeUTHmrQh1bzaOP00A+SSQA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/select@3.8.0': - resolution: {integrity: sha512-hdaB3CzK8GSip9oGahfnlwolRqdNow85CQwf5P0oEtIDdijihrG6hyphPu5HYGK687EF+lfhnWUYUMwckEwB8Q==} + '@react-types/radio@3.8.1': + resolution: {integrity: sha512-bK0gio/qj1+0Ldu/3k/s9BaOZvnnRgvFtL3u5ky479+aLG5qf1CmYed3SKz8ErZ70JkpuCSrSwSCFf0t1IHovw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/shared@3.16.0': - resolution: {integrity: sha512-IQgU4oAEvMwylEvaTsr2XB1G/mAoMe1JFYLD6G78v++oAR9l8o9MQxZ0YSeANDkqTamb2gKezGoT1RxvSKjVxw==} + '@react-types/select@3.9.4': + resolution: {integrity: sha512-xI7dnOW2st91fPPcv6hdtrTdcfetYiqZuuVPZ5TRobY7Q10/Zqqe/KqtOw1zFKUj9xqNJe4Ov3xP5GSdcO60Eg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/shared@3.22.1': - resolution: {integrity: sha512-PCpa+Vo6BKnRMuOEzy5zAZ3/H5tnQg1e80khMhK2xys0j6ZqzkgQC+fHMNZ7VDFNLqqNMj/o0eVeSBDh2POjkw==} + '@react-types/shared@3.23.1': + resolution: {integrity: sha512-5d+3HbFDxGZjhbMBeFHRQhexMFt4pUce3okyRtUVKbbedQFUrtXSBg9VszgF2RTeQDKDkMCIQDtz5ccP/Lk1gw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/switch@3.3.1': - resolution: {integrity: sha512-EvKWPtcOLTF7Wh8YCxJEtmqRZX3qSLRYPaIntl/CKF+14QXErPXwOn0ObLfy6VNda5jDJBOecWpgC69JEjkvfw==} + '@react-types/table@3.9.5': + resolution: {integrity: sha512-fgM2j9F/UR4Anmd28CueghCgBwOZoCVyN8fjaIFPd2MN4gCwUUfANwxLav65gZk4BpwUXGoQdsW+X50L3555mg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/table@3.6.0': - resolution: {integrity: sha512-jUp8yTWJuJlqpJY+EIEppgjFsZ3oj4y9zg1oUO+l1rqRWEqmAdoq42g3dTZHmnz9hQJkUeo34I1HGaB9kxNqvg==} + '@react-types/textfield@3.9.3': + resolution: {integrity: sha512-DoAY6cYOL0pJhgNGI1Rosni7g72GAt4OVr2ltEx2S9ARmFZ0DBvdhA9lL2nywcnKMf27PEJcKMXzXc10qaHsJw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/textfield@3.7.1': - resolution: {integrity: sha512-6V5+6/VgDbmgN61pyVct1VrXb2hqq7Y43BFQ+/ZhFDlVaMpC5xKWKgW/gPbGLLc27gax8t2Brt7VHJj+d+yrUw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - - '@react-types/tooltip@3.4.0': - resolution: {integrity: sha512-dvMwX377uJAMTuditfvwWed53YjV62XWMqW29Fave4xg3A807VVK3H1iEgwCIGA9ve2XHF8cJbqSHD635qU+tQ==} + '@react-types/tooltip@3.4.9': + resolution: {integrity: sha512-wZ+uF1+Zc43qG+cOJzioBmLUNjRa7ApdcT0LI1VvaYvH5GdfjzUJOorLX9V/vAci0XMJ50UZ+qsh79aUlw2yqg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 @@ -2944,78 +2912,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.14.1': - resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.14.1': - resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.14.1': - resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.14.1': - resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.14.1': - resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.14.1': - resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.14.1': - resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.14.1': - resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} - cpu: [ppc64le] + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.14.1': - resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.14.1': - resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.14.1': - resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.14.1': - resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.14.1': - resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.14.1': - resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.14.1': - resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} cpu: [x64] os: [win32] @@ -3056,8 +3029,8 @@ packages: '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - '@sinonjs/commons@3.0.0': - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} @@ -3071,11 +3044,8 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@swc/helpers@0.4.14': - resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} - - '@swc/helpers@0.5.1': - resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} + '@swc/helpers@0.5.11': + resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} '@tailwindcss/container-queries@0.1.1': resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} @@ -3091,8 +3061,8 @@ packages: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} - '@testing-library/jest-dom@6.4.2': - resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==} + '@testing-library/jest-dom@6.4.6': + resolution: {integrity: sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} peerDependencies: '@jest/globals': '>= 28' @@ -3112,8 +3082,8 @@ packages: vitest: optional: true - '@testing-library/react@14.3.0': - resolution: {integrity: sha512-AYJGvNFMbCa5vt1UtDCa/dcaABrXq8gph6VN+cffIx0UeA0qiGqS+sT60+sb+Gjc8tGXdECWYQgaF0khf8b+Lg==} + '@testing-library/react@14.3.1': + resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} engines: {node: '>=14'} peerDependencies: react: ^18.0.0 @@ -3125,8 +3095,8 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tsconfig/node10@1.0.9': - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} '@tsconfig/node12@1.0.11': resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} @@ -3134,8 +3104,8 @@ packages: '@tsconfig/node14@1.0.3': resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - '@tsconfig/node16@1.0.3': - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -3146,14 +3116,14 @@ packages: '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - '@types/babel__generator@7.6.7': - resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - '@types/babel__traverse@7.20.4': - resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} '@types/cookie@0.4.1': resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} @@ -3197,8 +3167,8 @@ packages: '@types/d3-voronoi@1.1.12': resolution: {integrity: sha512-DauBl25PKZZ0WVJr42a6CNvI6efsdzofl9sajqZr2Gf5Gu733WkDdUGiPkUHXiUvYGzNNlFQde2wdZdfQPG+yw==} - '@types/debug@4.1.7': - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -3212,8 +3182,8 @@ packages: '@types/is-hotkey@0.1.10': resolution: {integrity: sha512-RvC8KMw5BCac1NvRRyaHgMMEtBaZ6wh0pyPTBu7izn4Sj/AX9Y4aXU5c7rX8PnM/knsuUpC1IeoBkANtxBypsQ==} - '@types/istanbul-lib-coverage@2.0.4': - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} '@types/istanbul-lib-report@3.0.3': resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} @@ -3221,11 +3191,8 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/js-levenshtein@1.1.1': - resolution: {integrity: sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==} - - '@types/json-schema@7.0.12': - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + '@types/js-levenshtein@1.1.3': + resolution: {integrity: sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==} '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -3233,23 +3200,17 @@ packages: '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - '@types/lodash@4.14.192': - resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==} - - '@types/lodash@4.14.202': - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + '@types/lodash@4.17.5': + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} - '@types/mdast@3.0.10': - resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} - - '@types/minimist@1.2.2': - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} '@types/mock-fs@4.13.4': resolution: {integrity: sha512-mXmM0o6lULPI8z3XNnQCpL0BGxPwx1Ul1wXYEPBGl4efShyxW2Rln0JOPEWGyZaYZMM6OVXM/15zUuFMY52ljg==} - '@types/ms@0.7.31': - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} @@ -3257,20 +3218,23 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.31': - resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} + '@types/node@18.19.39': + resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} + + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} '@types/prompts@2.4.9': resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} - '@types/prop-types@15.7.5': - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - '@types/react-dom@18.2.24': - resolution: {integrity: sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg==} + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} '@types/react-reconciler@0.26.7': resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==} @@ -3278,14 +3242,14 @@ packages: '@types/react-reconciler@0.28.8': resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==} - '@types/react@18.2.75': - resolution: {integrity: sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==} + '@types/react@18.3.3': + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} - '@types/semver@7.5.0': - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/set-cookie-parser@2.4.3': - resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} + '@types/set-cookie-parser@2.4.9': + resolution: {integrity: sha512-bCorlULvl0xTdjj4BPUHX4cqs9I+go2TfW/7Do1nnFYWS0CPP429Qr1AY42kiFhCwLpvAkWFr1XIBHd8j6/MCQ==} '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -3293,8 +3257,8 @@ packages: '@types/sinonjs__fake-timers@8.1.1': resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - '@types/sinonjs__fake-timers@8.1.2': - resolution: {integrity: sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==} + '@types/sinonjs__fake-timers@8.1.5': + resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} '@types/sizzle@2.3.8': resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} @@ -3302,14 +3266,14 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/unist@2.0.6': - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - '@types/webxr@0.5.15': - resolution: {integrity: sha512-nC9116Gd4N+CqTxqo6gvCfhAMAzgRcfS8ZsciNodHq8uwW4JCVKwhagw8yN0XmC7mHrLnWqniJpoVEiR+72Drw==} + '@types/webxr@0.5.18': + resolution: {integrity: sha512-EM8P5wtYMPUlFbDgKfNoPc5PyhgZvwXz0Wf9gYBfJOpTI8AtPzoLJlvw/D9TmIW/LPLTmwMxWI0axBs3hjLSLg==} '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} @@ -3326,8 +3290,8 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.5.0': - resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} + '@typescript-eslint/eslint-plugin@7.14.1': + resolution: {integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3337,8 +3301,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.5.0': - resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} + '@typescript-eslint/parser@7.14.1': + resolution: {integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3347,12 +3311,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.5.0': - resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} + '@typescript-eslint/scope-manager@7.14.1': + resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.5.0': - resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} + '@typescript-eslint/type-utils@7.14.1': + resolution: {integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3361,12 +3325,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.5.0': - resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} + '@typescript-eslint/types@7.14.1': + resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@7.5.0': - resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} + '@typescript-eslint/typescript-estree@7.14.1': + resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -3374,14 +3338,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.5.0': - resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} + '@typescript-eslint/utils@7.14.1': + resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@7.5.0': - resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} + '@typescript-eslint/visitor-keys@7.14.1': + resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} engines: {node: ^18.18.0 || >=20.0.0} '@udecode/plate-alignment@31.0.0': @@ -3470,10 +3434,10 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' - '@udecode/plate-emoji@31.0.0': - resolution: {integrity: sha512-I9cy3WQWpKIZ4tVcgmbqJ2wnsTN3JubzfYkQEHQIfHejNE3UgHwu/8zcQh+TTb0b4BJ8yE9BY7vN7HVouarvPw==} + '@udecode/plate-emoji@31.4.0': + resolution: {integrity: sha512-Vl2kt/IePtIDbEjD7nZacHv21TYuRDB4cRaW5aF9QT+67vI5fJpBooJSod/Zg5Ck5BOHZ/qCiauxJXBfVaPYpw==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': '>=31.3.2' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -3705,14 +3669,14 @@ packages: peerDependencies: react: ^16.3.0-0 || ^17.0.0-0 || ^18.0.0-0 - '@visx/xychart@3.10.2': - resolution: {integrity: sha512-5anIMd8QELJP+FMYYeC4vtdhSfHZlz+bx5NGe5eNSAfMFmrEJavYmhV8WblnjBa2DAm46E4yAP+8FJJG24MrSA==} + '@visx/xychart@3.11.0': + resolution: {integrity: sha512-phs/q0eeVNJDaHkKLQ+/0UYVt1fiVTaDZPtOVgcFRpEghpRWFgyApGuZ+BWWnTcGzpLEVv1HBcVA6H555IpvJQ==} peerDependencies: '@react-spring/web': ^9.4.5 react: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@vitejs/plugin-react@4.2.1': - resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + '@vitejs/plugin-react@4.3.1': + resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 @@ -3722,25 +3686,25 @@ packages: peerDependencies: vitest: 1.4.0 - '@vitest/expect@1.4.0': - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/runner@1.4.0': - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + '@vitest/runner@1.6.0': + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - '@vitest/snapshot@1.4.0': - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + '@vitest/snapshot@1.6.0': + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - '@vitest/spy@1.4.0': - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - '@vitest/ui@1.4.0': - resolution: {integrity: sha512-XC6CMhN1gzYcGbpn6/Oanj4Au2EXwQEX6vpcOeLlZv8dy7g11Ukx8zwtYQbwxs9duK2s9j2o5rbQiCP5DPAcmw==} + '@vitest/ui@1.6.0': + resolution: {integrity: sha512-k3Lyo+ONLOgylctiGovRKy7V4+dIN2yxstX3eY5cWFXH6WP+ooVX79YSyi0GagdTQzLmT43BF27T0s6dOIPBXA==} peerDependencies: - vitest: 1.4.0 + vitest: 1.6.0 - '@vitest/utils@1.4.0': - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} @@ -3751,11 +3715,11 @@ packages: '@volar/typescript@1.11.1': resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} - '@vue/compiler-core@3.3.4': - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + '@vue/compiler-core@3.4.30': + resolution: {integrity: sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==} - '@vue/compiler-dom@3.3.4': - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + '@vue/compiler-dom@3.4.30': + resolution: {integrity: sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==} '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -3765,31 +3729,13 @@ packages: typescript: optional: true - '@vue/shared@3.3.4': - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + '@vue/shared@3.4.30': + resolution: {integrity: sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==} - '@xmldom/xmldom@0.8.6': - resolution: {integrity: sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==} + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} - '@xstate/immer@0.3.3': - resolution: {integrity: sha512-6AcNYkWdQrU+BKRg0MVjC2HBRZrZWADHJXcUL9uXem4BFpw9qy9NlbLPWkvnDayvmUq2sbYrzWTfxBMaiOhe5A==} - peerDependencies: - immer: ^9.0.6 || ^10 - xstate: ^4.37.2 - - '@xstate/react@1.6.3': - resolution: {integrity: sha512-NCUReRHPGvvCvj2yLZUTfR0qVp6+apc8G83oXSjN4rl89ZjyujiKrTff55bze/HrsvCsP/sUJASf2n0nzMF1KQ==} - peerDependencies: - '@xstate/fsm': ^1.0.0 - react: ^16.8.0 || ^17.0.0 - xstate: ^4.11.0 - peerDependenciesMeta: - '@xstate/fsm': - optional: true - xstate: - optional: true - '@zxing/text-encoding@0.9.0': resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} @@ -3809,17 +3755,12 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -3835,11 +3776,19 @@ packages: ajv: optional: true + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.16.0: + resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} anser@1.4.10: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} @@ -3904,9 +3853,6 @@ packages: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -3919,8 +3865,8 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-hidden@1.2.3: - resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} engines: {node: '>=10'} aria-query@5.1.3: @@ -3933,28 +3879,20 @@ packages: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} - array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.filter@1.0.3: - resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} - engines: {node: '>= 0.4'} - array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} - array.prototype.findlastindex@1.2.4: - resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} array.prototype.flat@1.3.2: @@ -3968,17 +3906,14 @@ packages: array.prototype.toreversed@1.1.2: resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -4024,8 +3959,8 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - atomically@2.0.2: - resolution: {integrity: sha512-Xfmb4q5QV7uqTlVdMSTtO5eF4DCHfNOdaPyKlbFShkzeNP+3lj3yjjcbdjSmEY4+pDBKJ9g26aP+ImTe88UHoQ==} + atomically@2.0.3: + resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} autoprefixer@10.4.19: resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} @@ -4038,24 +3973,24 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + avvio@8.3.2: + resolution: {integrity: sha512-st8e519GWHa/azv8S87mcJvZs4WsgTBjOw/Ih1CP6u+8SZvcOeAYNG6JbsIrAUUJJ7JfmrnOkR8ipDS+u9SIRQ==} aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + aws4@1.13.0: + resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} - axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + axe-core@4.9.1: + resolution: {integrity: sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==} engines: {node: '>=4'} - axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@3.1.1: + resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} - b4a@1.6.4: - resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} babel-core@7.0.0-bridge.0: resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} @@ -4089,6 +4024,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bare-events@2.4.2: + resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -4099,8 +4037,8 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} bl@4.1.0: @@ -4121,15 +4059,12 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - breakword@1.0.5: - resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} - - browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -4196,10 +4131,6 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 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'} @@ -4208,11 +4139,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001588: - resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} - - caniuse-lite@1.0.30001607: - resolution: {integrity: sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==} + caniuse-lite@1.0.30001637: + resolution: {integrity: sha512-1x0qRI1mD1o9e+7mBI7XtzFAP4XszbHaVWsMiGbSPLYekKTJF7K+FNk6AsXH4sUpc+qrsI3pVgf1Jdl/uGkuSQ==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -4258,8 +4186,8 @@ packages: resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} engines: {node: '>= 0.8.0'} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} chrome-launcher@0.15.2: @@ -4270,10 +4198,6 @@ packages: ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -4282,8 +4206,8 @@ packages: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} - classnames@2.3.2: - resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} @@ -4297,12 +4221,12 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} cli-truncate@2.1.0: @@ -4332,8 +4256,8 @@ packages: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} - clsx@2.1.0: - resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} color-convert@1.9.3: @@ -4412,6 +4336,9 @@ packages: resolution: {integrity: sha512-fIWyWUXrJ45cHCIQX+Ck1hrZDIf/9DR0P0Zewn3uNht28hbt5OfGUq8rRWsxi96pZWPyBEd0eY9ama01JTaknA==} engines: {node: '>=18'} + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + connect@3.7.0: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} @@ -4423,12 +4350,12 @@ packages: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - core-js-compat@3.36.1: - resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -4474,29 +4401,16 @@ packages: engines: {node: '>=4'} hasBin: true - csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - - csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - - csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - - csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} - - cypress-real-events@1.12.0: - resolution: {integrity: sha512-oiy+4kGKkzc2PT36k3GGQqkGxNiVypheWjMtfyi89iIk6bYmTzeqxapaLHS3pnhZOX1IEbTDUVxh8T4Nhs1tyQ==} + cypress-real-events@1.13.0: + resolution: {integrity: sha512-LoejtK+dyZ1jaT8wGT5oASTPfsNV8/ClRp99ruN60oPj8cBJYod80iJDyNwfPAu4GCxTXOhhAv9FO65Hpwt6Hg==} peerDependencies: cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x - cypress@13.7.2: - resolution: {integrity: sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==} + cypress@13.12.0: + resolution: {integrity: sha512-udzS2JilmI9ApO/UuqurEwOvThclin5ntz7K0BtnHBs+tg2Bl9QShLISXpSEMDv/u8b6mqdoAdyKeZiSqKWL8g==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -4583,15 +4497,11 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} - dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dayjs@1.11.11: + resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -4619,8 +4529,8 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -4628,10 +4538,6 @@ 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'} @@ -4639,12 +4545,13 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} - deep-equal@2.2.0: - resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -4716,8 +4623,8 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} dir-glob@3.0.1: @@ -4774,6 +4681,11 @@ packages: peerDependencies: react: '>=16.12.0' + downshift@9.0.6: + resolution: {integrity: sha512-lkqWh0eb34XuH+3z3/BH/LGVRV7ur0rielSlxtlQKsjAFF/wc/c0wsM9phUGXyzK2g1QWHoNHQyc+vVAheI17Q==} + peerDependencies: + react: '>=16.12.0' + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -4783,8 +4695,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.673: - resolution: {integrity: sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==} + electron-to-chromium@1.4.812: + resolution: {integrity: sha512-7L8fC2Ey/b6SePDFKR2zHAy4mbdp1/38Yk5TsARO66W3hC5KEaeKMMHoxwtuH+jcu2AYLSn9QX04i95t6Fl1Hg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -4799,14 +4711,10 @@ packages: end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + enhanced-resolve@5.17.0: + resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} - enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -4822,8 +4730,8 @@ packages: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - envinfo@7.12.0: - resolution: {integrity: sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==} + envinfo@7.13.0: + resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} engines: {node: '>=4'} hasBin: true @@ -4841,9 +4749,6 @@ packages: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} - es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -4855,8 +4760,8 @@ packages: es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} es-module-lexer@0.4.1: @@ -4882,13 +4787,13 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} escape-html@1.0.3: @@ -4910,8 +4815,8 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-compat-utils@0.5.0: - resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' @@ -4932,8 +4837,8 @@ packages: eslint: '*' eslint-plugin-import: '*' - eslint-module-utils@2.8.0: - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + eslint-module-utils@2.8.1: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -4969,14 +4874,14 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsonc@2.15.0: - resolution: {integrity: sha512-wAphMVgTQPAKAYV8d/QEkEYDg8uer9nMQ85N17IUiJcAWLxJs83/Exe59dEH9yKUpvpLf46H+wR7/U7lZ3/NpQ==} + eslint-plugin-jsonc@2.16.0: + resolution: {integrity: sha512-Af/ZL5mgfb8FFNleH6KlO4/VdmDuTqmM+SPnWcdoWywTetv7kq+vQe99UyQb9XO3b0OWLVuTH7H0d/PXYCMdSg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' - eslint-plugin-jsx-a11y@6.8.0: - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + eslint-plugin-jsx-a11y@6.9.0: + resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -5016,20 +4921,20 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-promise@6.1.1: - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + eslint-plugin-promise@6.2.0: + resolution: {integrity: sha512-QmAqwizauvnKOlifxyDj2ObfULpHQawlg/zQdgEixur9vl0CvZGv/LCJV2rtj3210QCoeGBzVMfMXqGAOr/4fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.34.1: - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + eslint-plugin-react@7.34.3: + resolution: {integrity: sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -5149,8 +5054,8 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -5162,31 +5067,31 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fast-json-stringify@5.9.1: - resolution: {integrity: sha512-NMrf+uU9UJnTzfxaumMDXK1NWqtPCfGoM9DYIE+ESlaTQqjlANFBy0VAbsm6FB88Mx0nceyi18zTo5kIEUlzxg==} + fast-json-stringify@5.16.1: + resolution: {integrity: sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-querystring@1.1.0: - resolution: {integrity: sha512-LWkjBCZlxjnSanuPpZ6mHswjy8hQv3VcPJsQB3ltUF2zjvrycr0leP3TSTEEfvQ1WEMSRl5YNsGqaft9bjLqEw==} + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - fast-redact@3.1.2: - resolution: {integrity: sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==} + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} engines: {node: '>=6'} - fast-uri@2.2.0: - resolution: {integrity: sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==} + fast-uri@2.4.0: + resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==} - fast-xml-parser@4.3.6: - resolution: {integrity: sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==} + fast-xml-parser@4.4.0: + resolution: {integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==} hasBin: true - fastify-plugin@4.5.0: - resolution: {integrity: sha512-79ak0JxddO0utAXAQ5ccKhvs6vX2MGyHHMMsmZkBANrq3hXc1CHzvNPHOcvTsVMEPl5I+NT+RO4YKMGehOfSIg==} + fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + fastify@4.28.0: + resolution: {integrity: sha512-HhW7UHW07YlqH5qpS0af8d2Gl/o98DhJ8ZDQWHRNDnzeOhZvtreWsX8xanjGgXmkYerGbo8ax/n40Dpwqkot8Q==} fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -5201,8 +5106,8 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - fflate@0.8.1: - resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} @@ -5212,8 +5117,8 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} finalhandler@1.1.2: @@ -5224,8 +5129,8 @@ packages: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} engines: {node: '>=6'} - find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + find-my-way@8.2.0: + resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} engines: {node: '>=14'} find-root@1.1.0: @@ -5250,18 +5155,18 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.234.0: - resolution: {integrity: sha512-J1Wn32xDF1l8FqwshoQnTwC9K3aJ83MFuXUx9AcBQr8ttbI/rkjEgAqnjxaIJuZ6RGMfccN5ZxDJSOMM64qy9Q==} + flow-parser@0.238.2: + resolution: {integrity: sha512-fs7FSnzzKF6oSzjk14JlBHt82DPchYHVsXtPi4Fkn+qrunVjWaBZY7nSO/mC9X4l9+wRah/R69DRd5NGDOrWqw==} engines: {node: '>=0.4.0'} fontfaceobserver@2.1.0: @@ -5270,8 +5175,8 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} forever-agent@0.6.1: @@ -5311,8 +5216,8 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} fs-extra@7.0.1: @@ -5383,8 +5288,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} getos@3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} @@ -5403,16 +5308,14 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} + engines: {node: '>=16 || 14 >=14.18'} hasBin: true - glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported global-dirs@3.0.1: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} @@ -5422,12 +5325,12 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.19.0: - resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} globby@11.1.0: @@ -5440,24 +5343,17 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} happy-dom@13.10.1: resolution: {integrity: sha512-9GZLEFvQL5EgfJX2zcBgu1nsPUn98JF/EiJnSfQbdxI6YEQGqpd09lXXxOmYonRBIEFz9JlGCOiPflDzgS1p8w==} engines: {node: '>=16.0.0'} - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -5484,10 +5380,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5554,8 +5446,8 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} image-size@1.1.1: @@ -5563,11 +5455,8 @@ packages: engines: {node: '>=16.x'} hasBin: true - immer@10.0.4: - resolution: {integrity: sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==} - - immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + immer@10.1.1: + resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} import-fresh@2.0.0: resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} @@ -5591,6 +5480,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -5599,8 +5489,8 @@ packages: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} - inquirer@8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} internal-slot@1.0.7: @@ -5611,8 +5501,8 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - intl-messageformat@10.3.3: - resolution: {integrity: sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==} + intl-messageformat@10.5.14: + resolution: {integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==} invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -5631,9 +5521,6 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -5672,8 +5559,9 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} @@ -5742,8 +5630,9 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} @@ -5768,10 +5657,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 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'} @@ -5792,11 +5677,9 @@ packages: resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} engines: {node: '>=12'} - is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} @@ -5833,14 +5716,16 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} @@ -5858,9 +5743,6 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -5893,8 +5775,8 @@ packages: resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} engines: {node: '>=10'} - istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} iterator.prototype@1.1.2: @@ -5905,8 +5787,8 @@ packages: peerDependencies: react: '>=18.0' - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} jest-environment-node@29.7.0: @@ -5937,15 +5819,15 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - joi@17.13.0: - resolution: {integrity: sha512-9qcrTyoBmFZRNHeVP4edKqIUEgFzq7MHvTNSDuHSqkpOPtiBkgNgcmTSqmiw1kw9tdKaiddvIDv/eCJDxmqWCA==} + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} jotai-optics@0.3.2: resolution: {integrity: sha512-RH6SvqU5hmkVqnHmaqf9zBXvIAs4jLxkDHS4fr5ljuBKHs8+HQ02v+9hX7ahTppxx6dUb0GGUE80jQKJ0kFTLw==} @@ -5953,8 +5835,8 @@ packages: jotai: '>=1.11.0' optics-ts: '*' - jotai-x@1.2.2: - resolution: {integrity: sha512-HaFl3O4aKdBdeTyuzzcvnBWvicXkxl0DBINsqasqWrL7mZov4AAuXUSAsAY817UDwMe1+k77uBazUCFlaiyU3A==} + jotai-x@1.2.3: + resolution: {integrity: sha512-hQSO2oKZAHvH2Ndm8sMQQ+MjQfSZOh33ET6C0S/D10WWOvKTlvAvwvDkt6NNj8psENt+J2rYP8+brmbyimdYDw==} peerDependencies: '@types/react': '>=17.0.0' jotai: '>=2.0.0' @@ -5965,8 +5847,8 @@ packages: react: optional: true - jotai@2.8.0: - resolution: {integrity: sha512-yZNMC36FdLOksOr8qga0yLf14miCJlEThlp5DeFJNnqzm2+ZG7wLcJzoOyij5K6U6Xlc5ljQqPDlJRgqW0Y18g==} + jotai@2.8.3: + resolution: {integrity: sha512-pR4plVvdbzB6zyt7VLLHPMAkcRSKhRIvZKd+qkifQLa3CEziEo1uwZjePj4acTmQrboiISBlYSdCz3gWcr1Nkg==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=17.0.0' @@ -5984,8 +5866,8 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -6024,6 +5906,9 @@ packages: engines: {node: '>=6'} hasBin: true + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -6060,13 +5945,10 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-eslint-parser@2.1.0: - resolution: {integrity: sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==} + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -6081,8 +5963,11 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - just-extend@4.2.1: - resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==} + just-extend@6.2.0: + resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -6099,11 +5984,11 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - konva@9.3.6: - resolution: {integrity: sha512-dqR8EbcM0hjuilZCBP6xauQ5V3kH3m9kBcsDkqPypQuRgsXbcXUrxqYxhNbdvKZpYNW8Amq94jAD/C0NY3qfBQ==} + konva@9.3.12: + resolution: {integrity: sha512-IxX+ka+gVGm63APkB/taepMxpbUdjfLBUA1OIqx7nbH3126Df6eAuVWasH3qh3vg4ctRseops031sZO0b2O33A==} - language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} @@ -6125,8 +6010,8 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - light-my-request@5.11.0: - resolution: {integrity: sha512-qkFCeloXCOMpmEdZ/MV91P8AT4fjwFXWaAFz3lUeStM8RcoM1ks4J/F8r1b3r6y/H4u3ACEJ1T+Gv5bopj7oDA==} + light-my-request@5.13.0: + resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} @@ -6135,6 +6020,10 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -6223,8 +6112,8 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} lru-cache@4.1.5: @@ -6244,16 +6133,11 @@ packages: magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - - magic-string@0.30.9: - resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} - engines: {node: '>=12'} + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -6269,14 +6153,6 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - 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'} - markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} @@ -6292,8 +6168,8 @@ packages: mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} - mdast-util-from-markdown@1.3.0: - resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==} + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} mdast-util-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} @@ -6328,10 +6204,6 @@ packages: memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -6342,153 +6214,153 @@ packages: metric-lcs@0.1.2: resolution: {integrity: sha512-+TZ5dUDPKPJaU/rscTzxyN8ZkX7eAVLAiQU/e+YINleXPv03SCmJShaMT1If1liTH8OcmWXZs0CmzCBRBLcMpA==} - metro-babel-transformer@0.80.8: - resolution: {integrity: sha512-TTzNwRZb2xxyv4J/+yqgtDAP2qVqH3sahsnFu6Xv4SkLqzrivtlnyUbaeTdJ9JjtADJUEjCbgbFgUVafrXdR9Q==} + metro-babel-transformer@0.80.9: + resolution: {integrity: sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ==} engines: {node: '>=18'} - metro-cache-key@0.80.8: - resolution: {integrity: sha512-qWKzxrLsRQK5m3oH8ePecqCc+7PEhR03cJE6Z6AxAj0idi99dHOSitTmY0dclXVB9vP2tQIAE8uTd8xkYGk8fA==} + metro-cache-key@0.80.9: + resolution: {integrity: sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg==} engines: {node: '>=18'} - metro-cache@0.80.8: - resolution: {integrity: sha512-5svz+89wSyLo7BxdiPDlwDTgcB9kwhNMfNhiBZPNQQs1vLFXxOkILwQiV5F2EwYT9DEr6OPZ0hnJkZfRQ8lDYQ==} + metro-cache@0.80.9: + resolution: {integrity: sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w==} engines: {node: '>=18'} - metro-config@0.80.8: - resolution: {integrity: sha512-VGQJpfJawtwRzGzGXVUoohpIkB0iPom4DmSbAppKfumdhtLA8uVeEPp2GM61kL9hRvdbMhdWA7T+hZFDlo4mJA==} + metro-config@0.80.9: + resolution: {integrity: sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg==} engines: {node: '>=18'} - metro-core@0.80.8: - resolution: {integrity: sha512-g6lud55TXeISRTleW6SHuPFZHtYrpwNqbyFIVd9j9Ofrb5IReiHp9Zl8xkAfZQp8v6ZVgyXD7c130QTsCz+vBw==} + metro-core@0.80.9: + resolution: {integrity: sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg==} engines: {node: '>=18'} - metro-file-map@0.80.8: - resolution: {integrity: sha512-eQXMFM9ogTfDs2POq7DT2dnG7rayZcoEgRbHPXvhUWkVwiKkro2ngcBE++ck/7A36Cj5Ljo79SOkYwHaWUDYDw==} + metro-file-map@0.80.9: + resolution: {integrity: sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ==} engines: {node: '>=18'} - metro-minify-terser@0.80.8: - resolution: {integrity: sha512-y8sUFjVvdeUIINDuW1sejnIjkZfEF+7SmQo0EIpYbWmwh+kq/WMj74yVaBWuqNjirmUp1YNfi3alT67wlbBWBQ==} + metro-minify-terser@0.80.9: + resolution: {integrity: sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A==} engines: {node: '>=18'} - metro-resolver@0.80.8: - resolution: {integrity: sha512-JdtoJkP27GGoZ2HJlEsxs+zO7jnDUCRrmwXJozTlIuzLHMRrxgIRRby9fTCbMhaxq+iA9c+wzm3iFb4NhPmLbQ==} + metro-resolver@0.80.9: + resolution: {integrity: sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w==} engines: {node: '>=18'} - metro-runtime@0.80.8: - resolution: {integrity: sha512-2oScjfv6Yb79PelU1+p8SVrCMW9ZjgEiipxq7jMRn8mbbtWzyv3g8Mkwr+KwOoDFI/61hYPUbY8cUnu278+x1g==} + metro-runtime@0.80.9: + resolution: {integrity: sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg==} engines: {node: '>=18'} - metro-source-map@0.80.8: - resolution: {integrity: sha512-+OVISBkPNxjD4eEKhblRpBf463nTMk3KMEeYS8Z4xM/z3qujGJGSsWUGRtH27+c6zElaSGtZFiDMshEb8mMKQg==} + metro-source-map@0.80.9: + resolution: {integrity: sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw==} engines: {node: '>=18'} - metro-symbolicate@0.80.8: - resolution: {integrity: sha512-nwhYySk79jQhwjL9QmOUo4wS+/0Au9joEryDWw7uj4kz2yvw1uBjwmlql3BprQCBzRdB3fcqOP8kO8Es+vE31g==} + metro-symbolicate@0.80.9: + resolution: {integrity: sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA==} engines: {node: '>=18'} hasBin: true - metro-transform-plugins@0.80.8: - resolution: {integrity: sha512-sSu8VPL9Od7w98MftCOkQ1UDeySWbsIAS5I54rW22BVpPnI3fQ42srvqMLaJUQPjLehUanq8St6OMBCBgH/UWw==} + metro-transform-plugins@0.80.9: + resolution: {integrity: sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg==} engines: {node: '>=18'} - metro-transform-worker@0.80.8: - resolution: {integrity: sha512-+4FG3TQk3BTbNqGkFb2uCaxYTfsbuFOCKMMURbwu0ehCP8ZJuTUramkaNZoATS49NSAkRgUltgmBa4YaKZ5mqw==} + metro-transform-worker@0.80.9: + resolution: {integrity: sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ==} engines: {node: '>=18'} - metro@0.80.8: - resolution: {integrity: sha512-in7S0W11mg+RNmcXw+2d9S3zBGmCARDxIwoXJAmLUQOQoYsRP3cpGzyJtc7WOw8+FXfpgXvceD0u+PZIHXEL7g==} + metro@0.80.9: + resolution: {integrity: sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg==} engines: {node: '>=18'} hasBin: true - micromark-core-commonmark@1.0.6: - resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} - micromark-extension-gfm-autolink-literal@1.0.4: - resolution: {integrity: sha512-WCssN+M9rUyfHN5zPBn3/f0mIA7tqArHL/EKbv3CZK+LT2rG77FEikIQEqBkv46fOqXQK4NEW/Pc7Z27gshpeg==} + micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} - micromark-extension-gfm-footnote@1.1.0: - resolution: {integrity: sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA==} + micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} - micromark-extension-gfm-strikethrough@1.0.5: - resolution: {integrity: sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w==} + micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} - micromark-extension-gfm-table@1.0.6: - resolution: {integrity: sha512-92pq7Q+T+4kXH4M6kL+pc8WU23Z9iuhcqmtYFWdFWjm73ZscFpH2xE28+XFpGWlvgq3LUwcN0XC0PGCicYFpgA==} + micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} micromark-extension-gfm-tagfilter@1.0.2: resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} - micromark-extension-gfm-task-list-item@1.0.4: - resolution: {integrity: sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ==} + micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} - micromark-extension-gfm@2.0.2: - resolution: {integrity: sha512-oMBh++llCWHYftkP1NmeoQDHHlj3nsRYL3HBhjwBqm+CjSQ4l/v05XiQMTWqmYh4MLEVbq473qEi6S1wonCxcA==} + micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} - micromark-factory-destination@1.0.0: - resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} - micromark-factory-label@1.0.2: - resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} - micromark-factory-space@1.0.0: - resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - micromark-factory-title@1.0.2: - resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} - micromark-factory-whitespace@1.0.0: - resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} - micromark-util-character@1.1.0: - resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - micromark-util-chunked@1.0.0: - resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} - micromark-util-classify-character@1.0.0: - resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} - micromark-util-combine-extensions@1.0.0: - resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} - micromark-util-decode-numeric-character-reference@1.0.0: - resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} - micromark-util-decode-string@1.0.2: - resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} - micromark-util-encode@1.0.1: - resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - micromark-util-html-tag-name@1.1.0: - resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - micromark-util-normalize-identifier@1.0.0: - resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} - micromark-util-resolve-all@1.0.0: - resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} - micromark-util-sanitize-uri@1.1.0: - resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} - micromark-util-subtokenize@1.0.2: - resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} - micromark-util-symbol@1.0.1: - resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - micromark-util-types@1.0.2: - resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} - micromark@3.1.0: - resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -6535,19 +6407,15 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} mitt@2.1.0: @@ -6556,10 +6424,6 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mixme@0.5.9: - resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} - engines: {node: '>= 8.0.0'} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -6569,8 +6433,8 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} mnemonist@0.39.6: resolution: {integrity: sha512-A/0v5Z59y63US00cRSLiloEIw3t5G+MiKz4BhX21FI+YBJXBOGW0ohFxTxO08dsOYlzxo87T7vGfZKYp2bcAWA==} @@ -6630,8 +6494,8 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - nise@5.1.5: - resolution: {integrity: sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==} + nise@5.1.9: + resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} nocache@3.0.4: resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} @@ -6652,8 +6516,8 @@ packages: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} - node-fetch@2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -6707,8 +6571,8 @@ packages: nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - ob1@0.80.8: - resolution: {integrity: sha512-QHJQk/lXMmAW8I7AIM3in1MSlwe1umR72Chhi8B7Xnq6mzjhBKkA6Fy/zAhQnGkA4S912EPCEvTij5yh+EQTAA==} + ob1@0.80.9: + resolution: {integrity: sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA==} engines: {node: '>=18'} object-assign@4.1.1: @@ -6719,11 +6583,12 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} - object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} engines: {node: '>= 0.4'} object-keys@1.1.1: @@ -6738,26 +6603,28 @@ packages: resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} - object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} - object.groupby@1.0.2: - resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} object.hasown@1.1.4: resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} engines: {node: '>= 0.4'} - object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} obliterator@2.0.4: resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} - on-exit-leak-free@2.1.0: - resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} @@ -6797,8 +6664,8 @@ packages: optics-ts@2.4.1: resolution: {integrity: sha512-HaYzMHvC80r7U/LqAd4hQyopDezC60PO2qF5GuIwALut2cl5rK1VWHsqTp0oqoJJWjiv6uXKqsO+Q2OO0C3MmQ==} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} ora@5.4.1: @@ -6815,8 +6682,8 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - outvariant@1.4.0: - resolution: {integrity: sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==} + outvariant@1.4.2: + resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} @@ -6866,6 +6733,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -6915,15 +6785,12 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} - - path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -6941,8 +6808,8 @@ packages: performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -6956,14 +6823,14 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} - pino-std-serializers@6.1.0: - resolution: {integrity: sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g==} + pino-std-serializers@7.0.0: + resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + pino@9.2.0: + resolution: {integrity: sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==} hasBin: true pirates@4.0.6: @@ -6978,8 +6845,8 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} @@ -7001,8 +6868,8 @@ packages: peerDependencies: postcss: ^8.4.21 - postcss-load-config@4.0.1: - resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: postcss: '>=8.0.9' @@ -7019,8 +6886,8 @@ packages: peerDependencies: postcss: ^8.2.14 - postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} engines: {node: '>=4'} postcss-value-parser@4.2.0: @@ -7030,8 +6897,8 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + preferred-pm@3.1.3: + resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} engines: {node: '>=10'} prelude-ls@1.2.1: @@ -7047,8 +6914,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -7075,9 +6942,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process-warning@2.2.0: - resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} - process-warning@3.0.0: resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} @@ -7103,8 +6967,8 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - proxy-compare@2.4.0: - resolution: {integrity: sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==} + proxy-compare@2.6.0: + resolution: {integrity: sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw==} proxy-from-env@1.0.0: resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} @@ -7118,10 +6982,6 @@ packages: pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - punycode@2.1.1: - resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} - engines: {node: '>=6'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -7150,10 +7010,6 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -7164,14 +7020,14 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - react-datepicker@4.25.0: - resolution: {integrity: sha512-zB7CSi44SJ0sqo8hUQ3BF1saE/knn7u25qEMTO1CQGofY1VAKahO8k9drZtp0cfW1DMfoYLR3uSY1/uMvbEzbg==} + react-datepicker@6.9.0: + resolution: {integrity: sha512-QTxuzeem7BUfVFWv+g5WuvzT0c5BPo+XTCNbMTZKSZQLU+cMMwSUHwspaxuIcDlwNcOH0tiJ+bh1fJ2yxOGYWA==} peerDependencies: react: ^16.9.0 || ^17 || ^18 react-dom: ^16.9.0 || ^17 || ^18 - react-devtools-core@5.1.0: - resolution: {integrity: sha512-NRtLBqYVLrIY+lOa2oTpFiAhI7Hru0AUXI0tP9neCyaPPAzlZyeH0i+VZ0shIyRTJbpvyqbD/uCsewA2hpfZHw==} + react-devtools-core@5.3.0: + resolution: {integrity: sha512-IG3T+azv48Oc5VLdHR4XdBNKNZIUOKRtx0sJMRvb++Zom/uqtx73j6u37JCsIBNIaq6vA7RPH5Bbcf/Wj53KXA==} react-dnd-html5-backend@16.0.1: resolution: {integrity: sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==} @@ -7191,10 +7047,10 @@ packages: '@types/react': optional: true - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 react-fast-compare@3.2.2: resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} @@ -7214,6 +7070,9 @@ packages: react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-konva@18.2.10: resolution: {integrity: sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==} peerDependencies: @@ -7221,8 +7080,8 @@ packages: react: '>=18.0.0' react-dom: '>=18.0.0' - react-native@0.74.0: - resolution: {integrity: sha512-Vpp9WPmkCm4TUH5YDxwQhqktGVon/yLpjbTgjgLqup3GglOgWagYCX3MlmK1iksIcqtyMJHMEWa+UEzJ3G9T8w==} + react-native@0.74.2: + resolution: {integrity: sha512-EBMBjPPL4/GjHMP4NqsZabT3gI5WU9cSmduABGAGrd8uIcmTZ5F2Ng9k6gFmRm7n8e8CULxDNu98ZpQfBjl7Bw==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -7232,8 +7091,8 @@ packages: '@types/react': optional: true - react-onclickoutside@6.13.0: - resolution: {integrity: sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==} + react-onclickoutside@6.13.1: + resolution: {integrity: sha512-LdrrxK/Yh9zbBQdFbMTXPp3dTSN9B+9YJQucdDu3JNKRrbdU+H+/TVONJoWtOwy4II8Sqf1y/DTI6w/vGPYW0w==} peerDependencies: react: ^15.5.x || ^16.x || ^17.x || ^18.x react-dom: ^15.5.x || ^16.x || ^17.x || ^18.x @@ -7251,18 +7110,18 @@ packages: peerDependencies: react: ^18.0.0 - react-reconciler@0.29.0: - resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} + react-reconciler@0.29.2: + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} engines: {node: '>=0.10.0'} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 - react-refresh@0.14.0: - resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-remove-scroll-bar@2.3.4: - resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + react-remove-scroll-bar@2.3.6: + resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7271,8 +7130,8 @@ packages: '@types/react': optional: true - react-remove-scroll@2.5.5: - resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + react-remove-scroll@2.5.7: + resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7308,8 +7167,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-tracked@1.7.11: - resolution: {integrity: sha512-+XXv4dJH7NnLtSD/cPVL9omra4A3KRK91L33owevXZ81r7qF/a9DdCsVZa90jMGht/V1Ym9sasbmidsJykhULQ==} + react-tracked@1.7.14: + resolution: {integrity: sha512-6UMlgQeRAGA+uyYzuQGm7kZB6ZQYFhc7sntgP7Oxwwd6M0Ud/POyb4K3QWT1eXvoifSa80nrAWnXWFGpOvbwkw==} peerDependencies: react: '>=16.8.0' react-dom: '*' @@ -7330,8 +7189,8 @@ packages: react-zdog@1.2.2: resolution: {integrity: sha512-Ix7ALha91aOEwiHuxumCeYbARS5XNpc/w0v145oGkM6poF/CvhKJwzLhM5sEZbtrghMA+psAhOJkCTzJoseicA==} - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -7349,19 +7208,19 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - readable-stream@2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.3.0: - resolution: {integrity: sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==} + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - readdir-glob@1.1.2: - resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -7475,10 +7334,6 @@ packages: resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -7491,16 +7346,16 @@ packages: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} - ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} + ret@0.4.3: + resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} + engines: {node: '>=10'} reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} @@ -7520,8 +7375,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.14.1: - resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -7557,11 +7412,11 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} - safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + safe-regex2@3.1.0: + resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} - safe-stable-stringify@2.4.2: - resolution: {integrity: sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==} + safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} engines: {node: '>=10'} safer-buffer@2.1.2: @@ -7570,8 +7425,8 @@ packages: scheduler@0.21.0: resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==} - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} scheduler@0.24.0-canary-efb381bbf-20230505: resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} @@ -7599,8 +7454,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -7622,8 +7477,8 @@ packages: set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} set-function-name@2.0.2: @@ -7716,17 +7571,8 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true - - sonic-boom@3.7.0: - resolution: {integrity: sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==} - - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + sonic-boom@4.0.1: + resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} @@ -7754,20 +7600,20 @@ packages: spawndamnit@2.0.0: resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} - spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.12: - resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} - split2@4.1.0: - resolution: {integrity: sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} sprintf-js@1.0.3: @@ -7807,20 +7653,17 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} - stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - - streamx@2.15.5: - resolution: {integrity: sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==} + streamx@2.18.0: + resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==} strict-event-emitter@0.2.8: resolution: {integrity: sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A==} - strict-event-emitter@0.4.4: - resolution: {integrity: sha512-rTCFXHBxs2/XvNc7InSkSwUkwyQ0T9eop/Qvm0atNUXpBxjwsJ5yb7Ih/tgHbjPdeCcB4aCP8K4tuo7hNKssNg==} + strict-event-emitter@0.4.6: + resolution: {integrity: sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==} - string-argv@0.3.1: - resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} string-width@4.2.3: @@ -7831,6 +7674,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string.prototype.includes@2.0.0: + resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} + string.prototype.matchall@4.0.11: resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} engines: {node: '>= 0.4'} @@ -7888,8 +7734,8 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} strnum@1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} @@ -7897,9 +7743,9 @@ packages: stubborn-fs@1.2.5: resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} - sucrase@3.32.0: - resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} - engines: {node: '>=8'} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true sudo-prompt@9.2.1: @@ -7934,11 +7780,11 @@ packages: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} - tabbable@6.1.2: - resolution: {integrity: sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==} + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwindcss@3.4.3: - resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} hasBin: true @@ -7946,8 +7792,8 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - tar-stream@3.1.6: - resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} @@ -7961,8 +7807,8 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser@5.30.4: - resolution: {integrity: sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==} + terser@5.31.1: + resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} engines: {node: '>=10'} hasBin: true @@ -7970,6 +7816,9 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + text-decoder@1.1.0: + resolution: {integrity: sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==} + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -7980,11 +7829,11 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-stream@2.3.0: - resolution: {integrity: sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==} + thread-stream@3.1.0: + resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - three@0.163.0: - resolution: {integrity: sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==} + three@0.165.0: + resolution: {integrity: sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA==} throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} @@ -8004,11 +7853,11 @@ packages: tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} - tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} tinyspy@2.2.1: @@ -8019,9 +7868,9 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -8034,35 +7883,31 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toad-cache@3.3.0: - resolution: {integrity: sha512-3oDzcogWGHZdkwrHyvJVpPjA7oNzY6ENOV3PsWJY9XYPZ6INo94Yd47s5may1U+nleBPwDhrRiTPMIvKaa3MQg==} + toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} engines: {node: '>=12'} toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - totalist@3.0.0: - resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - - trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.0.1: - resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} - engines: {node: '>=16.13.0'} + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -8092,16 +7937,8 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} - - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - tty-table@4.2.1: - resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} - engines: {node: '>=8.0.0'} - hasBin: true + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -8117,10 +7954,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -8149,8 +7982,8 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - type-fest@4.15.0: - resolution: {integrity: sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==} + type-fest@4.20.1: + resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} engines: {node: '>=16'} typed-array-buffer@1.0.2: @@ -8174,13 +8007,13 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.4.4: - resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + typescript@5.5.2: + resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} engines: {node: '>=14.17'} hasBin: true - ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} uint8array-extras@0.3.0: resolution: {integrity: sha512-erJsJwQ0tKdwuqI0359U8ijkFmfiTcq25JvvzRVc1VP+2son1NJRXhxcAKJmAW3ajM8JSGAfsAXye8g4s+znxA==} @@ -8243,10 +8076,6 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -8259,8 +8088,8 @@ packages: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -8271,8 +8100,8 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - use-callback-ref@1.3.0: - resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + use-callback-ref@1.3.2: + resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8286,8 +8115,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - use-context-selector@1.4.1: - resolution: {integrity: sha512-Io2ArvcRO+6MWIhkdfMFt+WKQX+Vb++W8DS2l03z/Vw/rz3BclKpM0ynr4LYGyU85Eke+Yx5oIhTY++QR0ZDoA==} + use-context-selector@1.4.4: + resolution: {integrity: sha512-pS790zwGxxe59GoBha3QYOwk8AFGp4DN6DOtH+eoqVmgBBRXVx4IlPDhJmmMiNQAgUaLlP+58aqRC3A4rdaSjg==} peerDependencies: react: '>=16.8.0' react-dom: '*' @@ -8304,8 +8133,8 @@ packages: peerDependencies: react: '>=16.8.0' - use-font-face-observer@1.2.1: - resolution: {integrity: sha512-5ieKTMvtUux0l7YoOEz842djfgMH3oVg+tO13E/kyS+gGRLDyfAMmRv0D3fzM7UdFag1kz+3AQIFLkkfEF3TUg==} + use-font-face-observer@1.2.2: + resolution: {integrity: sha512-5C11YC9vPQn5TeIKDvHHiUg59FBzV1LDIOjYJ2PVgn1raVoKHcuWf3dxVDb7OiqQVg3M2S1jX3LxbLw16xo8gg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8337,11 +8166,6 @@ packages: '@types/react': optional: true - use-subscription@1.8.0: - resolution: {integrity: sha512-LISuG0/TmmoDoCRmV5XAqYkd3UCBNM0ML3gGBndze65WITcsExCD3DTvXXTLyNcOC0heFQZzluW88bN/oC1DQQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - use-sync-external-store@1.2.0: resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: @@ -8369,15 +8193,15 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validator@13.9.0: - resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} + validator@13.12.0: + resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} engines: {node: '>= 0.10'} vary@1.1.2: @@ -8394,13 +8218,13 @@ packages: vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - vite-node@1.4.0: - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-plugin-dts@3.8.1: - resolution: {integrity: sha512-zEYyQxH7lKto1VTKZHF3ZZeOPkkJgnMrePY4VxDHfDSvDjmYMMfWjZxYmNwW8QxbaItWJQhhXY+geAbyNphI7g==} + vite-plugin-dts@3.9.1: + resolution: {integrity: sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -8415,8 +8239,8 @@ packages: peerDependencies: vite: '>=2.0.0' - vite-plugin-static-copy@1.0.2: - resolution: {integrity: sha512-AfmEF+a/mfjsUsrgjbCkhzUCeIUF4EKQXXt3Ie1cour9MBpy6f6GphbdW2td28oYfOrwCyRzFCksgLkpk58q6Q==} + vite-plugin-static-copy@1.0.5: + resolution: {integrity: sha512-02k0Rox+buYdEOfeilKZSgs1gXfPf9RjVztZEIYZgVIxjsVZi6AXssjzdi+qW6zYt00d3bq+tpP2voVXN2fKLw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -8449,8 +8273,8 @@ packages: terser: optional: true - vite@5.2.10: - resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + vite@5.3.1: + resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -8477,43 +8301,15 @@ packages: terser: optional: true - vite@5.2.8: - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vitest@1.4.0: - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -8533,8 +8329,8 @@ packages: vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} - vue-template-compiler@2.7.14: - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} vue-tsc@1.8.27: resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} @@ -8554,8 +8350,8 @@ packages: web-encoding@1.1.5: resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} - web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} webidl-conversions@3.0.1: @@ -8575,8 +8371,8 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - when-exit@2.0.0: - resolution: {integrity: sha512-17lB0PWIgOuil9dgC/vdQY0aq5lwT0umemaIsOTNDBsc1TwclvocXOvkwenwUXEawN5mW3F64X52xPkTFnihDw==} + when-exit@2.1.2: + resolution: {integrity: sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==} which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -8585,11 +8381,12 @@ packages: resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} - which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - which-module@2.0.0: - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} which-pm@2.0.0: resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} @@ -8599,10 +8396,6 @@ packages: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} - which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -8617,6 +8410,10 @@ packages: engines: {node: '>=8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -8635,8 +8432,8 @@ packages: write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - ws@6.2.2: - resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} + ws@6.2.3: + resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -8646,8 +8443,8 @@ packages: utf-8-validate: optional: true - ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 @@ -8658,9 +8455,6 @@ packages: utf-8-validate: optional: true - xstate@4.38.3: - resolution: {integrity: sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw==} - xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -8681,13 +8475,14 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml-eslint-parser@1.2.2: - resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + yaml-eslint-parser@1.2.3: + resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} engines: {node: ^14.17.0 || >=16.0.0} - yaml@2.3.2: - resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} + hasBin: true yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} @@ -8701,8 +8496,8 @@ packages: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} - yargs@17.7.1: - resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} yauzl@2.10.0: @@ -8720,8 +8515,8 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - z-schema@5.0.4: - resolution: {integrity: sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA==} + z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} engines: {node: '>=8.0.0'} hasBin: true @@ -8732,11 +8527,11 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zustand-x@3.0.2: - resolution: {integrity: sha512-tb4qMWbmgrWEdemb+LlrJiHI1ZMxwlQNz7jDHN5iA/vmU8xlpAX80MQZ2FNLP2KejBFEnsA1RWRAO/0D5O0rPw==} + zustand-x@3.0.3: + resolution: {integrity: sha512-EMZAsybLS0JVTeTtZnLap91EAqwgprQgiFEr+/2XmygzaAE8n1aB5kvnFtH7isijBEzNXncq07F98uCWI5roFg==} peerDependencies: zustand: '>=4.3.9' @@ -8749,8 +8544,8 @@ packages: react: optional: true - zustand@4.5.2: - resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} + zustand@4.5.3: + resolution: {integrity: sha512-iH1gA/3uOMR0Gz260Fsklxo7wWEXJ008p1bO9O6gxwkbvBUaTDlcVChkDKGGSsvdbOyVce0nQfBitVH6sbYyew==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -8769,1676 +8564,959 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - - '@adobe/css-tools@4.3.3': {} + '@adobe/css-tools@4.4.0': {} '@alloc/quick-lru@5.2.0': {} - '@ampproject/remapping@2.2.1': + '@ampproject/remapping@2.3.0': dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.23.5': - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - - '@babel/code-frame@7.24.2': + '@babel/code-frame@7.24.7': dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 - '@babel/compat-data@7.23.5': {} + '@babel/compat-data@7.24.7': {} - '@babel/compat-data@7.24.4': {} - - '@babel/core@7.23.9': + '@babel/core@7.24.7': dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helpers': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.24.4': - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.23.6': - dependencies: - '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - - '@babel/generator@7.24.4': + '@babel/generator@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - '@babel/helper-annotate-as-pure@7.22.5': + '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 - '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-compilation-targets@7.23.6': + '@babel/helper-compilation-targets@7.24.7': dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - - '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 + '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)': + '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - debug: 4.3.4(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.4)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - debug: 4.3.4(supports-color@8.1.1) + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + debug: 4.3.5(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color - '@babel/helper-environment-visitor@7.22.20': {} - - '@babel/helper-function-name@7.23.0': - dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 - - '@babel/helper-hoist-variables@7.22.5': + '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.7 - '@babel/helper-member-expression-to-functions@7.23.0': + '@babel/helper-function-name@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/helper-module-imports@7.22.15': + '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.7 - '@babel/helper-module-imports@7.24.3': + '@babel/helper-member-expression-to-functions@7.24.7': dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-optimise-call-expression@7.22.5': + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-plugin-utils@7.22.5': {} - - '@babel/helper-plugin-utils@7.24.0': {} + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9)': + '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 + '@babel/types': 7.24.7 - '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 + '@babel/helper-plugin-utils@7.24.7': {} - '@babel/helper-replace-supers@7.24.1(@babel/core@7.23.9)': + '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': + '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-simple-access@7.22.5': + '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/types': 7.23.9 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/helper-split-export-declaration@7.22.6': + '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.23.9 - - '@babel/helper-string-parser@7.23.4': {} + '@babel/types': 7.24.7 - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-validator-option@7.23.5': {} + '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-wrap-function@7.22.20': - dependencies: - '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/helper-validator-option@7.24.7': {} - '@babel/helpers@7.23.9': + '@babel/helper-wrap-function@7.24.7': dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/helpers@7.24.4': + '@babel/helpers@7.24.7': dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 - '@babel/highlight@7.23.4': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.1 - '@babel/highlight@7.24.2': + '@babel/parser@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 + '@babel/types': 7.24.7 - '@babel/parser@7.23.6': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/types': 7.23.6 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/parser@7.23.9': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/types': 7.23.9 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/parser@7.24.4': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/types': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.23.9)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4)': + '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.9)': + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.4)': + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.9)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.23.9)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.24.4)': + '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.9)': + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.4)': + '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.9)': + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.4)': + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.9)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.23.9)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.4)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.9)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.4)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4)': + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-async-generator-functions@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-classes@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/template': 7.24.7 - '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-destructuring@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9)': + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-flow-strip-types@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9)': + '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9)': + '@babel/plugin-transform-modules-commonjs@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': + '@babel/plugin-transform-modules-systemjs@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9)': + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9)': + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4)': + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9)': + '@babel/plugin-transform-optional-chaining@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9)': + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4)': + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.23.9)': + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)': + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + regenerator-transform: 0.15.2 - '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.23.9)': + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.23.9)': + '@babel/plugin-transform-typeof-symbol@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-typescript@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-unicode-sets-regex@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/preset-env@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-systemjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typeof-symbol': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-sets-regex': 7.24.7(@babel/core@7.24.7) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.7) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.7) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.7) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)': + '@babel/preset-flow@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-classes@7.24.1(@babel/core@7.23.9)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/types': 7.24.7 + esutils: 2.0.3 - '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': + '@babel/preset-typescript@7.24.7(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.23.9)': + '@babel/register@7.24.6(@babel/core@7.24.7)': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.24.0 + '@babel/core': 7.24.7 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.6 + source-map-support: 0.5.21 - '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.24.0 + '@babel/regjsgen@0.8.0': {} - '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.23.9)': + '@babel/runtime@7.24.7': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 + regenerator-runtime: 0.14.1 - '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': + '@babel/template@7.24.7': dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.23.9)': + '@babel/traverse@7.24.7': dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - - '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) - - '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - - '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) - - '@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) - - '@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - - '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - - '@babel/plugin-transform-literals@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - - '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - - '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.22.5 - - '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.22.5 - - '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-identifier': 7.22.20 - - '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-identifier': 7.22.20 - - '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - - '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - - '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - - '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - - '@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) - - '@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) - - '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - - '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - - '@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - - '@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - - '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - - '@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) - - '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.23.9) - '@babel/types': 7.24.0 - - '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/types': 7.24.0 - - '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-runtime@7.24.3(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.23.9) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.23.9) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.23.9) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-spread@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.23.9) - - '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/preset-env@7.24.4(@babel/core@7.23.9)': - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.23.9) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.23.9) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.23.9) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.23.9) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.23.9) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.23.9) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.23.9) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.23.9) - core-js-compat: 3.36.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-env@7.24.4(@babel/core@7.24.4)': - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4) - babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) - babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4) - core-js-compat: 3.36.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-flow@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9)': - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/types': 7.24.0 - esutils: 2.0.3 - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/types': 7.24.0 - esutils: 2.0.3 - - '@babel/preset-typescript@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) - - '@babel/register@7.23.7(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.6 - source-map-support: 0.5.21 - - '@babel/regjsgen@0.8.0': {} - - '@babel/runtime@7.21.0': - dependencies: - regenerator-runtime: 0.13.11 - - '@babel/runtime@7.23.9': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.23.9': - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - - '@babel/template@7.24.0': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - - '@babel/traverse@7.23.9': - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.24.1': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - debug: 4.3.4(supports-color@8.1.1) + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.23.6': - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - '@babel/types@7.23.9': + '@babel/types@7.24.7': dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - '@babel/types@7.24.0': - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 '@bcoe/v8-coverage@0.2.3': {} - '@changesets/apply-release-plan@7.0.0': + '@changesets/apply-release-plan@7.0.3': dependencies: - '@babel/runtime': 7.23.9 - '@changesets/config': 3.0.0 + '@babel/runtime': 7.24.7 + '@changesets/config': 3.0.1 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 + '@changesets/should-skip-package': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -10447,16 +9525,17 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.2 - '@changesets/assemble-release-plan@6.0.0': + '@changesets/assemble-release-plan@6.0.2': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-dependents-graph': 2.1.0 + '@changesets/should-skip-package': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.6.0 + semver: 7.6.2 '@changesets/changelog-git@0.2.0': dependencies: @@ -10470,75 +9549,75 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.27.1': + '@changesets/cli@2.27.6': dependencies: - '@babel/runtime': 7.21.0 - '@changesets/apply-release-plan': 7.0.0 - '@changesets/assemble-release-plan': 6.0.0 + '@babel/runtime': 7.24.7 + '@changesets/apply-release-plan': 7.0.3 + '@changesets/assemble-release-plan': 6.0.2 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.0 + '@changesets/config': 3.0.1 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 - '@changesets/get-release-plan': 4.0.0 + '@changesets/get-dependents-graph': 2.1.0 + '@changesets/get-release-plan': 4.0.2 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/pre': 2.0.0 '@changesets/read': 0.6.0 + '@changesets/should-skip-package': 0.1.0 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.0 + '@changesets/write': 0.3.1 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.0 + '@types/semver': 7.5.8 ansi-colors: 4.1.3 chalk: 2.4.2 - ci-info: 3.8.0 - enquirer: 2.3.6 + ci-info: 3.9.0 + enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 human-id: 1.0.2 - meow: 6.1.1 + mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.0.3 + preferred-pm: 3.1.3 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.2 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.1 - '@changesets/config@3.0.0': + '@changesets/config@3.0.1': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.0.0 + '@changesets/get-dependents-graph': 2.1.0 '@changesets/logger': 0.1.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.5 + micromatch: 4.0.7 '@changesets/errors@0.2.0': dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.0.0': + '@changesets/get-dependents-graph@2.1.0': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 - semver: 7.6.0 + semver: 7.6.2 '@changesets/get-github-info@0.6.0': dependencies: dataloader: 1.4.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.0': + '@changesets/get-release-plan@4.0.2': dependencies: - '@babel/runtime': 7.23.9 - '@changesets/assemble-release-plan': 6.0.0 - '@changesets/config': 3.0.0 + '@babel/runtime': 7.24.7 + '@changesets/assemble-release-plan': 6.0.2 + '@changesets/config': 3.0.1 '@changesets/pre': 2.0.0 '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 @@ -10548,12 +9627,12 @@ snapshots: '@changesets/git@3.0.0': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.5 + micromatch: 4.0.7 spawndamnit: 2.0.0 '@changesets/logger@0.1.0': @@ -10567,7 +9646,7 @@ snapshots: '@changesets/pre@2.0.0': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -10575,7 +9654,7 @@ snapshots: '@changesets/read@0.6.0': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -10584,13 +9663,19 @@ snapshots: fs-extra: 7.0.1 p-filter: 2.1.0 + '@changesets/should-skip-package@0.1.0': + dependencies: + '@babel/runtime': 7.24.7 + '@changesets/types': 6.0.0 + '@manypkg/get-packages': 1.1.3 + '@changesets/types@4.1.0': {} '@changesets/types@6.0.0': {} - '@changesets/write@0.3.0': + '@changesets/write@0.3.1': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -10603,12 +9688,12 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@ctrl/tinycolor@4.0.4': {} + '@ctrl/tinycolor@4.1.0': {} '@cypress/request@3.0.1': dependencies: aws-sign2: 0.7.0 - aws4: 1.12.0 + aws4: 1.13.0 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -10622,16 +9707,16 @@ snapshots: performance-now: 2.1.0 qs: 6.10.4 safe-buffer: 5.2.1 - tough-cookie: 4.1.3 + tough-cookie: 4.1.4 tunnel-agent: 0.6.0 uuid: 8.3.2 - '@cypress/vite-dev-server@5.0.7': + '@cypress/vite-dev-server@5.1.1': dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) find-up: 6.3.0 node-html-parser: 5.3.3 - semver: 7.5.4 + semver: 7.6.2 transitivePeerDependencies: - supports-color @@ -10644,39 +9729,39 @@ snapshots: '@dfoverdx/tocamelcase@1.0.7': {} - '@dnd-kit/accessibility@3.1.0(react@18.2.0)': + '@dnd-kit/accessibility@3.1.0(react@18.3.1)': dependencies: - react: 18.2.0 - tslib: 2.6.2 + react: 18.3.1 + tslib: 2.6.3 - '@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@dnd-kit/accessibility': 3.1.0(react@18.2.0) - '@dnd-kit/utilities': 3.2.2(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - tslib: 2.6.1 + '@dnd-kit/accessibility': 3.1.0(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.6.3 - '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@dnd-kit/utilities': 3.2.2(react@18.2.0) - react: 18.2.0 - tslib: 2.6.1 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.6.3 - '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@dnd-kit/utilities': 3.2.2(react@18.2.0) - react: 18.2.0 - tslib: 2.6.1 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.6.3 - '@dnd-kit/utilities@3.2.2(react@18.2.0)': + '@dnd-kit/utilities@3.2.2(react@18.3.1)': dependencies: - react: 18.2.0 - tslib: 2.6.2 + react: 18.3.1 + tslib: 2.6.3 - '@emoji-mart/data@1.1.2': {} + '@emoji-mart/data@1.2.1': {} '@emotion/is-prop-valid@0.8.8': dependencies: @@ -10686,139 +9771,139 @@ snapshots: '@emotion/memoize@0.7.4': optional: true - '@esbuild/aix-ppc64@0.20.2': + '@esbuild/aix-ppc64@0.21.5': optional: true '@esbuild/android-arm64@0.18.20': optional: true - '@esbuild/android-arm64@0.20.2': + '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm@0.18.20': optional: true - '@esbuild/android-arm@0.20.2': + '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-x64@0.18.20': optional: true - '@esbuild/android-x64@0.20.2': + '@esbuild/android-x64@0.21.5': optional: true '@esbuild/darwin-arm64@0.18.20': optional: true - '@esbuild/darwin-arm64@0.20.2': + '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-x64@0.18.20': optional: true - '@esbuild/darwin-x64@0.20.2': + '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.18.20': optional: true - '@esbuild/freebsd-arm64@0.20.2': + '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-x64@0.18.20': optional: true - '@esbuild/freebsd-x64@0.20.2': + '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/linux-arm64@0.18.20': optional: true - '@esbuild/linux-arm64@0.20.2': + '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm@0.18.20': optional: true - '@esbuild/linux-arm@0.20.2': + '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-ia32@0.18.20': optional: true - '@esbuild/linux-ia32@0.20.2': + '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-loong64@0.18.20': optional: true - '@esbuild/linux-loong64@0.20.2': + '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-mips64el@0.18.20': optional: true - '@esbuild/linux-mips64el@0.20.2': + '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-ppc64@0.18.20': optional: true - '@esbuild/linux-ppc64@0.20.2': + '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-riscv64@0.18.20': optional: true - '@esbuild/linux-riscv64@0.20.2': + '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-s390x@0.18.20': optional: true - '@esbuild/linux-s390x@0.20.2': + '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-x64@0.18.20': optional: true - '@esbuild/linux-x64@0.20.2': + '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/netbsd-x64@0.18.20': optional: true - '@esbuild/netbsd-x64@0.20.2': + '@esbuild/netbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.18.20': optional: true - '@esbuild/openbsd-x64@0.20.2': + '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.18.20': optional: true - '@esbuild/sunos-x64@0.20.2': + '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/win32-arm64@0.18.20': optional: true - '@esbuild/win32-arm64@0.20.2': + '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-ia32@0.18.20': optional: true - '@esbuild/win32-ia32@0.20.2': + '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-x64@0.18.20': optional: true - '@esbuild/win32-x64@0.20.2': + '@esbuild/win32-x64@0.21.5': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': @@ -10826,15 +9911,15 @@ snapshots: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.6.1': {} + '@eslint-community/regexpp@4.10.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) espree: 9.6.1 - globals: 13.19.0 - ignore: 5.2.4 + globals: 13.24.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -10844,108 +9929,119 @@ snapshots: '@eslint/js@8.57.0': {} - '@fastify/ajv-compiler@3.5.0': + '@fastify/ajv-compiler@3.6.0': dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.2.0 + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) + fast-uri: 2.4.0 '@fastify/cors@9.0.1': dependencies: - fastify-plugin: 4.5.0 + fastify-plugin: 4.5.1 mnemonist: 0.39.6 - '@fastify/deepmerge@1.3.0': {} - '@fastify/error@3.4.1': {} '@fastify/fast-json-stringify-compiler@4.3.0': dependencies: - fast-json-stringify: 5.9.1 + fast-json-stringify: 5.16.1 - '@floating-ui/core@1.6.0': + '@fastify/merge-json-schemas@0.1.1': dependencies: - '@floating-ui/utils': 0.2.1 + fast-deep-equal: 3.1.3 - '@floating-ui/dom@1.3.0': + '@floating-ui/core@1.6.3': dependencies: - '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.3 - '@floating-ui/react-dom@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/dom@1.6.6': dependencies: - '@floating-ui/dom': 1.3.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@floating-ui/core': 1.6.3 + '@floating-ui/utils': 0.2.3 - '@floating-ui/react-dom@2.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react-dom@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.3.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@floating-ui/dom': 1.6.6 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react@0.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react-dom': 1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - aria-hidden: 1.2.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - tabbable: 6.1.2 + '@floating-ui/dom': 1.6.6 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@floating-ui/react@0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tabbable: 6.2.0 - '@floating-ui/utils@0.2.1': {} + '@floating-ui/react@0.26.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/utils': 0.2.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tabbable: 6.2.0 + + '@floating-ui/utils@0.2.3': {} - '@formatjs/ecma402-abstract@1.14.3': + '@formatjs/ecma402-abstract@2.0.0': dependencies: - '@formatjs/intl-localematcher': 0.2.32 - tslib: 2.6.2 + '@formatjs/intl-localematcher': 0.5.4 + tslib: 2.6.3 - '@formatjs/fast-memoize@2.0.1': + '@formatjs/fast-memoize@2.2.0': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 - '@formatjs/icu-messageformat-parser@2.3.0': + '@formatjs/icu-messageformat-parser@2.7.8': dependencies: - '@formatjs/ecma402-abstract': 1.14.3 - '@formatjs/icu-skeleton-parser': 1.3.18 - tslib: 2.6.2 + '@formatjs/ecma402-abstract': 2.0.0 + '@formatjs/icu-skeleton-parser': 1.8.2 + tslib: 2.6.3 - '@formatjs/icu-skeleton-parser@1.3.18': + '@formatjs/icu-skeleton-parser@1.8.2': dependencies: - '@formatjs/ecma402-abstract': 1.14.3 - tslib: 2.6.2 + '@formatjs/ecma402-abstract': 2.0.0 + tslib: 2.6.3 - '@formatjs/intl-localematcher@0.2.32': + '@formatjs/intl-localematcher@0.5.4': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 - '@frontify/app-bridge@3.9.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sinon@17.0.1)': + '@frontify/app-bridge@3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@17.0.1)': dependencies: - immer: 10.0.4 + immer: 10.1.1 lodash-es: 4.17.21 mitt: 3.0.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) sinon: 17.0.1 - type-fest: 4.15.0 + type-fest: 4.20.1 - '@frontify/eslint-config-basic@0.20.5(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.4)': + '@frontify/eslint-config-basic@0.20.5(eslint@8.57.0)(prettier@3.3.2)(typescript@5.5.2)': dependencies: - '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-jsonc: 2.15.0(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) eslint-plugin-lodash: 7.4.0(eslint@8.57.0) eslint-plugin-markdown: 4.0.1(eslint@8.57.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) - eslint-plugin-promise: 6.1.1(eslint@8.57.0) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2) + eslint-plugin-promise: 6.2.0(eslint@8.57.0) eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) eslint-plugin-yml: 1.14.0(eslint@8.57.0) - prettier: 3.2.5 - yaml-eslint-parser: 1.2.2 + prettier: 3.3.2 + yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - '@types/eslint' - eslint-import-resolver-node @@ -10953,15 +10049,15 @@ snapshots: - supports-color - typescript - '@frontify/eslint-config-react@0.17.6(eslint@8.57.0)(prettier@3.2.5)(react@18.2.0)(typescript@5.4.4)': + '@frontify/eslint-config-react@0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2)': dependencies: - '@frontify/eslint-config-basic': 0.20.5(eslint@8.57.0)(prettier@3.2.5)(typescript@5.4.4) + '@frontify/eslint-config-basic': 0.20.5(eslint@8.57.0)(prettier@3.3.2)(typescript@5.5.2) eslint: 8.57.0 - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-react: 7.34.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - prettier: 3.2.5 - react: 18.2.0 + eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) + eslint-plugin-react: 7.34.3(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + prettier: 3.3.2 + react: 18.3.1 transitivePeerDependencies: - '@types/eslint' - eslint-import-resolver-node @@ -10969,25 +10065,25 @@ snapshots: - supports-color - typescript - '@frontify/fondue-charts@1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)': + '@frontify/fondue-charts@1.8.5(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3)': dependencies: - '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@visx/axis': 3.10.1(react@18.2.0) - '@visx/glyph': 3.3.0(react@18.2.0) - '@visx/grid': 3.5.0(react@18.2.0) - '@visx/group': 3.3.0(react@18.2.0) - '@visx/hierarchy': 3.3.0(react@18.2.0) - '@visx/responsive': 3.10.2(react@18.2.0) + '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@visx/axis': 3.10.1(react@18.3.1) + '@visx/glyph': 3.3.0(react@18.3.1) + '@visx/grid': 3.5.0(react@18.3.1) + '@visx/group': 3.3.0(react@18.3.1) + '@visx/hierarchy': 3.3.0(react@18.3.1) + '@visx/responsive': 3.10.2(react@18.3.1) '@visx/scale': 3.5.0 - '@visx/shape': 3.5.0(react@18.2.0) - '@visx/text': 3.3.0(react@18.2.0) - '@visx/tooltip': 3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@visx/xychart': 3.10.2(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@visx/shape': 3.5.0(react@18.3.1) + '@visx/text': 3.3.0(react@18.3.1) + '@visx/tooltip': 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/xychart': 3.11.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lodash-es: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-spring: 9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(three@0.163.0)(zdog@1.1.3) - use-font-face-observer: 1.2.1(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-spring: 9.7.3(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3) + use-font-face-observer: 1.2.2(react@18.3.1) transitivePeerDependencies: - '@react-spring/web' - '@react-three/fiber' @@ -10995,29 +10091,28 @@ snapshots: - react-konva - react-native - react-zdog - - tailwindcss - three - zdog - '@frontify/fondue-charts@1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3)': + '@frontify/fondue-charts@1.8.5(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3)': dependencies: - '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@visx/axis': 3.10.1(react@18.2.0) - '@visx/glyph': 3.3.0(react@18.2.0) - '@visx/grid': 3.5.0(react@18.2.0) - '@visx/group': 3.3.0(react@18.2.0) - '@visx/hierarchy': 3.3.0(react@18.2.0) - '@visx/responsive': 3.10.2(react@18.2.0) + '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) + '@visx/axis': 3.10.1(react@18.3.1) + '@visx/glyph': 3.3.0(react@18.3.1) + '@visx/grid': 3.5.0(react@18.3.1) + '@visx/group': 3.3.0(react@18.3.1) + '@visx/hierarchy': 3.3.0(react@18.3.1) + '@visx/responsive': 3.10.2(react@18.3.1) '@visx/scale': 3.5.0 - '@visx/shape': 3.5.0(react@18.2.0) - '@visx/text': 3.3.0(react@18.2.0) - '@visx/tooltip': 3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@visx/xychart': 3.10.2(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@visx/shape': 3.5.0(react@18.3.1) + '@visx/text': 3.3.0(react@18.3.1) + '@visx/tooltip': 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/xychart': 3.11.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lodash-es: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-spring: 9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(three@0.163.0)(zdog@1.1.3) - use-font-face-observer: 1.2.1(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-spring: 9.7.3(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3) + use-font-face-observer: 1.2.2(react@18.3.1) transitivePeerDependencies: - '@react-spring/web' - '@react-three/fiber' @@ -11025,124 +10120,160 @@ snapshots: - react-konva - react-native - react-zdog - - tailwindcss - three - zdog - '@frontify/fondue-components@1.2.3(@frontify/fondue-icons@0.2.1(react@18.2.0))(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@frontify/fondue-icons': 0.2.1(react@18.2.0) - '@radix-ui/react-progress': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@frontify/fondue-components@1.5.0(@frontify/fondue-icons@0.2.2(react@18.3.1))(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@frontify/fondue-icons': 0.2.2(react@18.3.1) + '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@radix-ui/react-checkbox': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-progress': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + downshift: 9.0.6(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + + '@frontify/fondue-components@1.5.0(@frontify/fondue-icons@0.2.2(react@18.3.1))(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@frontify/fondue-icons': 0.2.2(react@18.3.1) + '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) + '@radix-ui/react-checkbox': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-progress': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + downshift: 9.0.6(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@types/react' - '@types/react-dom' - '@frontify/fondue-icons@0.2.1(react@18.2.0)': + '@frontify/fondue-icons@0.2.2(react@18.3.1)': dependencies: - react: 18.2.0 + react: 18.3.1 - '@frontify/fondue-tokens@3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))': + '@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))': dependencies: - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) - '@frontify/fondue@12.0.10(g2qxhbirnett3q6vknbfcsddau)': + '@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))': dependencies: - '@ctrl/tinycolor': 4.0.4 - '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@dnd-kit/utilities': 3.2.2(react@18.2.0) - '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3) - '@frontify/fondue-components': 1.2.3(@frontify/fondue-icons@0.2.1(react@18.2.0))(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@frontify/fondue-icons': 0.2.1(react@18.2.0) - '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@popperjs/core': 2.11.8 - '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/accordion': 3.0.0-alpha.17(react@18.2.0) - '@react-aria/aria-modal-polyfill': 3.7.8(react@18.2.0) - '@react-aria/breadcrumbs': 3.5.2(react@18.2.0) - '@react-aria/button': 3.9.3(react@18.2.0) - '@react-aria/checkbox': 3.7.0(react@18.2.0) - '@react-aria/combobox': 3.4.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/dialog': 3.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/focus': 3.12.0(react@18.2.0) - '@react-aria/interactions': 3.13.0(react@18.2.0) - '@react-aria/link': 3.3.5(react@18.2.0) - '@react-aria/listbox': 3.7.1(react@18.2.0) - '@react-aria/menu': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/overlays': 3.12.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/radio': 3.4.1(react@18.2.0) - '@react-aria/select': 3.8.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/selection': 3.12.0(react@18.2.0) - '@react-aria/table': 3.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/tooltip': 3.3.3(react@18.2.0) - '@react-aria/utils': 3.14.1(react@18.2.0) - '@react-aria/visually-hidden': 3.6.0(react@18.2.0) - '@react-stately/checkbox': 3.3.2(react@18.2.0) - '@react-stately/collections': 3.4.4(react@18.2.0) - '@react-stately/combobox': 3.2.2(react@18.2.0) - '@react-stately/list': 3.5.4(react@18.2.0) - '@react-stately/menu': 3.4.4(react@18.2.0) - '@react-stately/overlays': 3.4.2(react@18.2.0) - '@react-stately/radio': 3.6.0(react@18.2.0) - '@react-stately/select': 3.3.2(react@18.2.0) - '@react-stately/table': 3.5.0(react@18.2.0) - '@react-stately/toggle': 3.4.2(react@18.2.0) - '@react-stately/tooltip': 3.2.2(react@18.2.0) - '@react-stately/tree': 3.3.4(react@18.2.0) - '@react-types/dialog': 3.4.5(react@18.2.0) - '@react-types/shared': 3.16.0(react@18.2.0) - '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + + '@frontify/fondue@12.1.9(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(three@0.165.0)(zdog@1.1.3)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': + dependencies: + '@ctrl/tinycolor': 4.1.0 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@floating-ui/dom': 1.6.6 + '@frontify/fondue-charts': 1.8.5(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3) + '@frontify/fondue-components': 1.5.0(@frontify/fondue-icons@0.2.2(react@18.3.1))(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-icons': 0.2.2(react@18.3.1) + '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@popperjs/core': 2.11.8 + '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/aria-modal-polyfill': 3.7.10(react@18.3.1) + '@react-aria/breadcrumbs': 3.5.13(react@18.3.1) + '@react-aria/button': 3.9.5(react@18.3.1) + '@react-aria/checkbox': 3.14.3(react@18.3.1) + '@react-aria/combobox': 3.9.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dialog': 3.5.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/link': 3.7.1(react@18.3.1) + '@react-aria/listbox': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/radio': 3.10.4(react@18.3.1) + '@react-aria/select': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/table': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tooltip': 3.7.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-aria/visually-hidden': 3.8.12(react@18.3.1) + '@react-stately/checkbox': 3.6.5(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/combobox': 3.8.4(react@18.3.1) + '@react-stately/list': 3.10.5(react@18.3.1) + '@react-stately/menu': 3.7.1(react@18.3.1) + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-stately/radio': 3.10.4(react@18.3.1) + '@react-stately/select': 3.6.4(react@18.3.1) + '@react-stately/table': 3.11.8(react@18.3.1) + '@react-stately/toggle': 3.7.4(react@18.3.1) + '@react-stately/tooltip': 3.4.9(react@18.3.1) + '@react-stately/tree': 3.8.1(react@18.3.1) + '@react-types/dialog': 3.5.10(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.4.0(patch_hash=qe3otflfq45s3qpehitpsd2wsy)(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0)) - '@xstate/immer': 0.3.3(immer@9.0.21)(xstate@4.38.3) - '@xstate/react': 1.6.3(@types/react@18.2.75)(react@18.2.0)(xstate@4.38.3) + '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) date-fns: 3.6.0 escape-html: 1.0.3 - framer-motion: 10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - immer: 9.0.21 + framer-motion: 10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + immer: 10.1.1 is-hotkey: 0.2.0 - react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-datepicker: 4.25.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-dnd: 16.0.1(@types/node@18.19.31)(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 + react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dnd: 16.0.1(@types/node@18.19.39)(@types/react@18.3.3)(react@18.3.1) react-dnd-html5-backend: 16.0.1 - react-dom: 18.2.0(react@18.2.0) + react-dom: 18.3.1(react@18.3.1) react-fast-compare: 3.2.2 - react-is: 18.2.0 - react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-textarea-autosize: 8.5.3(@types/react@18.2.75)(react@18.2.0) + react-is: 18.3.1 + react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-textarea-autosize: 8.5.3(@types/react@18.3.3)(react@18.3.1) remark-gfm: 3.0.1 remark-parse: 10.0.2 slate: 0.102.0 - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) unified: 10.1.2 unist-util-visit: 5.0.0 - xstate: 4.38.3 transitivePeerDependencies: - '@react-spring/web' - '@react-three/fiber' @@ -11150,8 +10281,6 @@ snapshots: - '@types/node' - '@types/react' - '@types/react-dom' - - '@udecode/plate-common' - - '@xstate/fsm' - konva - react-konva - react-native @@ -11165,102 +10294,101 @@ snapshots: - zdog - zustand - '@frontify/fondue@12.0.10(jhbqyupum772ivndo3xkwf7iuu)': - dependencies: - '@ctrl/tinycolor': 4.0.4 - '@dnd-kit/core': 6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@dnd-kit/utilities': 3.2.2(react@18.2.0) - '@frontify/fondue-charts': 1.8.3(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))(three@0.163.0)(zdog@1.1.3) - '@frontify/fondue-components': 1.2.3(@frontify/fondue-icons@0.2.1(react@18.2.0))(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@frontify/fondue-icons': 0.2.1(react@18.2.0) - '@frontify/fondue-tokens': 3.5.0(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) + '@frontify/fondue@12.1.9(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(@types/node@20.14.9)(@types/react-dom@18.3.0)(@types/react@18.3.3)(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))(three@0.165.0)(zdog@1.1.3)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': + dependencies: + '@ctrl/tinycolor': 4.1.0 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@floating-ui/dom': 1.6.6 + '@frontify/fondue-charts': 1.8.5(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3) + '@frontify/fondue-components': 1.5.0(@frontify/fondue-icons@0.2.2(react@18.3.1))(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-icons': 0.2.2(react@18.3.1) + '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) '@popperjs/core': 2.11.8 - '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/accordion': 3.0.0-alpha.17(react@18.2.0) - '@react-aria/aria-modal-polyfill': 3.7.8(react@18.2.0) - '@react-aria/breadcrumbs': 3.5.2(react@18.2.0) - '@react-aria/button': 3.9.3(react@18.2.0) - '@react-aria/checkbox': 3.7.0(react@18.2.0) - '@react-aria/combobox': 3.4.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/dialog': 3.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/focus': 3.12.0(react@18.2.0) - '@react-aria/interactions': 3.13.0(react@18.2.0) - '@react-aria/link': 3.3.5(react@18.2.0) - '@react-aria/listbox': 3.7.1(react@18.2.0) - '@react-aria/menu': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/overlays': 3.12.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/radio': 3.4.1(react@18.2.0) - '@react-aria/select': 3.8.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/selection': 3.12.0(react@18.2.0) - '@react-aria/table': 3.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/tooltip': 3.3.3(react@18.2.0) - '@react-aria/utils': 3.14.1(react@18.2.0) - '@react-aria/visually-hidden': 3.6.0(react@18.2.0) - '@react-stately/checkbox': 3.3.2(react@18.2.0) - '@react-stately/collections': 3.4.4(react@18.2.0) - '@react-stately/combobox': 3.2.2(react@18.2.0) - '@react-stately/list': 3.5.4(react@18.2.0) - '@react-stately/menu': 3.4.4(react@18.2.0) - '@react-stately/overlays': 3.4.2(react@18.2.0) - '@react-stately/radio': 3.6.0(react@18.2.0) - '@react-stately/select': 3.3.2(react@18.2.0) - '@react-stately/table': 3.5.0(react@18.2.0) - '@react-stately/toggle': 3.4.2(react@18.2.0) - '@react-stately/tooltip': 3.2.2(react@18.2.0) - '@react-stately/tree': 3.3.4(react@18.2.0) - '@react-types/dialog': 3.4.5(react@18.2.0) - '@react-types/shared': 3.16.0(react@18.2.0) - '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/aria-modal-polyfill': 3.7.10(react@18.3.1) + '@react-aria/breadcrumbs': 3.5.13(react@18.3.1) + '@react-aria/button': 3.9.5(react@18.3.1) + '@react-aria/checkbox': 3.14.3(react@18.3.1) + '@react-aria/combobox': 3.9.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dialog': 3.5.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/link': 3.7.1(react@18.3.1) + '@react-aria/listbox': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/radio': 3.10.4(react@18.3.1) + '@react-aria/select': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/table': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tooltip': 3.7.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-aria/visually-hidden': 3.8.12(react@18.3.1) + '@react-stately/checkbox': 3.6.5(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/combobox': 3.8.4(react@18.3.1) + '@react-stately/list': 3.10.5(react@18.3.1) + '@react-stately/menu': 3.7.1(react@18.3.1) + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-stately/radio': 3.10.4(react@18.3.1) + '@react-stately/select': 3.6.4(react@18.3.1) + '@react-stately/table': 3.11.8(react@18.3.1) + '@react-stately/toggle': 3.7.4(react@18.3.1) + '@react-stately/tooltip': 3.4.9(react@18.3.1) + '@react-stately/tree': 3.8.1(react@18.3.1) + '@react-types/dialog': 3.5.10(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2))) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.4.0(patch_hash=qe3otflfq45s3qpehitpsd2wsy)(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) - '@xstate/immer': 0.3.3(immer@9.0.21)(xstate@4.38.3) - '@xstate/react': 1.6.3(@types/react@18.2.75)(react@18.2.0)(xstate@4.38.3) + '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) date-fns: 3.6.0 escape-html: 1.0.3 - framer-motion: 10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - immer: 9.0.21 + framer-motion: 10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + immer: 10.1.1 is-hotkey: 0.2.0 - react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-datepicker: 4.25.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-dnd: 16.0.1(@types/node@18.19.31)(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 + react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dnd: 16.0.1(@types/node@20.14.9)(@types/react@18.3.3)(react@18.3.1) react-dnd-html5-backend: 16.0.1 - react-dom: 18.2.0(react@18.2.0) + react-dom: 18.3.1(react@18.3.1) react-fast-compare: 3.2.2 - react-is: 18.2.0 - react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-textarea-autosize: 8.5.3(@types/react@18.2.75)(react@18.2.0) + react-is: 18.3.1 + react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-textarea-autosize: 8.5.3(@types/react@18.3.3)(react@18.3.1) remark-gfm: 3.0.1 remark-parse: 10.0.2 slate: 0.102.0 - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) unified: 10.1.2 unist-util-visit: 5.0.0 - xstate: 4.38.3 transitivePeerDependencies: - '@react-spring/web' - '@react-three/fiber' @@ -11268,8 +10396,6 @@ snapshots: - '@types/node' - '@types/react' - '@types/react-dom' - - '@udecode/plate-common' - - '@xstate/fsm' - konva - react-konva - react-native @@ -11292,7 +10418,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -11301,22 +10427,22 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@internationalized/date@3.3.0': + '@internationalized/date@3.5.4': dependencies: - '@swc/helpers': 0.5.1 + '@swc/helpers': 0.5.11 - '@internationalized/message@3.1.1': + '@internationalized/message@3.1.4': dependencies: - '@swc/helpers': 0.5.1 - intl-messageformat: 10.3.3 + '@swc/helpers': 0.5.11 + intl-messageformat: 10.5.14 - '@internationalized/number@3.2.1': + '@internationalized/number@3.5.3': dependencies: - '@swc/helpers': 0.5.1 + '@swc/helpers': 0.5.11 - '@internationalized/string@3.1.1': + '@internationalized/string@3.2.3': dependencies: - '@swc/helpers': 0.5.1 + '@swc/helpers': 0.5.11 '@isaacs/cliui@8.0.2': dependencies: @@ -11339,14 +10465,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.31 + '@types/node': 18.19.39 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.19.31 + '@types/node': 18.19.39 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -11357,36 +10483,28 @@ snapshots: '@jest/types@26.6.2': dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.31 + '@types/node': 18.19.39 '@types/yargs': 15.0.19 chalk: 4.1.2 '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.31 + '@types/node': 18.19.39 '@types/yargs': 17.0.32 chalk: 4.1.2 - '@jridgewell/gen-mapping@0.3.3': - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.0': {} - - '@jridgewell/set-array@1.1.2': {} + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/set-array@1.2.1': {} @@ -11395,60 +10513,79 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/sourcemap-codec@1.4.14': {} - '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.18': - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping@0.3.9': dependencies: - '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@juggle/resize-observer@3.4.0': {} '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - '@microsoft/api-extractor-model@7.28.13(@types/node@18.19.31)': + '@microsoft/api-extractor-model@7.28.13(@types/node@18.19.39)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@18.19.39) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor-model@7.28.13(@types/node@20.14.9)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.14.9) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.43.0(@types/node@18.19.39)': dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@18.19.39) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@18.19.31) + '@rushstack/node-core-library': 4.0.2(@types/node@18.19.39) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@18.19.39) + '@rushstack/ts-command-line': 4.19.1(@types/node@18.19.39) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.43.0(@types/node@18.19.31)': + '@microsoft/api-extractor@7.43.0(@types/node@20.14.9)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@18.19.31) + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.14.9) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@18.19.31) + '@rushstack/node-core-library': 4.0.2(@types/node@20.14.9) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@18.19.31) - '@rushstack/ts-command-line': 4.19.1(@types/node@18.19.31) + '@rushstack/terminal': 0.10.0(@types/node@20.14.9) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.14.9) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -11469,17 +10606,17 @@ snapshots: '@mswjs/cookies@0.2.2': dependencies: - '@types/set-cookie-parser': 2.4.3 + '@types/set-cookie-parser': 2.4.9 set-cookie-parser: 2.6.0 '@mswjs/interceptors@0.17.10': dependencies: '@open-draft/until': 1.0.3 - '@types/debug': 4.1.7 - '@xmldom/xmldom': 0.8.6 - debug: 4.3.4(supports-color@8.1.1) + '@types/debug': 4.1.12 + '@xmldom/xmldom': 0.8.10 + debug: 4.3.5(supports-color@8.1.1) headers-polyfill: 3.2.5 - outvariant: 1.4.0 + outvariant: 1.4.2 strict-event-emitter: 0.2.8 web-encoding: 1.1.5 transitivePeerDependencies: @@ -11504,769 +10641,770 @@ snapshots: '@pkgr/core@0.1.1': {} - '@polka/url@1.0.0-next.24': {} + '@polka/url@1.0.0-next.25': {} '@popperjs/core@2.11.8': {} - '@radix-ui/primitive@1.0.1': + '@radix-ui/number@1.1.0': {} + + '@radix-ui/primitive@1.1.0': {} + + '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-checkbox@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 - '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-context@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 + + '@radix-ui/react-dialog@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-context@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-direction@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-direction@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-dismissable-layer@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-dropdown-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-focus-guards@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 - '@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-id@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 - '@radix-ui/react-id@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - - '@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0) - aria-hidden: 1.2.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.75)(react@18.2.0) + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 - - '@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/rect': 1.0.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-popover@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/rect': 1.1.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-portal@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-presence@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-progress@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-progress@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 - - '@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-select@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.7(@types/react@18.3.3)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-separator@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-slot@1.0.2(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-slot@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 - - '@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 18.3.3 + + '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-toggle@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 - - '@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-toolbar@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 - - '@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-tooltip@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 - '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/rect': 1.0.1 - react: 18.2.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-use-size@1.0.1(@types/react@18.2.75)(react@18.2.0)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0) - react: 18.2.0 + '@radix-ui/rect': 1.1.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 - - '@radix-ui/rect@1.0.1': - dependencies: - '@babel/runtime': 7.23.9 - - '@react-aria/accordion@3.0.0-alpha.17(react@18.2.0)': - dependencies: - '@react-aria/button': 3.9.3(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/tree': 3.6.0(react@18.2.0) - '@react-types/accordion': 3.0.0-alpha.13(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/aria-modal-polyfill@3.7.8(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.1 - aria-hidden: 1.2.3 - react: 18.2.0 - - '@react-aria/breadcrumbs@3.5.2(react@18.2.0)': - dependencies: - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/link': 3.5.2(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/breadcrumbs': 3.6.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/button@3.9.3(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/toggle': 3.7.2(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-aria/checkbox@3.7.0(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/label': 3.5.1(react@18.2.0) - '@react-aria/toggle': 3.6.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/checkbox': 3.3.2(react@18.2.0) - '@react-stately/toggle': 3.7.2(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-aria/combobox@3.4.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/listbox': 3.7.2(react@18.2.0) - '@react-aria/live-announcer': 3.3.0 - '@react-aria/menu': 3.7.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/overlays': 3.12.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/textfield': 3.9.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/combobox': 3.5.0(react@18.2.0) - '@react-stately/layout': 3.12.0(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/combobox': 3.6.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/dialog@3.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/overlays': 3.12.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-types/dialog': 3.5.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - transitivePeerDependencies: - - react-dom - - '@react-aria/focus@3.12.0(react@18.2.0)': - dependencies: - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - clsx: 1.2.1 - react: 18.2.0 - - '@react-aria/focus@3.16.2(react@18.2.0)': - dependencies: - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - clsx: 2.1.0 - react: 18.2.0 - - '@react-aria/grid@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/live-announcer': 3.3.0 - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/grid': 3.6.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/virtualizer': 3.5.1(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/i18n@3.8.0(react@18.2.0)': - dependencies: - '@internationalized/date': 3.3.0 - '@internationalized/message': 3.1.1 - '@internationalized/number': 3.2.1 - '@internationalized/string': 3.1.1 - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-aria/interactions@3.13.0(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-aria/interactions@3.21.1(react@18.2.0)': - dependencies: - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-aria/label@3.5.1(react@18.2.0)': - dependencies: - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/label': 3.7.3(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/link@3.3.5(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/link': 3.4.3(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-aria/link@3.5.2(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/link': 3.4.3(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-aria/listbox@3.7.1(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/label': 3.5.1(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/list': 3.8.0(react@18.2.0) - '@react-types/listbox': 3.4.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-aria/listbox@3.7.2(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/label': 3.5.1(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/list': 3.8.0(react@18.2.0) - '@react-types/listbox': 3.4.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/live-announcer@3.3.0': - dependencies: - '@swc/helpers': 0.4.14 - - '@react-aria/menu@3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/overlays': 3.12.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/menu': 3.5.1(react@18.2.0) - '@react-stately/tree': 3.6.0(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/menu': 3.9.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/menu@3.7.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/overlays': 3.12.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/menu': 3.5.1(react@18.2.0) - '@react-stately/tree': 3.6.0(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/menu': 3.9.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/overlays@3.12.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-aria/visually-hidden': 3.6.1(react@18.2.0) - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/overlays': 3.8.5(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/overlays@3.12.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-aria/visually-hidden': 3.6.1(react@18.2.0) - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/overlays': 3.8.5(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/radio@3.4.1(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/label': 3.5.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/radio': 3.8.0(react@18.2.0) - '@react-types/radio': 3.4.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-aria/select@3.8.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/label': 3.5.1(react@18.2.0) - '@react-aria/listbox': 3.7.2(react@18.2.0) - '@react-aria/menu': 3.7.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-aria/visually-hidden': 3.6.1(react@18.2.0) - '@react-stately/select': 3.5.0(react@18.2.0) - '@react-types/button': 3.9.2(react@18.2.0) - '@react-types/select': 3.8.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/selection@3.12.0(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-aria/selection@3.14.0(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/ssr@3.9.2(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-aria/table@3.6.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/grid': 3.7.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-aria/i18n': 3.8.0(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/live-announcer': 3.3.0 - '@react-aria/selection': 3.14.0(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/table': 3.9.0(react@18.2.0) - '@react-stately/virtualizer': 3.5.1(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/table': 3.6.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@react-aria/textfield@3.9.1(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/label': 3.5.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/textfield': 3.7.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/toggle@3.6.0(react@18.2.0)': - dependencies: - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/toggle': 3.7.2(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/switch': 3.3.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-aria/tooltip@3.3.3(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/focus': 3.16.2(react@18.2.0) - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-stately/tooltip': 3.4.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/tooltip': 3.4.0(react@18.2.0) - react: 18.2.0 - - '@react-aria/utils@3.14.1(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - clsx: 1.2.1 - react: 18.2.0 - - '@react-aria/utils@3.23.2(react@18.2.0)': - dependencies: - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.5.1 - clsx: 2.1.0 - react: 18.2.0 - - '@react-aria/visually-hidden@3.6.0(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - clsx: 1.2.1 - react: 18.2.0 + '@types/react': 18.3.3 - '@react-aria/visually-hidden@3.6.1(react@18.2.0)': + '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - clsx: 1.2.1 - react: 18.2.0 + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/rect@1.1.0': {} + + '@react-aria/accordion@3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/button': 3.9.5(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/tree': 3.8.1(react@18.3.1) + '@react-types/accordion': 3.0.0-alpha.21(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/aria-modal-polyfill@3.7.10(react@18.3.1)': + dependencies: + '@swc/helpers': 0.5.11 + aria-hidden: 1.2.4 + react: 18.3.1 + + '@react-aria/breadcrumbs@3.5.13(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/link': 3.7.1(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/breadcrumbs': 3.7.5(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/button@3.9.5(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/toggle': 3.7.4(react@18.3.1) + '@react-types/button': 3.9.4(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/checkbox@3.14.3(react@18.3.1)': + dependencies: + '@react-aria/form': 3.0.5(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/label': 3.7.8(react@18.3.1) + '@react-aria/toggle': 3.10.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/checkbox': 3.6.5(react@18.3.1) + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-stately/toggle': 3.7.4(react@18.3.1) + '@react-types/checkbox': 3.8.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/combobox@3.9.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/listbox': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/menu': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.14.5(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/combobox': 3.8.4(react@18.3.1) + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-types/button': 3.9.4(react@18.3.1) + '@react-types/combobox': 3.11.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/dialog@3.5.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/overlays': 3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/dialog': 3.5.10(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/focus@3.17.1(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + clsx: 2.1.1 + react: 18.3.1 + + '@react-aria/form@3.0.5(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/grid@3.9.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/grid': 3.8.7(react@18.3.1) + '@react-stately/selection': 3.15.1(react@18.3.1) + '@react-stately/virtualizer': 3.7.1(react@18.3.1) + '@react-types/checkbox': 3.8.1(react@18.3.1) + '@react-types/grid': 3.2.6(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/i18n@3.11.1(react@18.3.1)': + dependencies: + '@internationalized/date': 3.5.4 + '@internationalized/message': 3.1.4 + '@internationalized/number': 3.5.3 + '@internationalized/string': 3.2.3 + '@react-aria/ssr': 3.9.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/interactions@3.21.3(react@18.3.1)': + dependencies: + '@react-aria/ssr': 3.9.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/label@3.7.8(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/link@3.7.1(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/link': 3.5.5(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/listbox@3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/label': 3.7.8(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/list': 3.10.5(react@18.3.1) + '@react-types/listbox': 3.4.9(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/live-announcer@3.3.4': + dependencies: + '@swc/helpers': 0.5.11 + + '@react-aria/menu@3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/overlays': 3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/menu': 3.7.1(react@18.3.1) + '@react-stately/tree': 3.8.1(react@18.3.1) + '@react-types/button': 3.9.4(react@18.3.1) + '@react-types/menu': 3.9.9(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/overlays@3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/ssr': 3.9.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-aria/visually-hidden': 3.8.12(react@18.3.1) + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-types/button': 3.9.4(react@18.3.1) + '@react-types/overlays': 3.8.7(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/radio@3.10.4(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/form': 3.0.5(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/label': 3.7.8(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/radio': 3.10.4(react@18.3.1) + '@react-types/radio': 3.8.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/select@3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/form': 3.0.5(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/label': 3.7.8(react@18.3.1) + '@react-aria/listbox': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-aria/visually-hidden': 3.8.12(react@18.3.1) + '@react-stately/select': 3.6.4(react@18.3.1) + '@react-types/button': 3.9.4(react@18.3.1) + '@react-types/select': 3.9.4(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/selection@3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/selection': 3.15.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/ssr@3.9.4(react@18.3.1)': + dependencies: + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/table@3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/grid': 3.9.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.11.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/live-announcer': 3.3.4 + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-aria/visually-hidden': 3.8.12(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/flags': 3.0.3 + '@react-stately/table': 3.11.8(react@18.3.1) + '@react-stately/virtualizer': 3.7.1(react@18.3.1) + '@react-types/checkbox': 3.8.1(react@18.3.1) + '@react-types/grid': 3.2.6(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@react-types/table': 3.9.5(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/textfield@3.14.5(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/form': 3.0.5(react@18.3.1) + '@react-aria/label': 3.7.8(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@react-types/textfield': 3.9.3(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/toggle@3.10.4(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/toggle': 3.7.4(react@18.3.1) + '@react-types/checkbox': 3.8.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/tooltip@3.7.4(react@18.3.1)': + dependencies: + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-stately/tooltip': 3.4.9(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@react-types/tooltip': 3.4.9(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-aria/utils@3.24.1(react@18.3.1)': + dependencies: + '@react-aria/ssr': 3.9.4(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + clsx: 2.1.1 + react: 18.3.1 + + '@react-aria/visually-hidden@3.8.12(react@18.3.1)': + dependencies: + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 '@react-dnd/asap@5.0.2': {} @@ -12274,138 +11412,138 @@ snapshots: '@react-dnd/shallowequal@4.0.2': {} - '@react-native-community/cli-clean@13.6.4': + '@react-native-community/cli-clean@13.6.8': dependencies: - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-tools': 13.6.8 chalk: 4.1.2 execa: 5.1.1 fast-glob: 3.3.2 transitivePeerDependencies: - encoding - '@react-native-community/cli-config@13.6.4': + '@react-native-community/cli-config@13.6.8': dependencies: - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-tools': 13.6.8 chalk: 4.1.2 cosmiconfig: 5.2.1 deepmerge: 4.3.1 fast-glob: 3.3.2 - joi: 17.13.0 + joi: 17.13.3 transitivePeerDependencies: - encoding - '@react-native-community/cli-debugger-ui@13.6.4': + '@react-native-community/cli-debugger-ui@13.6.8': dependencies: serve-static: 1.15.0 transitivePeerDependencies: - supports-color - '@react-native-community/cli-doctor@13.6.4': + '@react-native-community/cli-doctor@13.6.8': dependencies: - '@react-native-community/cli-config': 13.6.4 - '@react-native-community/cli-platform-android': 13.6.4 - '@react-native-community/cli-platform-apple': 13.6.4 - '@react-native-community/cli-platform-ios': 13.6.4 - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-config': 13.6.8 + '@react-native-community/cli-platform-android': 13.6.8 + '@react-native-community/cli-platform-apple': 13.6.8 + '@react-native-community/cli-platform-ios': 13.6.8 + '@react-native-community/cli-tools': 13.6.8 chalk: 4.1.2 command-exists: 1.2.9 deepmerge: 4.3.1 - envinfo: 7.12.0 + envinfo: 7.13.0 execa: 5.1.1 hermes-profile-transformer: 0.0.6 node-stream-zip: 1.15.0 ora: 5.4.1 - semver: 7.6.0 + semver: 7.6.2 strip-ansi: 5.2.0 wcwidth: 1.0.1 - yaml: 2.3.2 + yaml: 2.4.5 transitivePeerDependencies: - encoding - '@react-native-community/cli-hermes@13.6.4': + '@react-native-community/cli-hermes@13.6.8': dependencies: - '@react-native-community/cli-platform-android': 13.6.4 - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-platform-android': 13.6.8 + '@react-native-community/cli-tools': 13.6.8 chalk: 4.1.2 hermes-profile-transformer: 0.0.6 transitivePeerDependencies: - encoding - '@react-native-community/cli-platform-android@13.6.4': + '@react-native-community/cli-platform-android@13.6.8': dependencies: - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-tools': 13.6.8 chalk: 4.1.2 execa: 5.1.1 fast-glob: 3.3.2 - fast-xml-parser: 4.3.6 + fast-xml-parser: 4.4.0 logkitty: 0.7.1 transitivePeerDependencies: - encoding - '@react-native-community/cli-platform-apple@13.6.4': + '@react-native-community/cli-platform-apple@13.6.8': dependencies: - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-tools': 13.6.8 chalk: 4.1.2 execa: 5.1.1 fast-glob: 3.3.2 - fast-xml-parser: 4.3.6 + fast-xml-parser: 4.4.0 ora: 5.4.1 transitivePeerDependencies: - encoding - '@react-native-community/cli-platform-ios@13.6.4': + '@react-native-community/cli-platform-ios@13.6.8': dependencies: - '@react-native-community/cli-platform-apple': 13.6.4 + '@react-native-community/cli-platform-apple': 13.6.8 transitivePeerDependencies: - encoding - '@react-native-community/cli-server-api@13.6.4': + '@react-native-community/cli-server-api@13.6.8': dependencies: - '@react-native-community/cli-debugger-ui': 13.6.4 - '@react-native-community/cli-tools': 13.6.4 + '@react-native-community/cli-debugger-ui': 13.6.8 + '@react-native-community/cli-tools': 13.6.8 compression: 1.7.4 connect: 3.7.0 errorhandler: 1.5.1 nocache: 3.0.4 pretty-format: 26.6.2 serve-static: 1.15.0 - ws: 7.5.9 + ws: 6.2.3 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - '@react-native-community/cli-tools@13.6.4': + '@react-native-community/cli-tools@13.6.8': dependencies: appdirsjs: 1.2.7 chalk: 4.1.2 execa: 5.1.1 find-up: 5.0.0 mime: 2.6.0 - node-fetch: 2.6.9 + node-fetch: 2.7.0 open: 6.4.0 ora: 5.4.1 - semver: 7.6.0 + semver: 7.6.2 shell-quote: 1.8.1 sudo-prompt: 9.2.1 transitivePeerDependencies: - encoding - '@react-native-community/cli-types@13.6.4': + '@react-native-community/cli-types@13.6.8': dependencies: - joi: 17.13.0 + joi: 17.13.3 - '@react-native-community/cli@13.6.4': + '@react-native-community/cli@13.6.8': dependencies: - '@react-native-community/cli-clean': 13.6.4 - '@react-native-community/cli-config': 13.6.4 - '@react-native-community/cli-debugger-ui': 13.6.4 - '@react-native-community/cli-doctor': 13.6.4 - '@react-native-community/cli-hermes': 13.6.4 - '@react-native-community/cli-server-api': 13.6.4 - '@react-native-community/cli-tools': 13.6.4 - '@react-native-community/cli-types': 13.6.4 + '@react-native-community/cli-clean': 13.6.8 + '@react-native-community/cli-config': 13.6.8 + '@react-native-community/cli-debugger-ui': 13.6.8 + '@react-native-community/cli-doctor': 13.6.8 + '@react-native-community/cli-hermes': 13.6.8 + '@react-native-community/cli-server-api': 13.6.8 + '@react-native-community/cli-tools': 13.6.8 + '@react-native-community/cli-types': 13.6.8 chalk: 4.1.2 commander: 9.5.0 deepmerge: 4.3.1 @@ -12414,187 +11552,96 @@ snapshots: fs-extra: 8.1.0 graceful-fs: 4.2.11 prompts: 2.4.2 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - '@react-native/assets-registry@0.74.81': {} - - '@react-native/babel-plugin-codegen@0.74.81(@babel/preset-env@7.24.4(@babel/core@7.23.9))': - dependencies: - '@react-native/codegen': 0.74.81(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color + '@react-native/assets-registry@0.74.84': {} - '@react-native/babel-plugin-codegen@0.74.81(@babel/preset-env@7.24.4(@babel/core@7.24.4))': + '@react-native/babel-plugin-codegen@0.74.84(@babel/preset-env@7.24.7(@babel/core@7.24.7))': dependencies: - '@react-native/codegen': 0.74.81(@babel/preset-env@7.24.4(@babel/core@7.24.4)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - - '@react-native/babel-preset@0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))': - dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.23.9) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.23.9) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.23.9) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.23.9) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.23.9) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.23.9) - '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.23.9) - '@babel/template': 7.24.0 - '@react-native/babel-plugin-codegen': 0.74.81(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.23.9) - react-refresh: 0.14.0 + '@react-native/codegen': 0.74.84(@babel/preset-env@7.24.7(@babel/core@7.24.7)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.74.81(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))': - dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.4) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.24.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.4) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.4) - '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.4) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) - '@babel/template': 7.24.0 - '@react-native/babel-plugin-codegen': 0.74.81(@babel/preset-env@7.24.4(@babel/core@7.24.4)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.4) - react-refresh: 0.14.0 + '@react-native/babel-preset@0.74.84(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.7) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.24.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.7) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-classes': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-destructuring': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.7) + '@babel/template': 7.24.7 + '@react-native/babel-plugin-codegen': 0.74.84(@babel/preset-env@7.24.7(@babel/core@7.24.7)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.7) + react-refresh: 0.14.2 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/codegen@0.74.81(@babel/preset-env@7.24.4(@babel/core@7.23.9))': - dependencies: - '@babel/parser': 7.24.4 - '@babel/preset-env': 7.24.4(@babel/core@7.23.9) - glob: 7.2.3 - hermes-parser: 0.19.1 - invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - mkdirp: 0.5.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - - '@react-native/codegen@0.74.81(@babel/preset-env@7.24.4(@babel/core@7.24.4))': + '@react-native/codegen@0.74.84(@babel/preset-env@7.24.7(@babel/core@7.24.7))': dependencies: - '@babel/parser': 7.24.4 - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) + '@babel/parser': 7.24.7 + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) glob: 7.2.3 hermes-parser: 0.19.1 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.24.4(@babel/core@7.24.4)) + jscodeshift: 0.14.0(@babel/preset-env@7.24.7(@babel/core@7.24.7)) mkdirp: 0.5.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))': - dependencies: - '@react-native-community/cli-server-api': 13.6.4 - '@react-native-community/cli-tools': 13.6.4 - '@react-native/dev-middleware': 0.74.81 - '@react-native/metro-babel-transformer': 0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - chalk: 4.1.2 - execa: 5.1.1 - metro: 0.80.8 - metro-config: 0.80.8 - metro-core: 0.80.8 - node-fetch: 2.6.9 - querystring: 0.2.1 - readline: 1.3.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - - '@react-native/community-cli-plugin@0.74.81(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))': + '@react-native/community-cli-plugin@0.74.84(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))': dependencies: - '@react-native-community/cli-server-api': 13.6.4 - '@react-native-community/cli-tools': 13.6.4 - '@react-native/dev-middleware': 0.74.81 - '@react-native/metro-babel-transformer': 0.74.81(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4)) + '@react-native-community/cli-server-api': 13.6.8 + '@react-native-community/cli-tools': 13.6.8 + '@react-native/dev-middleware': 0.74.84 + '@react-native/metro-babel-transformer': 0.74.84(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7)) chalk: 4.1.2 execa: 5.1.1 - metro: 0.80.8 - metro-config: 0.80.8 - metro-core: 0.80.8 - node-fetch: 2.6.9 + metro: 0.80.9 + metro-config: 0.80.9 + metro-core: 0.80.9 + node-fetch: 2.7.0 querystring: 0.2.1 readline: 1.3.0 transitivePeerDependencies: @@ -12605,558 +11652,380 @@ snapshots: - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.74.81': {} + '@react-native/debugger-frontend@0.74.84': {} - '@react-native/dev-middleware@0.74.81': + '@react-native/dev-middleware@0.74.84': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.74.81 + '@react-native/debugger-frontend': 0.74.84 '@rnx-kit/chromium-edge-launcher': 1.0.0 chrome-launcher: 0.15.2 connect: 3.7.0 debug: 2.6.9 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nullthrows: 1.1.1 open: 7.4.2 selfsigned: 2.4.1 serve-static: 1.15.0 temp-dir: 2.0.0 - ws: 6.2.2 + ws: 6.2.3 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.74.81': {} - - '@react-native/js-polyfills@0.74.81': {} + '@react-native/gradle-plugin@0.74.84': {} - '@react-native/metro-babel-transformer@0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))': - dependencies: - '@babel/core': 7.23.9 - '@react-native/babel-preset': 0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - hermes-parser: 0.19.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color + '@react-native/js-polyfills@0.74.84': {} - '@react-native/metro-babel-transformer@0.74.81(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))': + '@react-native/metro-babel-transformer@0.74.84(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))': dependencies: - '@babel/core': 7.24.4 - '@react-native/babel-preset': 0.74.81(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4)) + '@babel/core': 7.24.7 + '@react-native/babel-preset': 0.74.84(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7)) hermes-parser: 0.19.1 nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/normalize-colors@0.74.81': {} - - '@react-native/virtualized-lists@0.74.81(@types/react@18.2.75)(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)': - dependencies: - invariant: 2.2.4 - nullthrows: 1.1.1 - react: 18.2.0 - react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0) - optionalDependencies: - '@types/react': 18.2.75 + '@react-native/normalize-colors@0.74.84': {} - '@react-native/virtualized-lists@0.74.81(@types/react@18.2.75)(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)': + '@react-native/virtualized-lists@0.74.84(@types/react@18.3.3)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react: 18.2.0 - react-native: 0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 + react-native: 0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - - '@react-spring/animated@9.7.3(react@18.2.0)': - dependencies: - '@react-spring/shared': 9.7.3(react@18.2.0) - '@react-spring/types': 9.7.3 - react: 18.2.0 - - '@react-spring/core@9.7.3(react@18.2.0)': - dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) - '@react-spring/types': 9.7.3 - react: 18.2.0 + '@types/react': 18.3.3 - '@react-spring/konva@9.7.3(konva@9.3.6)(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + '@react-spring/animated@9.7.3(react@18.3.1)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - konva: 9.3.6 - react: 18.2.0 - react-konva: 18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.3.1 - '@react-spring/native@9.7.3(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)': + '@react-spring/core@9.7.3(react@18.3.1)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/animated': 9.7.3(react@18.3.1) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - react: 18.2.0 - react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 - '@react-spring/native@9.7.3(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)': + '@react-spring/konva@9.7.3(konva@9.3.12)(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/animated': 9.7.3(react@18.3.1) + '@react-spring/core': 9.7.3(react@18.3.1) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - react: 18.2.0 - react-native: 0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0) + konva: 9.3.12 + react: 18.3.1 + react-konva: 18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-spring/shared@9.7.3(react@18.2.0)': + '@react-spring/native@9.7.3(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)': dependencies: + '@react-spring/animated': 9.7.3(react@18.3.1) + '@react-spring/core': 9.7.3(react@18.3.1) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - react: 18.2.0 + react: 18.3.1 + react-native: 0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1) - '@react-spring/three@9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(react@18.2.0)(three@0.163.0)': + '@react-spring/shared@9.7.3(react@18.3.1)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) '@react-spring/types': 9.7.3 - '@react-three/fiber': 8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0) - react: 18.2.0 - three: 0.163.0 + react: 18.3.1 - '@react-spring/three@9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(react@18.2.0)(three@0.163.0)': + '@react-spring/three@9.7.3(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(react@18.3.1)(three@0.165.0)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/animated': 9.7.3(react@18.3.1) + '@react-spring/core': 9.7.3(react@18.3.1) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - '@react-three/fiber': 8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0) - react: 18.2.0 - three: 0.163.0 + '@react-three/fiber': 8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0) + react: 18.3.1 + three: 0.165.0 '@react-spring/types@9.7.3': {} - '@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/animated': 9.7.3(react@18.3.1) + '@react-spring/core': 9.7.3(react@18.3.1) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@react-spring/zdog@9.7.3(react-dom@18.2.0(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(zdog@1.1.3)': + '@react-spring/zdog@9.7.3(react-dom@18.3.1(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(zdog@1.1.3)': dependencies: - '@react-spring/animated': 9.7.3(react@18.2.0) - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/shared': 9.7.3(react@18.2.0) + '@react-spring/animated': 9.7.3(react@18.3.1) + '@react-spring/core': 9.7.3(react@18.3.1) + '@react-spring/shared': 9.7.3(react@18.3.1) '@react-spring/types': 9.7.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-zdog: 1.2.2 zdog: 1.1.3 - '@react-stately/checkbox@3.3.2(react@18.2.0)': + '@react-stately/checkbox@3.6.5(react@18.3.1)': dependencies: - '@react-stately/toggle': 3.7.2(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/checkbox': 3.8.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-stately/collections@3.10.7(react@18.3.1)': + dependencies: + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-stately/combobox@3.8.4(react@18.3.1)': + dependencies: + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-stately/list': 3.10.5(react@18.3.1) + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-stately/select': 3.6.4(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/combobox': 3.11.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/collections@3.4.4(react@18.2.0)': + '@react-stately/flags@3.0.3': dependencies: - '@babel/runtime': 7.23.9 - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@swc/helpers': 0.5.11 + + '@react-stately/form@3.0.3(react@18.3.1)': + dependencies: + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/collections@3.7.0(react@18.2.0)': + '@react-stately/grid@3.8.7(react@18.3.1)': dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/selection': 3.15.1(react@18.3.1) + '@react-types/grid': 3.2.6(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/combobox@3.2.2(react@18.2.0)': + '@react-stately/list@3.10.5(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/list': 3.8.0(react@18.2.0) - '@react-stately/menu': 3.5.1(react@18.2.0) - '@react-stately/select': 3.5.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/combobox': 3.6.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/selection': 3.15.1(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/combobox@3.5.0(react@18.2.0)': + '@react-stately/menu@3.7.1(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/list': 3.8.0(react@18.2.0) - '@react-stately/menu': 3.5.1(react@18.2.0) - '@react-stately/select': 3.5.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/combobox': 3.6.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-types/menu': 3.9.9(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/grid@3.6.0(react@18.2.0)': + '@react-stately/overlays@3.6.7(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/overlays': 3.8.7(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/layout@3.12.0(react@18.2.0)': + '@react-stately/radio@3.10.4(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/table': 3.9.0(react@18.2.0) - '@react-stately/virtualizer': 3.5.1(react@18.2.0) - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/table': 3.6.0(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/radio': 3.8.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/list@3.5.4(react@18.2.0)': + '@react-stately/select@3.6.4(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-stately/form': 3.0.3(react@18.3.1) + '@react-stately/list': 3.10.5(react@18.3.1) + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-types/select': 3.9.4(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/list@3.8.0(react@18.2.0)': + '@react-stately/selection@3.15.1(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/menu@3.4.4(react@18.2.0)': + '@react-stately/table@3.11.8(react@18.3.1)': dependencies: - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/menu': 3.9.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/flags': 3.0.3 + '@react-stately/grid': 3.8.7(react@18.3.1) + '@react-stately/selection': 3.15.1(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/grid': 3.2.6(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@react-types/table': 3.9.5(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/menu@3.5.1(react@18.2.0)': + '@react-stately/toggle@3.7.4(react@18.3.1)': dependencies: - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/menu': 3.9.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/checkbox': 3.8.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-stately/tooltip@3.4.9(react@18.3.1)': + dependencies: + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-types/tooltip': 3.4.9(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/overlays@3.4.2(react@18.2.0)': + '@react-stately/tree@3.8.1(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/overlays': 3.8.5(react@18.2.0) - react: 18.2.0 + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/selection': 3.15.1(react@18.3.1) + '@react-stately/utils': 3.10.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/overlays@3.6.5(react@18.2.0)': + '@react-stately/utils@3.10.1(react@18.3.1)': dependencies: - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/overlays': 3.8.5(react@18.2.0) - '@swc/helpers': 0.5.1 - react: 18.2.0 + '@swc/helpers': 0.5.11 + react: 18.3.1 - '@react-stately/radio@3.6.0(react@18.2.0)': + '@react-stately/virtualizer@3.7.1(react@18.3.1)': + dependencies: + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@swc/helpers': 0.5.11 + react: 18.3.1 + + '@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/radio': 3.4.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@babel/runtime': 7.24.7 + '@types/react-reconciler': 0.26.7 + '@types/webxr': 0.5.18 + base64-js: 1.5.1 + buffer: 6.0.3 + its-fine: 1.2.5(react@18.3.1) + react: 18.3.1 + react-reconciler: 0.27.0(react@18.3.1) + react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + scheduler: 0.21.0 + suspend-react: 0.1.3(react@18.3.1) + three: 0.165.0 + zustand: 3.7.2(react@18.3.1) + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + react-native: 0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1) - '@react-stately/radio@3.8.0(react@18.2.0)': + '@react-types/accordion@3.0.0-alpha.21(react@18.3.1)': dependencies: - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/radio': 3.4.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/select@3.3.2(react@18.2.0)': + '@react-types/breadcrumbs@3.7.5(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/list': 3.8.0(react@18.2.0) - '@react-stately/menu': 3.5.1(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/select': 3.8.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/link': 3.5.5(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/select@3.5.0(react@18.2.0)': + '@react-types/button@3.9.4(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/list': 3.8.0(react@18.2.0) - '@react-stately/menu': 3.5.1(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/select': 3.8.0(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/selection@3.13.0(react@18.2.0)': + '@react-types/checkbox@3.8.1(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/table@3.5.0(react@18.2.0)': + '@react-types/combobox@3.11.1(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/grid': 3.6.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/table': 3.6.0(react@18.2.0) - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/table@3.9.0(react@18.2.0)': + '@react-types/dialog@3.5.10(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/grid': 3.6.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@react-types/table': 3.6.0(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-types/overlays': 3.8.7(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/toggle@3.4.2(react@18.2.0)': + '@react-types/grid@3.2.6(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/toggle@3.7.2(react@18.2.0)': + '@react-types/link@3.5.5(react@18.3.1)': dependencies: - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-stately/tooltip@3.2.2(react@18.2.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/tooltip': 3.4.0(react@18.2.0) - react: 18.2.0 - - '@react-stately/tooltip@3.4.0(react@18.2.0)': - dependencies: - '@react-stately/overlays': 3.6.5(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/tooltip': 3.4.0(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/tree@3.3.4(react@18.2.0)': + '@react-types/listbox@3.4.9(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-stately/tree@3.6.0(react@18.2.0)': + '@react-types/menu@3.9.9(react@18.3.1)': dependencies: - '@react-stately/collections': 3.7.0(react@18.2.0) - '@react-stately/selection': 3.13.0(react@18.2.0) - '@react-stately/utils': 3.9.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-stately/utils@3.9.1(react@18.2.0)': - dependencies: - '@swc/helpers': 0.5.1 - react: 18.2.0 - - '@react-stately/virtualizer@3.5.1(react@18.2.0)': - dependencies: - '@react-aria/utils': 3.23.2(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - '@swc/helpers': 0.4.14 - react: 18.2.0 - - '@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@types/react-reconciler': 0.26.7 - '@types/webxr': 0.5.15 - base64-js: 1.5.1 - buffer: 6.0.3 - its-fine: 1.2.5(react@18.2.0) - react: 18.2.0 - react-reconciler: 0.27.0(react@18.2.0) - react-use-measure: 2.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - scheduler: 0.21.0 - suspend-react: 0.1.3(react@18.2.0) - three: 0.163.0 - zustand: 3.7.2(react@18.2.0) - optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0) - - '@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0)': - dependencies: - '@babel/runtime': 7.23.9 - '@types/react-reconciler': 0.26.7 - '@types/webxr': 0.5.15 - base64-js: 1.5.1 - buffer: 6.0.3 - its-fine: 1.2.5(react@18.2.0) - react: 18.2.0 - react-reconciler: 0.27.0(react@18.2.0) - react-use-measure: 2.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - scheduler: 0.21.0 - suspend-react: 0.1.3(react@18.2.0) - three: 0.163.0 - zustand: 3.7.2(react@18.2.0) - optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - react-native: 0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0) - - '@react-types/accordion@3.0.0-alpha.13(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/breadcrumbs@3.6.0(react@18.2.0)': - dependencies: - '@react-types/link': 3.4.3(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/button@3.9.2(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/checkbox@3.7.1(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/combobox@3.6.1(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/dialog@3.4.5(react@18.2.0)': - dependencies: - '@react-types/overlays': 3.8.5(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/dialog@3.5.1(react@18.2.0)': - dependencies: - '@react-types/overlays': 3.8.5(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/grid@3.1.7(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/label@3.7.3(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/link@3.4.3(react@18.2.0)': - dependencies: - '@react-aria/interactions': 3.21.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/listbox@3.4.1(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/menu@3.9.0(react@18.2.0)': - dependencies: - '@react-types/overlays': 3.8.5(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/overlays@3.8.5(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 - - '@react-types/radio@3.4.1(react@18.2.0)': - dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/overlays': 3.8.7(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-types/select@3.8.0(react@18.2.0)': + '@react-types/overlays@3.8.7(react@18.3.1)': dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-types/shared@3.16.0(react@18.2.0)': + '@react-types/radio@3.8.1(react@18.3.1)': dependencies: - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-types/shared@3.22.1(react@18.2.0)': + '@react-types/select@3.9.4(react@18.3.1)': dependencies: - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-types/switch@3.3.1(react@18.2.0)': + '@react-types/shared@3.23.1(react@18.3.1)': dependencies: - '@react-types/checkbox': 3.7.1(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + react: 18.3.1 - '@react-types/table@3.6.0(react@18.2.0)': + '@react-types/table@3.9.5(react@18.3.1)': dependencies: - '@react-types/grid': 3.1.7(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/grid': 3.2.6(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-types/textfield@3.7.1(react@18.2.0)': + '@react-types/textfield@3.9.3(react@18.3.1)': dependencies: - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 - '@react-types/tooltip@3.4.0(react@18.2.0)': + '@react-types/tooltip@3.4.9(react@18.3.1)': dependencies: - '@react-types/overlays': 3.8.5(react@18.2.0) - '@react-types/shared': 3.22.1(react@18.2.0) - react: 18.2.0 + '@react-types/overlays': 3.8.7(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + react: 18.3.1 '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -13165,88 +12034,118 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/pluginutils@5.1.0(rollup@4.14.1)': + '@rollup/pluginutils@5.1.0(rollup@4.18.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.14.1 + rollup: 4.18.0 - '@rollup/rollup-android-arm-eabi@4.14.1': + '@rollup/rollup-android-arm-eabi@4.18.0': optional: true - '@rollup/rollup-android-arm64@4.14.1': + '@rollup/rollup-android-arm64@4.18.0': optional: true - '@rollup/rollup-darwin-arm64@4.14.1': + '@rollup/rollup-darwin-arm64@4.18.0': optional: true - '@rollup/rollup-darwin-x64@4.14.1': + '@rollup/rollup-darwin-x64@4.18.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.14.1': + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.14.1': + '@rollup/rollup-linux-arm-musleabihf@4.18.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.14.1': + '@rollup/rollup-linux-arm64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.14.1': + '@rollup/rollup-linux-arm64-musl@4.18.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.14.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.14.1': + '@rollup/rollup-linux-riscv64-gnu@4.18.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.14.1': + '@rollup/rollup-linux-s390x-gnu@4.18.0': optional: true - '@rollup/rollup-linux-x64-musl@4.14.1': + '@rollup/rollup-linux-x64-gnu@4.18.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.14.1': + '@rollup/rollup-linux-x64-musl@4.18.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.14.1': + '@rollup/rollup-win32-arm64-msvc@4.18.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.14.1': + '@rollup/rollup-win32-ia32-msvc@4.18.0': optional: true - '@rushstack/node-core-library@4.0.2(@types/node@18.19.31)': + '@rollup/rollup-win32-x64-msvc@4.18.0': + optional: true + + '@rushstack/node-core-library@4.0.2(@types/node@18.19.39)': dependencies: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 resolve: 1.22.8 semver: 7.5.4 - z-schema: 5.0.4 + z-schema: 5.0.5 optionalDependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 + + '@rushstack/node-core-library@4.0.2(@types/node@20.14.9)': + dependencies: + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 20.14.9 '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.10.0(@types/node@18.19.31)': + '@rushstack/terminal@0.10.0(@types/node@18.19.39)': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@18.19.31) + '@rushstack/node-core-library': 4.0.2(@types/node@18.19.39) supports-color: 8.1.1 optionalDependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 - '@rushstack/ts-command-line@4.19.1(@types/node@18.19.31)': + '@rushstack/terminal@0.10.0(@types/node@20.14.9)': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@18.19.31) + '@rushstack/node-core-library': 4.0.2(@types/node@20.14.9) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.14.9 + + '@rushstack/ts-command-line@4.19.1(@types/node@18.19.39)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@18.19.39) '@types/argparse': 1.0.38 argparse: 1.0.10 - string-argv: 0.3.1 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + + '@rushstack/ts-command-line@4.19.1(@types/node@20.14.9)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.14.9) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' @@ -13264,17 +12163,17 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/commons@3.0.0': + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 '@sinonjs/fake-timers@10.3.0': dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers@11.2.2': dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 '@sinonjs/samsam@8.0.0': dependencies: @@ -13284,27 +12183,28 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@swc/helpers@0.4.14': + '@swc/helpers@0.5.11': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 - '@swc/helpers@0.5.1': + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))': dependencies: - tslib: 2.6.2 + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))': + '@tailwindcss/forms@0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))': dependencies: - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) - '@tailwindcss/forms@0.5.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)))': + '@tailwindcss/forms@0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.23.9 + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.24.7 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -13312,38 +12212,38 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.2(vitest@1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4))': + '@testing-library/jest-dom@6.4.6(vitest@1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1))': dependencies: - '@adobe/css-tools': 4.3.3 - '@babel/runtime': 7.21.0 - aria-query: 5.1.3 + '@adobe/css-tools': 4.4.0 + '@babel/runtime': 7.24.7 + aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 lodash: 4.17.21 redent: 3.0.0 optionalDependencies: - vitest: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + vitest: 1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) - '@testing-library/react@14.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@testing-library/react@14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 '@testing-library/dom': 9.3.4 - '@types/react-dom': 18.2.24 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react-dom': 18.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) '@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4)': dependencies: '@testing-library/dom': 9.3.4 - '@tsconfig/node10@1.0.9': {} + '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} '@tsconfig/node14@1.0.3': {} - '@tsconfig/node16@1.0.3': {} + '@tsconfig/node16@1.0.4': {} '@types/argparse@1.0.38': {} @@ -13351,24 +12251,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 - '@types/babel__generator': 7.6.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.4 + '@types/babel__traverse': 7.20.6 - '@types/babel__generator@7.6.7': + '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.7 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.23.6 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 - '@types/babel__traverse@7.20.4': + '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.7 '@types/cookie@0.4.1': {} @@ -13406,9 +12306,9 @@ snapshots: '@types/d3-voronoi@1.1.12': {} - '@types/debug@4.1.7': + '@types/debug@4.1.12': dependencies: - '@types/ms': 0.7.31 + '@types/ms': 0.7.34 '@types/estree@1.0.5': {} @@ -13418,105 +12318,103 @@ snapshots: '@types/is-hotkey@0.1.10': {} - '@types/istanbul-lib-coverage@2.0.4': {} + '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/js-levenshtein@1.1.1': {} - - '@types/json-schema@7.0.12': {} + '@types/js-levenshtein@1.1.3': {} '@types/json5@0.0.29': {} '@types/lodash-es@4.17.12': dependencies: - '@types/lodash': 4.14.192 - - '@types/lodash@4.14.192': {} + '@types/lodash': 4.17.5 - '@types/lodash@4.14.202': {} + '@types/lodash@4.17.5': {} - '@types/mdast@3.0.10': + '@types/mdast@3.0.15': dependencies: - '@types/unist': 3.0.2 - - '@types/minimist@1.2.2': {} + '@types/unist': 2.0.10 '@types/mock-fs@4.13.4': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 - '@types/ms@0.7.31': {} + '@types/ms@0.7.34': {} '@types/node-forge@1.3.11': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 '@types/node@12.20.55': {} - '@types/node@18.19.31': + '@types/node@18.19.39': dependencies: undici-types: 5.26.5 - '@types/normalize-package-data@2.4.1': {} + '@types/node@20.14.9': + dependencies: + undici-types: 5.26.5 + + '@types/normalize-package-data@2.4.4': {} '@types/prompts@2.4.9': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 kleur: 3.0.3 - '@types/prop-types@15.7.5': {} + '@types/prop-types@15.7.12': {} - '@types/react-dom@18.2.24': + '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 '@types/react-reconciler@0.26.7': dependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 '@types/react-reconciler@0.28.8': dependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - '@types/react@18.2.75': + '@types/react@18.3.3': dependencies: - '@types/prop-types': 15.7.5 - csstype: 3.1.1 + '@types/prop-types': 15.7.12 + csstype: 3.1.3 - '@types/semver@7.5.0': {} + '@types/semver@7.5.8': {} - '@types/set-cookie-parser@2.4.3': + '@types/set-cookie-parser@2.4.9': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 '@types/sinon@17.0.3': dependencies: - '@types/sinonjs__fake-timers': 8.1.2 + '@types/sinonjs__fake-timers': 8.1.5 '@types/sinonjs__fake-timers@8.1.1': {} - '@types/sinonjs__fake-timers@8.1.2': {} + '@types/sinonjs__fake-timers@8.1.5': {} '@types/sizzle@2.3.8': {} '@types/stack-utils@2.0.3': {} - '@types/unist@2.0.6': {} + '@types/unist@2.0.10': {} '@types/unist@3.0.2': {} - '@types/webxr@0.5.15': {} + '@types/webxr@0.5.18': {} '@types/ws@8.5.10': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 '@types/yargs-parser@21.0.3': {} @@ -13530,639 +12428,346 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 optional: true - '@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4)': + '@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)': dependencies: - '@eslint-community/regexpp': 4.6.1 - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4(supports-color@8.1.1) + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/scope-manager': 7.14.1 + '@typescript-eslint/type-utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/visitor-keys': 7.14.1 eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.0.1(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.5.2) optionalDependencies: - typescript: 5.4.4 + typescript: 5.5.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4)': + '@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2)': dependencies: - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4(supports-color@8.1.1) + '@typescript-eslint/scope-manager': 7.14.1 + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) + '@typescript-eslint/visitor-keys': 7.14.1 + debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 optionalDependencies: - typescript: 5.4.4 + typescript: 5.5.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.5.0': + '@typescript-eslint/scope-manager@7.14.1': dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 - '@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.4)': + '@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) - '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) - debug: 4.3.4(supports-color@8.1.1) + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) + '@typescript-eslint/utils': 7.14.1(eslint@8.57.0)(typescript@5.5.2) + debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 - ts-api-utils: 1.0.1(typescript@5.4.4) + ts-api-utils: 1.3.0(typescript@5.5.2) optionalDependencies: - typescript: 5.4.4 + typescript: 5.5.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@7.5.0': {} + '@typescript-eslint/types@7.14.1': {} - '@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4)': + '@typescript-eslint/typescript-estree@7.14.1(typescript@5.5.2)': dependencies: - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/visitor-keys': 7.5.0 - debug: 4.3.4(supports-color@8.1.1) + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 + debug: 4.3.5(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.0.1(typescript@5.4.4) + minimatch: 9.0.5 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.5.2) optionalDependencies: - typescript: 5.4.4 + typescript: 5.5.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.4)': + '@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 7.5.0 - '@typescript-eslint/types': 7.5.0 - '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.14.1 + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.5.2) eslint: 8.57.0 - semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.5.0': + '@typescript-eslint/visitor-keys@7.14.1': dependencies: - '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/types': 7.14.1 eslint-visitor-keys: 3.4.3 - '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-break@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-break@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - prismjs: 1.29.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - prismjs: 1.29.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-combobox@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - downshift: 6.1.12(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-combobox@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - downshift: 6.1.12(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - - '@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - - '@udecode/plate-core@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - is-hotkey: 0.2.0 - jotai: 2.8.0(@types/react@18.2.75)(react@18.2.0) - jotai-optics: 0.3.2(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(optics-ts@2.4.1) - jotai-x: 1.2.2(@types/react@18.2.75)(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) - lodash: 4.17.21 - nanoid: 3.3.7 - optics-ts: 2.4.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-hotkeys-hook: 4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - use-deep-compare: 1.2.1(react@18.2.0) - zustand: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) - zustand-x: 3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0)) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - - '@udecode/plate-core@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - is-hotkey: 0.2.0 - jotai: 2.8.0(@types/react@18.2.75)(react@18.2.0) - jotai-optics: 0.3.2(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(optics-ts@2.4.1) - jotai-x: 1.2.2(@types/react@18.2.75)(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) - lodash: 4.17.21 - nanoid: 3.3.7 - optics-ts: 2.4.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-hotkeys-hook: 4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - use-deep-compare: 1.2.1(react@18.2.0) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) - zustand-x: 3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-core@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - is-hotkey: 0.2.0 - jotai: 2.8.0(@types/react@18.2.75)(react@18.2.0) - jotai-optics: 0.3.2(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(optics-ts@2.4.1) - jotai-x: 1.2.2(@types/react@18.2.75)(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) lodash: 4.17.21 - nanoid: 3.3.7 - optics-ts: 2.4.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-hotkeys-hook: 4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - use-deep-compare: 1.2.1(react@18.2.0) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) - zustand-x: 3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - - '@udecode/plate-emoji@31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@emoji-mart/data': 1.1.2 - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-emoji@31.0.0(patch_hash=zd65gtokaotoa2xfhortjmkmjm)(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@emoji-mart/data': 1.1.2 - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/react': 0.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/react': 0.22.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-indent@31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - - '@udecode/plate-indent@31.1.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-break@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + prismjs: 1.29.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-combobox@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + downshift: 6.1.12(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-core': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler - '@udecode/plate-mention@31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-core@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + is-hotkey: 0.2.0 + jotai: 2.8.3(@types/react@18.3.3)(react@18.3.1) + jotai-optics: 0.3.2(jotai@2.8.3(@types/react@18.3.3)(react@18.3.1))(optics-ts@2.4.1) + jotai-x: 1.2.3(@types/react@18.3.3)(jotai@2.8.3(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) + lodash: 4.17.21 + nanoid: 3.3.7 + optics-ts: 2.4.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-hotkeys-hook: 4.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + use-deep-compare: 1.2.1(react@18.3.1) + zustand: 4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) + zustand-x: 3.0.3(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler - '@udecode/plate-mention@31.3.5(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-emoji@31.4.0(patch_hash=qe3otflfq45s3qpehitpsd2wsy)(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@emoji-mart/data': 1.2.1 + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@floating-ui/core': 1.6.3 + '@floating-ui/react': 0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-indent@31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-mention@31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@10.0.4)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-utils@31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-utils@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.2.75)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@udecode/plate-core': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 clsx: 1.2.1 lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) transitivePeerDependencies: - '@types/react' - immer - react-native - scheduler - '@udecode/react-utils@31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@udecode/react-utils@31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) '@udecode/utils': 31.0.0 clsx: 1.2.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@types/react' - '@udecode/slate-react@31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate-react@31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/react-utils': 31.0.0(@types/react@18.2.75)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) transitivePeerDependencies: - '@types/react' @@ -14182,22 +12787,11 @@ snapshots: '@udecode/utils@31.0.0': {} - '@udecode/zustood@2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0))': - dependencies: - immer: 10.0.4 - react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) - transitivePeerDependencies: - - react - - react-dom - - react-native - - scheduler - - '@udecode/zustood@2.0.0(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0))': + '@udecode/zustood@2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': dependencies: - immer: 10.0.4 - react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) + immer: 10.1.1 + react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) + zustand: 4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - react - react-dom @@ -14206,157 +12800,157 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@visx/annotation@3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@visx/annotation@3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.2.75 - '@visx/drag': 3.3.0(react@18.2.0) - '@visx/group': 3.3.0(react@18.2.0) - '@visx/text': 3.3.0(react@18.2.0) - classnames: 2.3.2 + '@types/react': 18.3.3 + '@visx/drag': 3.3.0(react@18.3.1) + '@visx/group': 3.3.0(react@18.3.1) + '@visx/text': 3.3.0(react@18.3.1) + classnames: 2.5.1 prop-types: 15.8.1 - react: 18.2.0 - react-use-measure: 2.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.3.1 + react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - react-dom - '@visx/axis@3.10.1(react@18.2.0)': + '@visx/axis@3.10.1(react@18.3.1)': dependencies: - '@types/react': 18.2.75 - '@visx/group': 3.3.0(react@18.2.0) + '@types/react': 18.3.3 + '@visx/group': 3.3.0(react@18.3.1) '@visx/point': 3.3.0 '@visx/scale': 3.5.0 - '@visx/shape': 3.5.0(react@18.2.0) - '@visx/text': 3.3.0(react@18.2.0) - classnames: 2.3.2 + '@visx/shape': 3.5.0(react@18.3.1) + '@visx/text': 3.3.0(react@18.3.1) + classnames: 2.5.1 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/bounds@3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@visx/bounds@3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.2.75 - '@types/react-dom': 18.2.24 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) '@visx/curve@3.3.0': dependencies: '@types/d3-shape': 1.3.12 d3-shape: 1.3.7 - '@visx/drag@3.3.0(react@18.2.0)': + '@visx/drag@3.3.0(react@18.3.1)': dependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 '@visx/event': 3.3.0 '@visx/point': 3.3.0 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 '@visx/event@3.3.0': dependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 '@visx/point': 3.3.0 - '@visx/glyph@3.3.0(react@18.2.0)': + '@visx/glyph@3.3.0(react@18.3.1)': dependencies: '@types/d3-shape': 1.3.12 - '@types/react': 18.2.75 - '@visx/group': 3.3.0(react@18.2.0) - classnames: 2.3.2 + '@types/react': 18.3.3 + '@visx/group': 3.3.0(react@18.3.1) + classnames: 2.5.1 d3-shape: 1.3.7 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/grid@3.5.0(react@18.2.0)': + '@visx/grid@3.5.0(react@18.3.1)': dependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 '@visx/curve': 3.3.0 - '@visx/group': 3.3.0(react@18.2.0) + '@visx/group': 3.3.0(react@18.3.1) '@visx/point': 3.3.0 '@visx/scale': 3.5.0 - '@visx/shape': 3.5.0(react@18.2.0) - classnames: 2.3.2 + '@visx/shape': 3.5.0(react@18.3.1) + classnames: 2.5.1 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/group@3.3.0(react@18.2.0)': + '@visx/group@3.3.0(react@18.3.1)': dependencies: - '@types/react': 18.2.75 - classnames: 2.3.2 + '@types/react': 18.3.3 + classnames: 2.5.1 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/hierarchy@3.3.0(react@18.2.0)': + '@visx/hierarchy@3.3.0(react@18.3.1)': dependencies: '@types/d3-hierarchy': 1.1.11 - '@types/react': 18.2.75 - '@visx/group': 3.3.0(react@18.2.0) - classnames: 2.3.2 + '@types/react': 18.3.3 + '@visx/group': 3.3.0(react@18.3.1) + classnames: 2.5.1 d3-hierarchy: 1.1.9 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 '@visx/point@3.3.0': {} - '@visx/react-spring@3.10.1(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + '@visx/react-spring@3.10.1(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@react-spring/web': 9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/react': 18.2.75 - '@visx/axis': 3.10.1(react@18.2.0) - '@visx/grid': 3.5.0(react@18.2.0) + '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/react': 18.3.3 + '@visx/axis': 3.10.1(react@18.3.1) + '@visx/grid': 3.5.0(react@18.3.1) '@visx/scale': 3.5.0 - '@visx/text': 3.3.0(react@18.2.0) - classnames: 2.3.2 + '@visx/text': 3.3.0(react@18.3.1) + classnames: 2.5.1 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/responsive@3.10.2(react@18.2.0)': + '@visx/responsive@3.10.2(react@18.3.1)': dependencies: - '@types/lodash': 4.14.202 - '@types/react': 18.2.75 + '@types/lodash': 4.17.5 + '@types/react': 18.3.3 lodash: 4.17.21 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 '@visx/scale@3.5.0': dependencies: '@visx/vendor': 3.5.0 - '@visx/shape@3.5.0(react@18.2.0)': + '@visx/shape@3.5.0(react@18.3.1)': dependencies: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 - '@types/lodash': 4.14.202 - '@types/react': 18.2.75 + '@types/lodash': 4.17.5 + '@types/react': 18.3.3 '@visx/curve': 3.3.0 - '@visx/group': 3.3.0(react@18.2.0) + '@visx/group': 3.3.0(react@18.3.1) '@visx/scale': 3.5.0 - classnames: 2.3.2 + classnames: 2.5.1 d3-path: 1.0.9 d3-shape: 1.3.7 lodash: 4.17.21 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/text@3.3.0(react@18.2.0)': + '@visx/text@3.3.0(react@18.3.1)': dependencies: - '@types/lodash': 4.14.202 - '@types/react': 18.2.75 - classnames: 2.3.2 + '@types/lodash': 4.17.5 + '@types/react': 18.3.3 + classnames: 2.5.1 lodash: 4.17.21 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 reduce-css-calc: 1.3.0 - '@visx/tooltip@3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@visx/tooltip@3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.2.75 - '@visx/bounds': 3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - classnames: 2.3.2 + '@types/react': 18.3.3 + '@visx/bounds': 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + classnames: 2.5.1 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-use-measure: 2.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/vendor@3.5.0': dependencies: @@ -14380,119 +12974,139 @@ snapshots: d3-time-format: 4.1.0 internmap: 2.0.3 - '@visx/voronoi@3.3.0(react@18.2.0)': + '@visx/voronoi@3.3.0(react@18.3.1)': dependencies: '@types/d3-voronoi': 1.1.12 - '@types/react': 18.2.75 - classnames: 2.3.2 + '@types/react': 18.3.3 + classnames: 2.5.1 d3-voronoi: 1.1.4 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 - '@visx/xychart@3.10.2(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@visx/xychart@3.11.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-spring/web': 9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@types/lodash': 4.14.202 - '@types/react': 18.2.75 - '@visx/annotation': 3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@visx/axis': 3.10.1(react@18.2.0) + '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/lodash': 4.17.5 + '@types/react': 18.3.3 + '@visx/annotation': 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/axis': 3.10.1(react@18.3.1) '@visx/event': 3.3.0 - '@visx/glyph': 3.3.0(react@18.2.0) - '@visx/grid': 3.5.0(react@18.2.0) - '@visx/react-spring': 3.10.1(@react-spring/web@9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@visx/responsive': 3.10.2(react@18.2.0) + '@visx/glyph': 3.3.0(react@18.3.1) + '@visx/grid': 3.5.0(react@18.3.1) + '@visx/react-spring': 3.10.1(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@visx/responsive': 3.10.2(react@18.3.1) '@visx/scale': 3.5.0 - '@visx/shape': 3.5.0(react@18.2.0) - '@visx/text': 3.3.0(react@18.2.0) - '@visx/tooltip': 3.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@visx/shape': 3.5.0(react@18.3.1) + '@visx/text': 3.3.0(react@18.3.1) + '@visx/tooltip': 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/vendor': 3.5.0 - '@visx/voronoi': 3.3.0(react@18.2.0) - classnames: 2.3.2 + '@visx/voronoi': 3.3.0(react@18.3.1) + classnames: 2.5.1 d3-interpolate-path: 2.2.1 d3-shape: 2.1.0 lodash: 4.17.21 mitt: 2.1.0 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 transitivePeerDependencies: - react-dom - '@vitejs/plugin-react@4.2.1(vite@4.5.3(@types/node@18.19.31)(terser@5.30.4))': + '@vitejs/plugin-react@4.3.1(vite@4.5.3(@types/node@20.14.9)(terser@5.31.1))': dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) '@types/babel__core': 7.20.5 - react-refresh: 0.14.0 - vite: 4.5.3(@types/node@18.19.31)(terser@5.30.4) + react-refresh: 0.14.2 + vite: 4.5.3(@types/node@20.14.9)(terser@5.31.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.2.1(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4))': + '@vitejs/plugin-react@4.3.1(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1))': dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) '@types/babel__core': 7.20.5 - react-refresh: 0.14.0 - vite: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + react-refresh: 0.14.2 + vite: 5.3.1(@types/node@18.19.39)(terser@5.31.1) + transitivePeerDependencies: + - supports-color + + '@vitest/coverage-v8@1.4.0(vitest@1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.5(supports-color@8.1.1) + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.10 + magicast: 0.3.4 + picocolors: 1.0.1 + std-env: 3.7.0 + strip-literal: 2.1.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.3.0 + vitest: 1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@1.4.0(vitest@1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4))': + '@vitest/coverage-v8@1.4.0(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1))': dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.6 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 + istanbul-reports: 3.1.7 + magic-string: 0.30.10 + magicast: 0.3.4 + picocolors: 1.0.1 std-env: 3.7.0 - strip-literal: 2.0.0 + strip-literal: 2.1.0 test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + v8-to-istanbul: 9.3.0 + vitest: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) transitivePeerDependencies: - supports-color - '@vitest/expect@1.4.0': + '@vitest/expect@1.6.0': dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.4.1 - '@vitest/runner@1.4.0': + '@vitest/runner@1.6.0': dependencies: - '@vitest/utils': 1.4.0 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/snapshot@1.4.0': + '@vitest/snapshot@1.6.0': dependencies: - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/spy@1.4.0': + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - '@vitest/ui@1.4.0(vitest@1.4.0)': + '@vitest/ui@1.6.0(vitest@1.6.0)': dependencies: - '@vitest/utils': 1.4.0 + '@vitest/utils': 1.6.0 fast-glob: 3.3.2 - fflate: 0.8.1 - flatted: 3.2.9 + fflate: 0.8.2 + flatted: 3.3.1 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 sirv: 2.0.4 - vitest: 1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4) + vitest: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) - '@vitest/utils@1.4.0': + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -14512,50 +13126,36 @@ snapshots: '@volar/language-core': 1.11.1 path-browserify: 1.0.1 - '@vue/compiler-core@3.3.4': + '@vue/compiler-core@3.4.30': dependencies: - '@babel/parser': 7.24.4 - '@vue/shared': 3.3.4 + '@babel/parser': 7.24.7 + '@vue/shared': 3.4.30 + entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.3.4': + '@vue/compiler-dom@3.4.30': dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/compiler-core': 3.4.30 + '@vue/shared': 3.4.30 - '@vue/language-core@1.8.27(typescript@5.4.4)': + '@vue/language-core@1.8.27(typescript@5.5.2)': dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/compiler-dom': 3.4.30 + '@vue/shared': 3.4.30 computeds: 0.0.1 - minimatch: 9.0.3 + minimatch: 9.0.5 muggle-string: 0.3.1 path-browserify: 1.0.1 - vue-template-compiler: 2.7.14 + vue-template-compiler: 2.7.16 optionalDependencies: - typescript: 5.4.4 - - '@vue/shared@3.3.4': {} - - '@xmldom/xmldom@0.8.6': {} + typescript: 5.5.2 - '@xstate/immer@0.3.3(immer@9.0.21)(xstate@4.38.3)': - dependencies: - immer: 9.0.21 - xstate: 4.38.3 + '@vue/shared@3.4.30': {} - '@xstate/react@1.6.3(@types/react@18.2.75)(react@18.2.0)(xstate@4.38.3)': - dependencies: - react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.75)(react@18.2.0) - use-subscription: 1.8.0(react@18.2.0) - optionalDependencies: - xstate: 4.38.3 - transitivePeerDependencies: - - '@types/react' + '@xmldom/xmldom@0.8.10': {} '@zxing/text-encoding@0.9.0': optional: true @@ -14571,24 +13171,28 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.12.0): dependencies: - acorn: 8.11.3 + acorn: 8.12.0 - acorn-walk@8.3.2: {} - - acorn@8.11.3: {} + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.0 - acorn@8.8.2: {} + acorn@8.12.0: {} aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.12.0): + ajv-formats@2.1.1(ajv@8.16.0): optionalDependencies: - ajv: 8.12.0 + ajv: 8.16.0 + + ajv-formats@3.0.1(ajv@8.16.0): + optionalDependencies: + ajv: 8.16.0 ajv@6.12.6: dependencies: @@ -14597,7 +13201,7 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: + ajv@8.16.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -14649,26 +13253,24 @@ snapshots: archiver-utils@5.0.2: dependencies: - glob: 10.3.12 + glob: 10.4.2 graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 - readable-stream: 4.3.0 + readable-stream: 4.5.2 archiver@7.0.1: dependencies: archiver-utils: 5.0.2 async: 3.2.5 buffer-crc32: 1.0.0 - readable-stream: 4.3.0 - readdir-glob: 1.1.2 - tar-stream: 3.1.6 + readable-stream: 4.5.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 zip-stream: 6.0.1 - archy@1.0.0: {} - arg@4.1.3: {} arg@5.0.2: {} @@ -14679,13 +13281,13 @@ snapshots: argparse@2.0.1: {} - aria-hidden@1.2.3: + aria-hidden@1.2.4: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 aria-query@5.1.3: dependencies: - deep-equal: 2.2.0 + deep-equal: 2.2.3 aria-query@5.3.0: dependencies: @@ -14696,24 +13298,17 @@ snapshots: call-bind: 1.0.7 is-array-buffer: 3.0.4 - array-includes@3.1.7: + array-includes@3.1.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 array-union@2.1.0: {} - array.prototype.filter@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 - array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.7 @@ -14723,19 +13318,13 @@ snapshots: es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - array.prototype.findlastindex@1.2.4: + array.prototype.findlastindex@1.2.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - - array.prototype.flat@1.3.1: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 array.prototype.flat@1.3.2: @@ -14759,7 +13348,7 @@ snapshots: es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - array.prototype.tosorted@1.1.3: + array.prototype.tosorted@1.1.4: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14778,8 +13367,6 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - arrify@1.0.1: {} - asap@2.0.6: {} asn1@0.2.6: @@ -14794,7 +13381,7 @@ snapshots: ast-types@0.15.2: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 astral-regex@1.0.0: {} @@ -14810,18 +13397,18 @@ snapshots: atomic-sleep@1.0.0: {} - atomically@2.0.2: + atomically@2.0.3: dependencies: stubborn-fs: 1.2.5 - when-exit: 2.0.0 + when-exit: 2.1.2 autoprefixer@10.4.19(postcss@8.4.38): dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001607 + browserslist: 4.23.1 + caniuse-lite: 1.0.30001637 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 postcss: 8.4.38 postcss-value-parser: 4.2.0 @@ -14829,88 +13416,54 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - avvio@8.3.0: + avvio@8.3.2: dependencies: '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4(supports-color@8.1.1) fastq: 1.17.1 - transitivePeerDependencies: - - supports-color aws-sign2@0.7.0: {} - aws4@1.12.0: {} + aws4@1.13.0: {} - axe-core@4.7.0: {} + axe-core@4.9.1: {} - axobject-query@3.2.1: + axobject-query@3.1.1: dependencies: - dequal: 2.0.3 - - b4a@1.6.4: {} + deep-equal: 2.2.3 - babel-core@7.0.0-bridge.0(@babel/core@7.24.4): - dependencies: - '@babel/core': 7.24.4 + b4a@1.6.6: {} - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.23.9): + babel-core@7.0.0-bridge.0(@babel/core@7.24.7): dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.23.9) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.24.7 - babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.4): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.7): dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.4 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4) + '@babel/compat-data': 7.24.7 + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.23.9): - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.23.9) - core-js-compat: 3.36.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4) - core-js-compat: 3.36.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.23.9): + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.7): dependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.23.9) + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) + core-js-compat: 3.37.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.4): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.7): dependencies: - '@babel/core': 7.24.4 - '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.4) + '@babel/core': 7.24.7 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.7) transitivePeerDependencies: - supports-color - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.23.9): - dependencies: - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.4): + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.7): dependencies: - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.7) transitivePeerDependencies: - '@babel/core' @@ -14920,6 +13473,9 @@ snapshots: balanced-match@1.0.2: {} + bare-events@2.4.2: + optional: true + base64-js@1.5.1: {} bcrypt-pbkdf@1.0.2: @@ -14930,13 +13486,13 @@ snapshots: dependencies: is-windows: 1.0.2 - binary-extensions@2.2.0: {} + binary-extensions@2.3.0: {} bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 - readable-stream: 3.6.0 + readable-stream: 3.6.2 blob-util@2.0.2: {} @@ -14953,20 +13509,16 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - breakword@1.0.5: + browserslist@4.23.1: dependencies: - wcwidth: 1.0.1 - - browserslist@4.23.0: - dependencies: - caniuse-lite: 1.0.30001588 - electron-to-chromium: 1.4.673 + caniuse-lite: 1.0.30001637 + electron-to-chromium: 1.4.812 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + update-browserslist-db: 1.0.16(browserslist@4.23.1) bser@2.1.1: dependencies: @@ -15006,7 +13558,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 + set-function-length: 1.2.2 caller-callsite@2.0.0: dependencies: @@ -15022,19 +13574,11 @@ snapshots: camelcase-css@2.0.1: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - camelcase@5.3.1: {} camelcase@6.3.0: {} - caniuse-lite@1.0.30001588: {} - - caniuse-lite@1.0.30001607: {} + caniuse-lite@1.0.30001637: {} caseless@0.12.0: {} @@ -15044,7 +13588,7 @@ snapshots: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 @@ -15082,10 +13626,10 @@ snapshots: check-more-types@2.24.0: {} - chokidar@3.5.3: + chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -15096,7 +13640,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -15105,13 +13649,11 @@ snapshots: ci-info@2.0.0: {} - ci-info@3.8.0: {} - ci-info@3.9.0: {} ci-info@4.0.0: {} - classnames@2.3.2: {} + classnames@2.5.1: {} clean-regexp@1.0.0: dependencies: @@ -15123,9 +13665,9 @@ snapshots: dependencies: restore-cursor: 3.1.0 - cli-spinners@2.7.0: {} + cli-spinners@2.9.2: {} - cli-table3@0.6.3: + cli-table3@0.6.5: dependencies: string-width: 4.2.3 optionalDependencies: @@ -15160,7 +13702,7 @@ snapshots: clsx@1.2.1: {} - clsx@2.1.0: {} + clsx@2.1.1: {} color-convert@1.9.3: dependencies: @@ -15202,7 +13744,7 @@ snapshots: crc32-stream: 6.0.0 is-stream: 2.0.1 normalize-path: 3.0.0 - readable-stream: 4.3.0 + readable-stream: 4.5.2 compressible@2.0.18: dependencies: @@ -15230,16 +13772,18 @@ snapshots: conf@12.0.0: dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - atomically: 2.0.2 + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) + atomically: 2.0.3 debounce-fn: 5.1.2 dot-prop: 8.0.2 env-paths: 3.0.0 json-schema-typed: 8.0.1 - semver: 7.5.4 + semver: 7.6.2 uint8array-extras: 0.3.0 + confbox@0.1.7: {} + connect@3.7.0: dependencies: debug: 2.6.9 @@ -15253,11 +13797,11 @@ snapshots: cookie@0.4.2: {} - cookie@0.5.0: {} + cookie@0.6.0: {} - core-js-compat@3.36.1: + core-js-compat@3.37.1: dependencies: - browserslist: 4.23.0 + browserslist: 4.23.1 core-util-is@1.0.2: {} @@ -15275,7 +13819,7 @@ snapshots: crc32-stream@6.0.0: dependencies: crc-32: 1.2.2 - readable-stream: 4.3.0 + readable-stream: 4.5.2 create-require@1.1.1: {} @@ -15305,26 +13849,13 @@ snapshots: cssesc@3.0.0: {} - csstype@3.1.1: {} - - csv-generate@3.4.3: {} - - csv-parse@4.16.3: {} + csstype@3.1.3: {} - csv-stringify@5.6.5: {} - - csv@5.5.3: - dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - - cypress-real-events@1.12.0(cypress@13.7.2): + cypress-real-events@1.13.0(cypress@13.12.0): dependencies: - cypress: 13.7.2 + cypress: 13.12.0 - cypress@13.7.2: + cypress@13.12.0: dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) @@ -15338,11 +13869,11 @@ snapshots: chalk: 4.1.2 check-more-types: 2.24.0 cli-cursor: 3.1.0 - cli-table3: 0.6.3 + cli-table3: 0.6.5 commander: 6.2.1 common-tags: 1.8.2 - dayjs: 1.11.10 - debug: 4.3.4(supports-color@8.1.1) + dayjs: 1.11.11 + debug: 4.3.5(supports-color@8.1.1) enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 @@ -15363,9 +13894,9 @@ snapshots: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.6.0 + semver: 7.6.2 supports-color: 8.1.1 - tmp: 0.2.1 + tmp: 0.2.3 untildify: 4.0.0 yauzl: 2.10.0 @@ -15451,13 +13982,9 @@ snapshots: dataloader@1.4.0: {} - date-fns@2.30.0: - dependencies: - '@babel/runtime': 7.23.9 - date-fns@3.6.0: {} - dayjs@1.11.10: {} + dayjs@1.11.11: {} de-indent@1.0.2: {} @@ -15477,46 +14004,42 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - debug@4.3.4(supports-color@8.1.1): + debug@4.3.5(supports-color@8.1.1): dependencies: ms: 2.1.2 optionalDependencies: supports-color: 8.1.1 - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - decamelize@1.2.0: {} decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 - deep-eql@4.1.3: + deep-eql@4.1.4: dependencies: type-detect: 4.0.8 - deep-equal@2.2.0: + deep-equal@2.2.3: dependencies: + array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 es-get-iterator: 1.1.3 get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 - object-is: 1.1.5 + object-is: 1.1.6 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 side-channel: 1.0.6 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.9 + which-collection: 1.0.2 + which-typed-array: 1.1.15 deep-is@0.1.4: {} @@ -15571,7 +14094,7 @@ snapshots: diff@4.0.2: {} - diff@5.1.0: {} + diff@5.2.0: {} dir-glob@3.0.1: dependencies: @@ -15623,14 +14146,23 @@ snapshots: dotenv@8.6.0: {} - downshift@6.1.12(react@18.2.0): + downshift@6.1.12(react@18.3.1): dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 compute-scroll-into-view: 1.0.20 prop-types: 15.8.1 - react: 18.2.0 + react: 18.3.1 react-is: 17.0.2 - tslib: 2.6.2 + tslib: 2.6.3 + + downshift@9.0.6(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.7 + compute-scroll-into-view: 3.1.0 + prop-types: 15.8.1 + react: 18.3.1 + react-is: 18.2.0 + tslib: 2.6.3 eastasianwidth@0.2.0: {} @@ -15641,7 +14173,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.4.673: {} + electron-to-chromium@1.4.812: {} emoji-regex@8.0.0: {} @@ -15653,15 +14185,11 @@ snapshots: dependencies: once: 1.4.0 - enhanced-resolve@5.15.0: + enhanced-resolve@5.17.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - enquirer@2.3.6: - dependencies: - ansi-colors: 4.1.3 - enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -15673,7 +14201,7 @@ snapshots: env-paths@3.0.0: {} - envinfo@7.12.0: {} + envinfo@7.13.0: {} error-ex@1.3.2: dependencies: @@ -15705,7 +14233,7 @@ snapshots: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -15721,7 +14249,7 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -15737,8 +14265,6 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.15 - es-array-method-boxes-properly@1.0.0: {} - es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 @@ -15751,13 +14277,13 @@ snapshots: get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - es-iterator-helpers@1.0.18: + es-iterator-helpers@1.0.19: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15766,7 +14292,7 @@ snapshots: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 @@ -15821,33 +14347,33 @@ snapshots: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - esbuild@0.20.2: + esbuild@0.21.5: optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - - escalade@3.1.1: {} + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.1.2: {} escape-html@1.0.3: {} @@ -15859,10 +14385,10 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.0(eslint@8.57.0): + eslint-compat-utils@0.5.1(eslint@8.57.0): dependencies: eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: @@ -15871,21 +14397,21 @@ snapshots: eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7(supports-color@8.1.1) - is-core-module: 2.13.1 + is-core-module: 2.14.0 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0): dependencies: - debug: 4.3.4(supports-color@8.1.1) - enhanced-resolve: 5.15.0 + debug: 4.3.5(supports-color@8.1.1) + enhanced-resolve: 5.17.0 eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 + get-tsconfig: 4.7.5 + is-core-module: 2.14.0 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -15893,14 +14419,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -15908,65 +14434,65 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 eslint: 8.57.0 - ignore: 5.2.4 + ignore: 5.3.1 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.4 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - hasown: 2.0.1 - is-core-module: 2.13.1 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + hasown: 2.0.2 + is-core-module: 2.14.0 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.2 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsonc@2.15.0(eslint@8.57.0): + eslint-plugin-jsonc@2.16.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) eslint: 8.57.0 - eslint-compat-utils: 0.5.0(eslint@8.57.0) + eslint-compat-utils: 0.5.1(eslint@8.57.0) espree: 9.6.1 graphemer: 1.4.0 - jsonc-eslint-parser: 2.1.0 + jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + eslint-plugin-jsx-a11y@6.9.0(eslint@8.57.0): dependencies: - '@babel/runtime': 7.23.9 - aria-query: 5.3.0 - array-includes: 3.1.7 + aria-query: 5.1.3 + array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 + axe-core: 4.9.1 + axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.18 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.7 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.0 eslint-plugin-lodash@7.4.0(eslint@8.57.0): dependencies: @@ -15989,40 +14515,40 @@ snapshots: lodash: 4.17.21 metric-lcs: 0.1.2 - eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5): + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2): dependencies: eslint: 8.57.0 - prettier: 3.2.5 + prettier: 3.3.2 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 optionalDependencies: eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-promise@6.1.1(eslint@8.57.0): + eslint-plugin-promise@6.2.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): + eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-react@7.34.1(eslint@8.57.0): + eslint-plugin-react@7.34.3(eslint@8.57.0): dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 array.prototype.toreversed: 1.1.2 - array.prototype.tosorted: 1.1.3 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.0.18 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 - object.fromentries: 2.0.7 + object.fromentries: 2.0.8 object.hasown: 1.1.4 - object.values: 1.1.7 + object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 @@ -16030,12 +14556,12 @@ snapshots: eslint-plugin-unicorn@51.0.1(eslint@8.57.0): dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.7 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 - core-js-compat: 3.36.1 + core-js-compat: 3.37.1 eslint: 8.57.0 esquery: 1.5.0 indent-string: 4.0.0 @@ -16045,19 +14571,19 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.0 + semver: 7.6.2 strip-indent: 3.0.0 transitivePeerDependencies: - supports-color eslint-plugin-yml@1.14.0(eslint@8.57.0): dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) eslint: 8.57.0 - eslint-compat-utils: 0.5.0(eslint@8.57.0) + eslint-compat-utils: 0.5.1(eslint@8.57.0) lodash: 4.17.21 natural-compare: 1.4.0 - yaml-eslint-parser: 1.2.2 + yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color @@ -16071,7 +14597,7 @@ snapshots: eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.6.1 + '@eslint-community/regexpp': 4.10.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -16081,7 +14607,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -16093,9 +14619,9 @@ snapshots: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.19.0 + globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -16105,7 +14631,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -16113,8 +14639,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -16197,7 +14723,7 @@ snapshots: extract-zip@2.0.1(supports-color@8.1.1): dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -16213,7 +14739,7 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-diff@1.2.0: {} + fast-diff@1.3.0: {} fast-fifo@1.3.2: {} @@ -16223,56 +14749,54 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} - fast-json-stringify@5.9.1: + fast-json-stringify@5.16.1: dependencies: - '@fastify/deepmerge': 1.3.0 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.16.0 + ajv-formats: 3.0.1(ajv@8.16.0) fast-deep-equal: 3.1.3 - fast-uri: 2.2.0 + fast-uri: 2.4.0 json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 + rfdc: 1.4.1 fast-levenshtein@2.0.6: {} - fast-querystring@1.1.0: + fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - fast-redact@3.1.2: {} + fast-redact@3.5.0: {} - fast-uri@2.2.0: {} + fast-uri@2.4.0: {} - fast-xml-parser@4.3.6: + fast-xml-parser@4.4.0: dependencies: strnum: 1.0.5 - fastify-plugin@4.5.0: {} + fastify-plugin@4.5.1: {} - fastify@4.26.2: + fastify@4.28.0: dependencies: - '@fastify/ajv-compiler': 3.5.0 + '@fastify/ajv-compiler': 3.6.0 '@fastify/error': 3.4.1 '@fastify/fast-json-stringify-compiler': 4.3.0 abstract-logging: 2.0.1 - avvio: 8.3.0 + avvio: 8.3.2 fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.9.1 - find-my-way: 8.1.0 - light-my-request: 5.11.0 - pino: 8.19.0 + fast-json-stringify: 5.16.1 + find-my-way: 8.2.0 + light-my-request: 5.13.0 + pino: 9.2.0 process-warning: 3.0.0 proxy-addr: 2.0.7 - rfdc: 1.3.1 + rfdc: 1.4.1 secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.3.0 - transitivePeerDependencies: - - supports-color + semver: 7.6.2 + toad-cache: 3.7.0 fastq@1.17.1: dependencies: @@ -16289,9 +14813,9 @@ snapshots: fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 + web-streams-polyfill: 3.3.3 - fflate@0.8.1: {} + fflate@0.8.2: {} figures@3.2.0: dependencies: @@ -16299,9 +14823,9 @@ snapshots: file-entry-cache@6.0.1: dependencies: - flat-cache: 3.0.4 + flat-cache: 3.2.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -16323,11 +14847,11 @@ snapshots: make-dir: 2.1.0 pkg-dir: 3.0.0 - find-my-way@8.1.0: + find-my-way@8.2.0: dependencies: fast-deep-equal: 3.1.3 - fast-querystring: 1.1.0 - safe-regex2: 2.0.0 + fast-querystring: 1.1.2 + safe-regex2: 3.1.0 find-root@1.1.0: {} @@ -16352,19 +14876,20 @@ snapshots: find-yarn-workspace-root2@1.2.16: dependencies: - micromatch: 4.0.5 + micromatch: 4.0.7 pkg-dir: 4.2.0 - flat-cache@3.0.4: + flat-cache@3.2.0: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 + keyv: 4.5.4 rimraf: 3.0.2 - flatted@3.2.9: {} + flatted@3.3.1: {} flow-enums-runtime@0.0.6: {} - flow-parser@0.234.0: {} + flow-parser@0.238.2: {} fontfaceobserver@2.1.0: {} @@ -16372,7 +14897,7 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.1.1: + foreground-child@3.2.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -16393,13 +14918,13 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + framer-motion@10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@emotion/is-prop-valid': 0.8.8 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) fresh@0.5.2: {} @@ -16407,9 +14932,9 @@ snapshots: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 - fs-extra@11.1.1: + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -16482,7 +15007,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.2: + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -16504,22 +15029,14 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.3.12: - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.2 - - glob@7.1.6: + glob@10.4.2: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + foreground-child: 3.2.1 + jackspeak: 3.4.0 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -16536,20 +15053,21 @@ snapshots: globals@11.12.0: {} - globals@13.19.0: + globals@13.24.0: dependencies: type-fest: 0.20.2 - globalthis@1.0.3: + globalthis@1.0.4: dependencies: define-properties: 1.2.1 + gopd: 1.0.1 globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -16559,11 +15077,9 @@ snapshots: graceful-fs@4.2.11: {} - grapheme-splitter@1.0.4: {} - graphemer@1.4.0: {} - graphql@16.8.1: {} + graphql@16.9.0: {} happy-dom@13.10.1: dependencies: @@ -16571,8 +15087,6 @@ snapshots: webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 - hard-rejection@2.1.0: {} - has-bigints@1.0.2: {} has-flag@3.0.0: {} @@ -16591,10 +15105,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - hasown@2.0.1: - dependencies: - function-bind: 1.1.2 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -16655,15 +15165,13 @@ snapshots: ieee754@1.2.1: {} - ignore@5.2.4: {} + ignore@5.3.1: {} image-size@1.1.1: dependencies: queue: 6.0.2 - immer@10.0.4: {} - - immer@9.0.21: {} + immer@10.1.1: {} import-fresh@2.0.0: dependencies: @@ -16690,7 +15198,7 @@ snapshots: ini@2.0.0: {} - inquirer@8.2.5: + inquirer@8.2.6: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -16706,7 +15214,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 - wrap-ansi: 7.0.0 + wrap-ansi: 6.2.0 internal-slot@1.0.7: dependencies: @@ -16716,12 +15224,12 @@ snapshots: internmap@2.0.3: {} - intl-messageformat@10.3.3: + intl-messageformat@10.5.14: dependencies: - '@formatjs/ecma402-abstract': 1.14.3 - '@formatjs/fast-memoize': 2.0.1 - '@formatjs/icu-messageformat-parser': 2.3.0 - tslib: 2.6.2 + '@formatjs/ecma402-abstract': 2.0.0 + '@formatjs/fast-memoize': 2.2.0 + '@formatjs/icu-messageformat-parser': 2.7.8 + tslib: 2.6.3 invariant@2.2.4: dependencies: @@ -16741,12 +15249,6 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-array-buffer@3.0.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-typed-array: 1.1.13 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -16764,7 +15266,7 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 is-boolean-object@1.1.2: dependencies: @@ -16783,7 +15285,7 @@ snapshots: dependencies: ci-info: 3.9.0 - is-core-module@2.13.1: + is-core-module@2.14.0: dependencies: hasown: 2.0.2 @@ -16836,7 +15338,7 @@ snapshots: is-interactive@1.0.0: {} - is-map@2.0.2: {} + is-map@2.0.3: {} is-negative-zero@2.0.3: {} @@ -16852,8 +15354,6 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@1.1.0: {} - is-plain-obj@4.1.0: {} is-plain-object@2.0.4: @@ -16869,11 +15369,7 @@ snapshots: is-regexp@3.1.0: {} - is-set@2.0.2: {} - - is-shared-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 + is-set@2.0.3: {} is-shared-array-buffer@1.0.3: dependencies: @@ -16903,13 +15399,13 @@ snapshots: is-unicode-supported@0.1.0: {} - is-weakmap@2.0.1: {} + is-weakmap@2.0.2: {} is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - is-weakset@2.0.2: + is-weakset@2.0.3: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 @@ -16926,8 +15422,6 @@ snapshots: dependencies: is-inside-container: 1.0.0 - isarray@0.0.1: {} - isarray@1.0.0: {} isarray@2.0.5: {} @@ -16951,12 +15445,12 @@ snapshots: istanbul-lib-source-maps@5.0.4: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color - istanbul-reports@3.1.6: + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 @@ -16969,12 +15463,12 @@ snapshots: reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - its-fine@1.2.5(react@18.2.0): + its-fine@1.2.5(react@18.3.1): dependencies: '@types/react-reconciler': 0.28.8 - react: 18.2.0 + react: 18.3.1 - jackspeak@2.3.6: + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -16985,7 +15479,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.31 + '@types/node': 18.19.39 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -16993,12 +15487,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -17006,13 +15500,13 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.31 + '@types/node': 18.19.39 jest-util: 29.7.0 jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.31 + '@types/node': 18.19.39 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -17029,16 +15523,16 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jiti@1.21.0: {} + jiti@1.21.6: {} jju@1.4.0: {} - joi@17.13.0: + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -17046,28 +15540,28 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - jotai-optics@0.3.2(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(optics-ts@2.4.1): + jotai-optics@0.3.2(jotai@2.8.3(@types/react@18.3.3)(react@18.3.1))(optics-ts@2.4.1): dependencies: - jotai: 2.8.0(@types/react@18.2.75)(react@18.2.0) + jotai: 2.8.3(@types/react@18.3.3)(react@18.3.1) optics-ts: 2.4.1 - jotai-x@1.2.2(@types/react@18.2.75)(jotai@2.8.0(@types/react@18.2.75)(react@18.2.0))(react@18.2.0): + jotai-x@1.2.3(@types/react@18.3.3)(jotai@2.8.3(@types/react@18.3.3)(react@18.3.1))(react@18.3.1): dependencies: - jotai: 2.8.0(@types/react@18.2.75)(react@18.2.0) + jotai: 2.8.3(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - react: 18.2.0 + '@types/react': 18.3.3 + react: 18.3.1 - jotai@2.8.0(@types/react@18.2.75)(react@18.2.0): + jotai@2.8.3(@types/react@18.3.3)(react@18.3.1): optionalDependencies: - '@types/react': 18.2.75 - react: 18.2.0 + '@types/react': 18.3.3 + react: 18.3.1 js-levenshtein@1.1.6: {} js-tokens@4.0.0: {} - js-tokens@8.0.3: {} + js-tokens@9.0.0: {} js-yaml@3.14.1: dependencies: @@ -17084,48 +15578,23 @@ snapshots: jsc-safe-url@0.2.4: {} - jscodeshift@0.14.0(@babel/preset-env@7.24.4(@babel/core@7.23.9)): - dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/preset-env': 7.24.4(@babel/core@7.23.9) - '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) - '@babel/register': 7.23.7(@babel/core@7.24.4) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) - chalk: 4.1.2 - flow-parser: 0.234.0 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.21.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - - jscodeshift@0.14.0(@babel/preset-env@7.24.4(@babel/core@7.24.4)): - dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/preset-env': 7.24.4(@babel/core@7.24.4) - '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) - '@babel/register': 7.23.7(@babel/core@7.24.4) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) + jscodeshift@0.14.0(@babel/preset-env@7.24.7(@babel/core@7.24.7)): + dependencies: + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.7) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.7) + '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/preset-flow': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/register': 7.24.6(@babel/core@7.24.7) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.7) chalk: 4.1.2 - flow-parser: 0.234.0 + flow-parser: 0.238.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 neo-async: 2.6.2 node-dir: 0.1.17 recast: 0.21.5 @@ -17140,6 +15609,8 @@ snapshots: jsesc@3.0.2: {} + json-buffer@3.0.1: {} + json-parse-better-errors@1.0.2: {} json-parse-even-better-errors@2.3.1: {} @@ -17166,14 +15637,12 @@ snapshots: json5@2.2.3: {} - jsonc-eslint-parser@2.1.0: + jsonc-eslint-parser@2.4.0: dependencies: - acorn: 8.11.3 + acorn: 8.12.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.6.0 - - jsonc-parser@3.2.1: {} + semver: 7.6.2 jsonfile@4.0.0: optionalDependencies: @@ -17194,12 +15663,16 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 - object.values: 1.1.7 + object.values: 1.2.0 + + just-extend@6.2.0: {} - just-extend@4.2.1: {} + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 kind-of@6.0.3: {} @@ -17209,19 +15682,19 @@ snapshots: kolorist@1.8.0: {} - konva@9.3.6: {} + konva@9.3.12: {} - language-subtag-registry@0.3.22: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: dependencies: - language-subtag-registry: 0.3.22 + language-subtag-registry: 0.3.23 lazy-ass@1.6.0: {} lazystream@1.0.1: dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 leven@3.1.0: {} @@ -17230,10 +15703,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - light-my-request@5.11.0: + light-my-request@5.13.0: dependencies: - cookie: 0.5.0 - process-warning: 2.2.0 + cookie: 0.6.0 + process-warning: 3.0.0 set-cookie-parser: 2.6.0 lighthouse-logger@1.4.2: @@ -17245,6 +15718,8 @@ snapshots: lilconfig@2.1.0: {} + lilconfig@3.1.2: {} + lines-and-columns@1.2.4: {} listr2@3.14.0(enquirer@2.4.1): @@ -17253,7 +15728,7 @@ snapshots: colorette: 2.0.20 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.1 + rfdc: 1.4.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 @@ -17269,8 +15744,8 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 + mlly: 1.7.1 + pkg-types: 1.1.1 locate-path@3.0.0: dependencies: @@ -17324,7 +15799,7 @@ snapshots: logkitty@0.7.1: dependencies: ansi-fragments: 0.2.1 - dayjs: 1.11.10 + dayjs: 1.11.11 yargs: 15.4.1 longest-streak@3.1.0: {} @@ -17337,7 +15812,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru-cache@10.2.0: {} + lru-cache@10.2.2: {} lru-cache@4.1.5: dependencies: @@ -17358,19 +15833,15 @@ snapshots: dependencies: sourcemap-codec: 1.4.8 - magic-string@0.30.7: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - magic-string@0.30.9: + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - magicast@0.3.3: + magicast@0.3.4: dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - source-map-js: 1.0.2 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + source-map-js: 1.2.0 make-dir@2.1.0: dependencies: @@ -17379,7 +15850,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.2 make-error@1.3.6: {} @@ -17387,10 +15858,6 @@ snapshots: dependencies: tmpl: 1.0.5 - map-obj@1.0.1: {} - - map-obj@4.3.0: {} - markdown-table@3.0.3: {} marky@1.2.5: {} @@ -17399,14 +15866,14 @@ snapshots: mdast-util-find-and-replace@2.2.2: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 escape-string-regexp: 5.0.0 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 mdast-util-from-markdown@0.8.5: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -17414,18 +15881,18 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-from-markdown@1.3.0: + mdast-util-from-markdown@1.3.1: dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 - micromark: 3.1.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-decode-string: 1.0.2 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 unist-util-stringify-position: 3.0.3 uvu: 0.5.6 transitivePeerDependencies: @@ -17433,39 +15900,39 @@ snapshots: mdast-util-gfm-autolink-literal@1.0.3: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 ccount: 2.0.1 mdast-util-find-and-replace: 2.2.2 - micromark-util-character: 1.1.0 + micromark-util-character: 1.2.0 mdast-util-gfm-footnote@1.0.2: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 - micromark-util-normalize-identifier: 1.0.0 + micromark-util-normalize-identifier: 1.1.0 mdast-util-gfm-strikethrough@1.0.3: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 mdast-util-gfm-table@1.0.7: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 markdown-table: 3.0.3 - mdast-util-from-markdown: 1.3.0 + mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color mdast-util-gfm-task-list-item@1.0.2: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 mdast-util-gfm@2.0.2: dependencies: - mdast-util-from-markdown: 1.3.0 + mdast-util-from-markdown: 1.3.1 mdast-util-gfm-autolink-literal: 1.0.3 mdast-util-gfm-footnote: 1.0.2 mdast-util-gfm-strikethrough: 1.0.3 @@ -17477,17 +15944,17 @@ snapshots: mdast-util-phrasing@3.0.1: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 unist-util-is: 5.2.1 mdast-util-to-markdown@1.5.0: dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 mdast-util-to-string: 3.2.0 - micromark-util-decode-string: 1.0.2 + micromark-util-decode-string: 1.1.0 unist-util-visit: 4.1.2 zwitch: 2.0.4 @@ -17495,66 +15962,52 @@ snapshots: mdast-util-to-string@3.2.0: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 memoize-one@5.2.1: {} - meow@6.1.1: - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - merge-stream@2.0.0: {} merge2@1.4.1: {} metric-lcs@0.1.2: {} - metro-babel-transformer@0.80.8: + metro-babel-transformer@0.80.9: dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.7 hermes-parser: 0.20.1 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-cache-key@0.80.8: {} + metro-cache-key@0.80.9: {} - metro-cache@0.80.8: + metro-cache@0.80.9: dependencies: - metro-core: 0.80.8 + metro-core: 0.80.9 rimraf: 3.0.2 - metro-config@0.80.8: + metro-config@0.80.9: dependencies: connect: 3.7.0 cosmiconfig: 5.2.1 jest-validate: 29.7.0 - metro: 0.80.8 - metro-cache: 0.80.8 - metro-core: 0.80.8 - metro-runtime: 0.80.8 + metro: 0.80.9 + metro-cache: 0.80.9 + metro-core: 0.80.9 + metro-runtime: 0.80.9 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - metro-core@0.80.8: + metro-core@0.80.9: dependencies: lodash.throttle: 4.1.1 - metro-resolver: 0.80.8 + metro-resolver: 0.80.9 - metro-file-map@0.80.8: + metro-file-map@0.80.9: dependencies: anymatch: 3.1.3 debug: 2.6.9 @@ -17562,7 +16015,7 @@ snapshots: graceful-fs: 4.2.11 invariant: 2.2.4 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 node-abort-controller: 3.1.1 nullthrows: 1.1.1 walker: 1.0.8 @@ -17571,33 +16024,33 @@ snapshots: transitivePeerDependencies: - supports-color - metro-minify-terser@0.80.8: + metro-minify-terser@0.80.9: dependencies: - terser: 5.30.4 + terser: 5.31.1 - metro-resolver@0.80.8: {} + metro-resolver@0.80.9: {} - metro-runtime@0.80.8: + metro-runtime@0.80.9: dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 - metro-source-map@0.80.8: + metro-source-map@0.80.9: dependencies: - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 invariant: 2.2.4 - metro-symbolicate: 0.80.8 + metro-symbolicate: 0.80.9 nullthrows: 1.1.1 - ob1: 0.80.8 + ob1: 0.80.9 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-symbolicate@0.80.8: + metro-symbolicate@0.80.9: dependencies: invariant: 2.2.4 - metro-source-map: 0.80.8 + metro-source-map: 0.80.9 nullthrows: 1.1.1 source-map: 0.5.7 through2: 2.0.5 @@ -17605,29 +16058,29 @@ snapshots: transitivePeerDependencies: - supports-color - metro-transform-plugins@0.80.8: + metro-transform-plugins@0.80.9: dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-transform-worker@0.80.8: - dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - metro: 0.80.8 - metro-babel-transformer: 0.80.8 - metro-cache: 0.80.8 - metro-cache-key: 0.80.8 - metro-minify-terser: 0.80.8 - metro-source-map: 0.80.8 - metro-transform-plugins: 0.80.8 + metro-transform-worker@0.80.9: + dependencies: + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + metro: 0.80.9 + metro-babel-transformer: 0.80.9 + metro-cache: 0.80.9 + metro-cache-key: 0.80.9 + metro-minify-terser: 0.80.9 + metro-source-map: 0.80.9 + metro-transform-plugins: 0.80.9 nullthrows: 1.1.1 transitivePeerDependencies: - bufferutil @@ -17635,15 +16088,15 @@ snapshots: - supports-color - utf-8-validate - metro@0.80.8: + metro@0.80.9: dependencies: - '@babel/code-frame': 7.24.2 - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 + '@babel/code-frame': 7.24.7 + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -17658,236 +16111,235 @@ snapshots: jest-worker: 29.7.0 jsc-safe-url: 0.2.4 lodash.throttle: 4.1.1 - metro-babel-transformer: 0.80.8 - metro-cache: 0.80.8 - metro-cache-key: 0.80.8 - metro-config: 0.80.8 - metro-core: 0.80.8 - metro-file-map: 0.80.8 - metro-resolver: 0.80.8 - metro-runtime: 0.80.8 - metro-source-map: 0.80.8 - metro-symbolicate: 0.80.8 - metro-transform-plugins: 0.80.8 - metro-transform-worker: 0.80.8 + metro-babel-transformer: 0.80.9 + metro-cache: 0.80.9 + metro-cache-key: 0.80.9 + metro-config: 0.80.9 + metro-core: 0.80.9 + metro-file-map: 0.80.9 + metro-resolver: 0.80.9 + metro-runtime: 0.80.9 + metro-source-map: 0.80.9 + metro-symbolicate: 0.80.9 + metro-transform-plugins: 0.80.9 + metro-transform-worker: 0.80.9 mime-types: 2.1.35 - node-fetch: 2.6.9 + node-fetch: 2.7.0 nullthrows: 1.1.1 rimraf: 3.0.2 serialize-error: 2.1.0 source-map: 0.5.7 strip-ansi: 6.0.1 throat: 5.0.0 - ws: 7.5.9 - yargs: 17.7.1 + ws: 7.5.10 + yargs: 17.7.2 transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - micromark-core-commonmark@1.0.6: + micromark-core-commonmark@1.1.0: dependencies: decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.0.0 - micromark-factory-label: 1.0.2 - micromark-factory-space: 1.0.0 - micromark-factory-title: 1.0.2 - micromark-factory-whitespace: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-html-tag-name: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-subtokenize: 1.0.2 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-extension-gfm-autolink-literal@1.0.4: + micromark-extension-gfm-autolink-literal@1.0.5: dependencies: - micromark-util-character: 1.1.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 - micromark-extension-gfm-footnote@1.1.0: + micromark-extension-gfm-footnote@1.1.2: dependencies: - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-extension-gfm-strikethrough@1.0.5: + micromark-extension-gfm-strikethrough@1.0.7: dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-extension-gfm-table@1.0.6: + micromark-extension-gfm-table@1.0.7: dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 micromark-extension-gfm-tagfilter@1.0.2: dependencies: - micromark-util-types: 1.0.2 + micromark-util-types: 1.1.0 - micromark-extension-gfm-task-list-item@1.0.4: + micromark-extension-gfm-task-list-item@1.0.5: dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-extension-gfm@2.0.2: + micromark-extension-gfm@2.0.3: dependencies: - micromark-extension-gfm-autolink-literal: 1.0.4 - micromark-extension-gfm-footnote: 1.1.0 - micromark-extension-gfm-strikethrough: 1.0.5 - micromark-extension-gfm-table: 1.0.6 + micromark-extension-gfm-autolink-literal: 1.0.5 + micromark-extension-gfm-footnote: 1.1.2 + micromark-extension-gfm-strikethrough: 1.0.7 + micromark-extension-gfm-table: 1.0.7 micromark-extension-gfm-tagfilter: 1.0.2 - micromark-extension-gfm-task-list-item: 1.0.4 - micromark-util-combine-extensions: 1.0.0 - micromark-util-types: 1.0.2 + micromark-extension-gfm-task-list-item: 1.0.5 + micromark-util-combine-extensions: 1.1.0 + micromark-util-types: 1.1.0 - micromark-factory-destination@1.0.0: + micromark-factory-destination@1.1.0: dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 - micromark-factory-label@1.0.2: + micromark-factory-label@1.1.0: dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-factory-space@1.0.0: + micromark-factory-space@1.1.0: dependencies: - micromark-util-character: 1.1.0 - micromark-util-types: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 - micromark-factory-title@1.0.2: + micromark-factory-title@1.1.0: dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 - micromark-factory-whitespace@1.0.0: + micromark-factory-whitespace@1.1.0: dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 - micromark-util-character@1.1.0: + micromark-util-character@1.2.0: dependencies: - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 - micromark-util-chunked@1.0.0: + micromark-util-chunked@1.1.0: dependencies: - micromark-util-symbol: 1.0.1 + micromark-util-symbol: 1.1.0 - micromark-util-classify-character@1.0.0: + micromark-util-classify-character@1.1.0: dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 - micromark-util-combine-extensions@1.0.0: + micromark-util-combine-extensions@1.1.0: dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-types: 1.0.2 + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 - micromark-util-decode-numeric-character-reference@1.0.0: + micromark-util-decode-numeric-character-reference@1.1.0: dependencies: - micromark-util-symbol: 1.0.1 + micromark-util-symbol: 1.1.0 - micromark-util-decode-string@1.0.2: + micromark-util-decode-string@1.1.0: dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-symbol: 1.0.1 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 - micromark-util-encode@1.0.1: {} + micromark-util-encode@1.1.0: {} - micromark-util-html-tag-name@1.1.0: {} + micromark-util-html-tag-name@1.2.0: {} - micromark-util-normalize-identifier@1.0.0: + micromark-util-normalize-identifier@1.1.0: dependencies: - micromark-util-symbol: 1.0.1 + micromark-util-symbol: 1.1.0 - micromark-util-resolve-all@1.0.0: + micromark-util-resolve-all@1.1.0: dependencies: - micromark-util-types: 1.0.2 + micromark-util-types: 1.1.0 - micromark-util-sanitize-uri@1.1.0: + micromark-util-sanitize-uri@1.2.0: dependencies: - micromark-util-character: 1.1.0 - micromark-util-encode: 1.0.1 - micromark-util-symbol: 1.0.1 + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 - micromark-util-subtokenize@1.0.2: + micromark-util-subtokenize@1.1.0: dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 - micromark-util-symbol@1.0.1: {} + micromark-util-symbol@1.1.0: {} - micromark-util-types@1.0.2: {} + micromark-util-types@1.1.0: {} micromark@2.11.4: dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color - micromark@3.1.0: + micromark@3.2.0: dependencies: - '@types/debug': 4.1.7 - debug: 4.3.4(supports-color@8.1.1) + '@types/debug': 4.1.12 + debug: 4.3.5(supports-color@8.1.1) decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-chunked: 1.0.0 - micromark-util-combine-extensions: 1.0.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-encode: 1.0.1 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-subtokenize: 1.0.2 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 uvu: 0.5.6 transitivePeerDependencies: - supports-color - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mime-db@1.52.0: {} @@ -17920,38 +16372,30 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.3: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - minimist@1.2.8: {} - minipass@7.0.4: {} + minipass@7.1.2: {} mitt@2.1.0: {} mitt@3.0.1: {} - mixme@0.5.9: {} - mkdirp@0.5.6: dependencies: minimist: 1.2.8 mkdirp@1.0.4: {} - mlly@1.6.1: + mlly@1.7.1: dependencies: - acorn: 8.11.3 + acorn: 8.12.0 pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 + pkg-types: 1.1.1 + ufo: 1.5.3 mnemonist@0.39.6: dependencies: @@ -17969,29 +16413,29 @@ snapshots: ms@2.1.3: {} - msw@1.3.3(typescript@5.4.4): + msw@1.3.3(typescript@5.5.2): dependencies: '@mswjs/cookies': 0.2.2 '@mswjs/interceptors': 0.17.10 '@open-draft/until': 1.0.3 '@types/cookie': 0.4.1 - '@types/js-levenshtein': 1.1.1 + '@types/js-levenshtein': 1.1.3 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 cookie: 0.4.2 - graphql: 16.8.1 + graphql: 16.9.0 headers-polyfill: 3.2.5 - inquirer: 8.2.5 + inquirer: 8.2.6 is-node-process: 1.2.0 js-levenshtein: 1.1.6 - node-fetch: 2.6.9 - outvariant: 1.4.0 - path-to-regexp: 6.2.1 - strict-event-emitter: 0.4.4 + node-fetch: 2.7.0 + outvariant: 1.4.2 + path-to-regexp: 6.2.2 + strict-event-emitter: 0.4.6 type-fest: 2.19.0 - yargs: 17.7.1 + yargs: 17.7.2 optionalDependencies: - typescript: 5.4.4 + typescript: 5.5.2 transitivePeerDependencies: - encoding - supports-color @@ -18014,19 +16458,19 @@ snapshots: neo-async@2.6.2: {} - nise@5.1.5: + nise@5.1.9: dependencies: - '@sinonjs/commons': 2.0.0 - '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers': 11.2.2 '@sinonjs/text-encoding': 0.7.2 - just-extend: 4.2.1 - path-to-regexp: 1.8.0 + just-extend: 6.2.0 + path-to-regexp: 6.2.2 nocache@3.0.4: {} nock@13.5.4: dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: @@ -18040,7 +16484,7 @@ snapshots: node-domexception@1.0.0: {} - node-fetch@2.6.9: + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -18088,15 +16532,15 @@ snapshots: nullthrows@1.1.1: {} - ob1@0.80.8: {} + ob1@0.80.9: {} object-assign@4.1.1: {} object-hash@3.0.0: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} - object-is@1.1.5: + object-is@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -18116,19 +16560,18 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - object.fromentries@2.0.7: + object.fromentries@2.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - object.groupby@1.0.2: + object.groupby@1.0.3: dependencies: - array.prototype.filter: 1.0.3 call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - es-errors: 1.3.0 object.hasown@1.1.4: dependencies: @@ -18136,15 +16579,15 @@ snapshots: es-abstract: 1.23.3 es-object-atoms: 1.0.0 - object.values@1.1.7: + object.values@1.2.0: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-object-atoms: 1.0.0 obliterator@2.0.4: {} - on-exit-leak-free@2.1.0: {} + on-exit-leak-free@2.1.2: {} on-finished@2.3.0: dependencies: @@ -18186,21 +16629,21 @@ snapshots: optics-ts@2.4.1: {} - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -18213,7 +16656,7 @@ snapshots: outdent@0.5.0: {} - outvariant@1.4.0: {} + outvariant@1.4.2: {} p-filter@2.1.0: dependencies: @@ -18259,6 +16702,8 @@ snapshots: p-try@2.2.0: {} + package-json-from-dist@1.0.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -18279,7 +16724,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -18302,16 +16747,12 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.2: - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - - path-to-regexp@1.8.0: + path-scurry@1.11.1: dependencies: - isarray: 0.0.1 + lru-cache: 10.2.2 + minipass: 7.1.2 - path-to-regexp@6.2.1: {} + path-to-regexp@6.2.2: {} path-type@4.0.0: {} @@ -18323,7 +16764,7 @@ snapshots: performance-now@2.1.0: {} - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -18331,26 +16772,26 @@ snapshots: pify@4.0.1: {} - pino-abstract-transport@1.1.0: + pino-abstract-transport@1.2.0: dependencies: - readable-stream: 4.3.0 - split2: 4.1.0 + readable-stream: 4.5.2 + split2: 4.2.0 - pino-std-serializers@6.1.0: {} + pino-std-serializers@7.0.0: {} - pino@8.19.0: + pino@9.2.0: dependencies: atomic-sleep: 1.0.0 - fast-redact: 3.1.2 - on-exit-leak-free: 2.1.0 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.1.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.2.0 + pino-std-serializers: 7.0.0 process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 - safe-stable-stringify: 2.4.2 - sonic-boom: 3.7.0 - thread-stream: 2.3.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 4.0.1 + thread-stream: 3.1.0 pirates@4.0.6: {} @@ -18362,10 +16803,10 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-types@1.0.3: + pkg-types@1.1.1: dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 + confbox: 0.1.7 + mlly: 1.7.1 pathe: 1.1.2 pluralize@8.0.0: {} @@ -18377,27 +16818,35 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.2 + resolve: 1.22.8 postcss-js@4.0.1(postcss@8.4.38): dependencies: camelcase-css: 2.0.1 postcss: 8.4.38 - postcss-load-config@4.0.1(postcss@8.4.38)(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)): dependencies: - lilconfig: 2.1.0 - yaml: 2.3.2 + lilconfig: 3.1.2 + yaml: 2.4.5 + optionalDependencies: + postcss: 8.4.38 + ts-node: 10.9.2(@types/node@18.19.39)(typescript@5.5.2) + + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): + dependencies: + lilconfig: 3.1.2 + yaml: 2.4.5 optionalDependencies: postcss: 8.4.38 - ts-node: 10.9.2(@types/node@18.19.31)(typescript@5.4.4) + ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.5.2) postcss-nested@6.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.1.0 - postcss-selector-parser@6.0.11: + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -18407,10 +16856,10 @@ snapshots: postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.0.1 source-map-js: 1.2.0 - preferred-pm@3.0.3: + preferred-pm@3.1.3: dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 @@ -18421,11 +16870,11 @@ snapshots: prettier-linter-helpers@1.0.0: dependencies: - fast-diff: 1.2.0 + fast-diff: 1.3.0 prettier@2.8.8: {} - prettier@3.2.5: {} + prettier@3.3.2: {} pretty-bytes@5.6.0: {} @@ -18446,14 +16895,12 @@ snapshots: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 prismjs@1.29.0: {} process-nextick-args@2.0.1: {} - process-warning@2.2.0: {} - process-warning@3.0.0: {} process@0.11.10: {} @@ -18480,7 +16927,7 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - proxy-compare@2.4.0: {} + proxy-compare@2.6.0: {} proxy-from-env@1.0.0: {} @@ -18493,8 +16940,6 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 - punycode@2.1.1: {} - punycode@2.3.1: {} qs@6.10.4: @@ -18515,30 +16960,27 @@ snapshots: quick-format-unescaped@4.0.4: {} - quick-lru@4.0.1: {} - range-parser@1.2.1: {} - react-colorful@5.6.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + react-colorful@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - react-datepicker@4.25.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + react-datepicker@6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@popperjs/core': 2.11.8 - classnames: 2.3.2 - date-fns: 2.30.0 + '@floating-ui/react': 0.26.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + clsx: 2.1.1 + date-fns: 3.6.0 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-onclickoutside: 6.13.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-onclickoutside: 6.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-devtools-core@5.1.0: + react-devtools-core@5.3.0: dependencies: shell-quote: 1.8.1 - ws: 7.5.9 + ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -18547,30 +16989,42 @@ snapshots: dependencies: dnd-core: 16.0.1 - react-dnd@16.0.1(@types/node@18.19.31)(@types/react@18.2.75)(react@18.2.0): + react-dnd@16.0.1(@types/node@18.19.39)(@types/react@18.3.3)(react@18.3.1): dependencies: '@react-dnd/invariant': 4.0.2 '@react-dnd/shallowequal': 4.0.2 dnd-core: 16.0.1 fast-deep-equal: 3.1.3 hoist-non-react-statics: 3.3.2 - react: 18.2.0 + react: 18.3.1 + optionalDependencies: + '@types/node': 18.19.39 + '@types/react': 18.3.3 + + react-dnd@16.0.1(@types/node@20.14.9)(@types/react@18.3.3)(react@18.3.1): + dependencies: + '@react-dnd/invariant': 4.0.2 + '@react-dnd/shallowequal': 4.0.2 + dnd-core: 16.0.1 + fast-deep-equal: 3.1.3 + hoist-non-react-statics: 3.3.2 + react: 18.3.1 optionalDependencies: - '@types/node': 18.19.31 - '@types/react': 18.2.75 + '@types/node': 20.14.9 + '@types/react': 18.3.3 - react-dom@18.2.0(react@18.2.0): + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 react-fast-compare@3.2.2: {} - react-hotkeys-hook@4.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + react-hotkeys-hook@4.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-is@16.13.1: {} @@ -18578,79 +17032,31 @@ snapshots: react-is@18.2.0: {} - react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): - dependencies: - '@types/react-reconciler': 0.28.8 - its-fine: 1.2.5(react@18.2.0) - konva: 9.3.6 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-reconciler: 0.29.0(react@18.2.0) - scheduler: 0.23.0 + react-is@18.3.1: {} - react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0): + react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@react-native-community/cli': 13.6.4 - '@react-native-community/cli-platform-android': 13.6.4 - '@react-native-community/cli-platform-ios': 13.6.4 - '@react-native/assets-registry': 0.74.81 - '@react-native/codegen': 0.74.81(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - '@react-native/community-cli-plugin': 0.74.81(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9)) - '@react-native/gradle-plugin': 0.74.81 - '@react-native/js-polyfills': 0.74.81 - '@react-native/normalize-colors': 0.74.81 - '@react-native/virtualized-lists': 0.74.81(@types/react@18.2.75)(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) - abort-controller: 3.0.0 - anser: 1.4.10 - ansi-regex: 5.0.1 - base64-js: 1.5.1 - chalk: 4.1.2 - event-target-shim: 5.0.1 - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - jest-environment-node: 29.7.0 - jsc-android: 250231.0.0 - memoize-one: 5.2.1 - metro-runtime: 0.80.8 - metro-source-map: 0.80.8 - mkdirp: 0.5.6 - nullthrows: 1.1.1 - pretty-format: 26.6.2 - promise: 8.3.0 - react: 18.2.0 - react-devtools-core: 5.1.0 - react-refresh: 0.14.0 - react-shallow-renderer: 16.15.0(react@18.2.0) - regenerator-runtime: 0.13.11 - scheduler: 0.24.0-canary-efb381bbf-20230505 - stacktrace-parser: 0.1.10 - whatwg-fetch: 3.6.20 - ws: 6.2.2 - yargs: 17.7.1 - optionalDependencies: - '@types/react': 18.2.75 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate + '@types/react-reconciler': 0.28.8 + its-fine: 1.2.5(react@18.3.1) + konva: 9.3.12 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-reconciler: 0.29.2(react@18.3.1) + scheduler: 0.23.2 - react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0): + react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1): dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native-community/cli': 13.6.4 - '@react-native-community/cli-platform-android': 13.6.4 - '@react-native-community/cli-platform-ios': 13.6.4 - '@react-native/assets-registry': 0.74.81 - '@react-native/codegen': 0.74.81(@babel/preset-env@7.24.4(@babel/core@7.24.4)) - '@react-native/community-cli-plugin': 0.74.81(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4)) - '@react-native/gradle-plugin': 0.74.81 - '@react-native/js-polyfills': 0.74.81 - '@react-native/normalize-colors': 0.74.81 - '@react-native/virtualized-lists': 0.74.81(@types/react@18.2.75)(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) + '@react-native-community/cli': 13.6.8 + '@react-native-community/cli-platform-android': 13.6.8 + '@react-native-community/cli-platform-ios': 13.6.8 + '@react-native/assets-registry': 0.74.84 + '@react-native/codegen': 0.74.84(@babel/preset-env@7.24.7(@babel/core@7.24.7)) + '@react-native/community-cli-plugin': 0.74.84(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7)) + '@react-native/gradle-plugin': 0.74.84 + '@react-native/js-polyfills': 0.74.84 + '@react-native/normalize-colors': 0.74.84 + '@react-native/virtualized-lists': 0.74.84(@types/react@18.3.3)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -18662,24 +17068,24 @@ snapshots: jest-environment-node: 29.7.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-runtime: 0.80.8 - metro-source-map: 0.80.8 + metro-runtime: 0.80.9 + metro-source-map: 0.80.9 mkdirp: 0.5.6 nullthrows: 1.1.1 pretty-format: 26.6.2 promise: 8.3.0 - react: 18.2.0 - react-devtools-core: 5.1.0 - react-refresh: 0.14.0 - react-shallow-renderer: 16.15.0(react@18.2.0) + react: 18.3.1 + react-devtools-core: 5.3.0 + react-refresh: 0.14.2 + react-shallow-renderer: 16.15.0(react@18.3.1) regenerator-runtime: 0.13.11 scheduler: 0.24.0-canary-efb381bbf-20230505 stacktrace-parser: 0.1.10 whatwg-fetch: 3.6.20 - ws: 6.2.2 - yargs: 17.7.1 + ws: 6.2.3 + yargs: 17.7.2 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 transitivePeerDependencies: - '@babel/core' - '@babel/preset-env' @@ -18688,87 +17094,68 @@ snapshots: - supports-color - utf-8-validate - react-onclickoutside@6.13.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + react-onclickoutside@6.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@popperjs/core': 2.11.8 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-fast-compare: 3.2.2 warning: 4.0.3 - react-reconciler@0.27.0(react@18.2.0): + react-reconciler@0.27.0(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 + react: 18.3.1 scheduler: 0.21.0 - react-reconciler@0.29.0(react@18.2.0): + react-reconciler@0.29.2(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 - react-refresh@0.14.0: {} + react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.4(@types/react@18.2.75)(react@18.2.0): + react-remove-scroll-bar@2.3.6(@types/react@18.3.3)(react@18.3.1): dependencies: - react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.75)(react@18.2.0) - tslib: 2.6.2 + react: 18.3.1 + react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) + tslib: 2.6.3 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - react-remove-scroll@2.5.5(@types/react@18.2.75)(react@18.2.0): + react-remove-scroll@2.5.7(@types/react@18.3.3)(react@18.3.1): dependencies: - react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.75)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.75)(react@18.2.0) - tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.75)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 + react-remove-scroll-bar: 2.3.6(@types/react@18.3.3)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) + tslib: 2.6.3 + use-callback-ref: 1.3.2(@types/react@18.3.3)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - react-shallow-renderer@16.15.0(react@18.2.0): + react-shallow-renderer@16.15.0(react@18.3.1): dependencies: object-assign: 4.1.1 - react: 18.2.0 - react-is: 18.2.0 - - react-spring@9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(three@0.163.0)(zdog@1.1.3): - dependencies: - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/konva': 9.7.3(konva@9.3.6)(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@react-spring/native': 9.7.3(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) - '@react-spring/three': 9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(react@18.2.0)(three@0.163.0) - '@react-spring/web': 9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-spring/zdog': 9.7.3(react-dom@18.2.0(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(zdog@1.1.3) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@react-three/fiber' - - konva - - react-konva - - react-native - - react-zdog - - three - - zdog - - react-spring@9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(three@0.163.0)(zdog@1.1.3): - dependencies: - '@react-spring/core': 9.7.3(react@18.2.0) - '@react-spring/konva': 9.7.3(konva@9.3.6)(react-konva@18.2.10(konva@9.3.6)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) - '@react-spring/native': 9.7.3(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0) - '@react-spring/three': 9.7.3(@react-three/fiber@8.16.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(three@0.163.0))(react@18.2.0)(three@0.163.0) - '@react-spring/web': 9.7.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@react-spring/zdog': 9.7.3(react-dom@18.2.0(react@18.2.0))(react-zdog@1.2.2)(react@18.2.0)(zdog@1.1.3) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-is: 18.3.1 + + react-spring@9.7.3(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3): + dependencies: + '@react-spring/core': 9.7.3(react@18.3.1) + '@react-spring/konva': 9.7.3(konva@9.3.12)(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@react-spring/native': 9.7.3(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) + '@react-spring/three': 9.7.3(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(react@18.3.1)(three@0.165.0) + '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-spring/zdog': 9.7.3(react-dom@18.3.1(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(zdog@1.1.3) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@react-three/fiber' - konva @@ -18778,57 +17165,47 @@ snapshots: - three - zdog - react-style-singleton@2.2.1(@types/react@18.2.75)(react@18.2.0): + react-style-singleton@2.2.1(@types/react@18.3.3)(react@18.3.1): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 - react: 18.2.0 - tslib: 2.6.2 + react: 18.3.1 + tslib: 2.6.3 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - react-textarea-autosize@8.5.3(@types/react@18.2.75)(react@18.2.0): + react-textarea-autosize@8.5.3(@types/react@18.3.3)(react@18.3.1): dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.75)(react@18.2.0) + '@babel/runtime': 7.24.7 + react: 18.3.1 + use-composed-ref: 1.3.0(react@18.3.1) + use-latest: 1.2.1(@types/react@18.3.3)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react-tracked@1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505): - dependencies: - proxy-compare: 2.4.0 - react: 18.2.0 - scheduler: 0.24.0-canary-efb381bbf-20230505 - use-context-selector: 1.4.1(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0) - - react-tracked@1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505): + react-tracked@1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505): dependencies: - proxy-compare: 2.4.0 - react: 18.2.0 + proxy-compare: 2.6.0 + react: 18.3.1 scheduler: 0.24.0-canary-efb381bbf-20230505 - use-context-selector: 1.4.1(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) + use-context-selector: 1.4.4(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - react-native: 0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0) + react-dom: 18.3.1(react@18.3.1) + react-native: 0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1) - react-use-measure@2.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + react-use-measure@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: debounce: 1.2.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) react-zdog@1.2.2: dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) resize-observer-polyfill: 1.5.1 - react@18.2.0: + react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -18844,7 +17221,7 @@ snapshots: read-pkg@5.2.0: dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 @@ -18856,7 +17233,7 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - readable-stream@2.3.7: + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -18866,20 +17243,21 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@3.6.0: + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.3.0: + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 + string_decoder: 1.3.0 - readdir-glob@1.1.2: + readdir-glob@1.1.3: dependencies: minimatch: 5.1.6 @@ -18896,7 +17274,7 @@ snapshots: ast-types: 0.15.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.6.2 + tslib: 2.6.3 redent@3.0.0: dependencies: @@ -18915,7 +17293,7 @@ snapshots: redux@4.2.1: dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 reflect.getprototypeof@1.0.6: dependencies: @@ -18924,7 +17302,7 @@ snapshots: es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 which-builtin-type: 1.1.3 regenerate-unicode-properties@10.1.1: @@ -18939,7 +17317,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.7 regexp-tree@0.1.27: {} @@ -18969,17 +17347,17 @@ snapshots: remark-gfm@3.0.1: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-gfm: 2.0.2 - micromark-extension-gfm: 2.0.2 + micromark-extension-gfm: 2.0.3 unified: 10.1.2 transitivePeerDependencies: - supports-color remark-parse@10.0.2: dependencies: - '@types/mdast': 3.0.10 - mdast-util-from-markdown: 1.3.0 + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 unified: 10.1.2 transitivePeerDependencies: - supports-color @@ -19008,24 +17386,18 @@ snapshots: resolve@1.19.0: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 - resolve@1.22.2: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 resolve@2.0.0-next.5: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -19034,11 +17406,11 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 - ret@0.2.2: {} + ret@0.4.3: {} reusify@1.0.4: {} - rfdc@1.3.1: {} + rfdc@1.4.1: {} rimraf@2.6.3: dependencies: @@ -19054,25 +17426,26 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.14.1: + rollup@4.18.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.1 - '@rollup/rollup-android-arm64': 4.14.1 - '@rollup/rollup-darwin-arm64': 4.14.1 - '@rollup/rollup-darwin-x64': 4.14.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 - '@rollup/rollup-linux-arm64-gnu': 4.14.1 - '@rollup/rollup-linux-arm64-musl': 4.14.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 - '@rollup/rollup-linux-riscv64-gnu': 4.14.1 - '@rollup/rollup-linux-s390x-gnu': 4.14.1 - '@rollup/rollup-linux-x64-gnu': 4.14.1 - '@rollup/rollup-linux-x64-musl': 4.14.1 - '@rollup/rollup-win32-arm64-msvc': 4.14.1 - '@rollup/rollup-win32-ia32-msvc': 4.14.1 - '@rollup/rollup-win32-x64-msvc': 4.14.1 + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -19085,7 +17458,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 sade@1.8.1: dependencies: @@ -19108,11 +17481,11 @@ snapshots: es-errors: 1.3.0 is-regex: 1.1.4 - safe-regex2@2.0.0: + safe-regex2@3.1.0: dependencies: - ret: 0.2.2 + ret: 0.4.3 - safe-stable-stringify@2.4.2: {} + safe-stable-stringify@2.4.3: {} safer-buffer@2.1.2: {} @@ -19120,7 +17493,7 @@ snapshots: dependencies: loose-envify: 1.4.0 - scheduler@0.23.0: + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 @@ -19147,9 +17520,7 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} send@0.18.0: dependencies: @@ -19184,7 +17555,7 @@ snapshots: set-cookie-parser@2.6.0: {} - set-function-length@1.2.1: + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -19225,7 +17596,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 siginfo@2.0.0: {} @@ -19235,18 +17606,18 @@ snapshots: sinon@17.0.1: dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers': 11.2.2 '@sinonjs/samsam': 8.0.0 - diff: 5.1.0 - nise: 5.1.5 + diff: 5.2.0 + nise: 5.1.9 supports-color: 7.2.0 sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.24 + '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 - totalist: 3.0.0 + totalist: 3.0.1 sisteransi@1.0.5: {} @@ -19262,24 +17633,24 @@ snapshots: is-plain-object: 5.0.0 slate: 0.102.0 - slate-react@0.102.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate@0.102.0): + slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0): dependencies: '@juggle/resize-observer': 3.4.0 '@types/is-hotkey': 0.1.10 - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.5 direction: 1.0.4 is-hotkey: 0.2.0 is-plain-object: 5.0.0 lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) scroll-into-view-if-needed: 3.1.0 slate: 0.102.0 tiny-invariant: 1.3.1 slate@0.102.0: dependencies: - immer: 10.0.4 + immer: 10.1.1 is-plain-object: 5.0.0 tiny-warning: 1.0.3 @@ -19301,21 +17672,10 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - smartwrap@2.0.2: - dependencies: - array.prototype.flat: 1.3.1 - breakword: 1.0.5 - grapheme-splitter: 1.0.4 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 15.4.1 - - sonic-boom@3.7.0: + sonic-boom@4.0.1: dependencies: atomic-sleep: 1.0.0 - source-map-js@1.0.2: {} - source-map-js@1.2.0: {} source-map-support@0.5.21: @@ -19336,21 +17696,21 @@ snapshots: cross-spawn: 5.1.0 signal-exit: 3.0.7 - spdx-correct@3.1.1: + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.12 + spdx-license-ids: 3.0.18 - spdx-exceptions@2.3.0: {} + spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.12 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.18 - spdx-license-ids@3.0.12: {} + spdx-license-ids@3.0.18: {} - split2@4.1.0: {} + split2@4.2.0: {} sprintf-js@1.0.3: {} @@ -19388,22 +17748,21 @@ snapshots: dependencies: internal-slot: 1.0.7 - stream-transform@2.1.3: - dependencies: - mixme: 0.5.9 - - streamx@2.15.5: + streamx@2.18.0: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 + text-decoder: 1.1.0 + optionalDependencies: + bare-events: 2.4.2 strict-event-emitter@0.2.8: dependencies: events: 3.3.0 - strict-event-emitter@0.4.4: {} + strict-event-emitter@0.4.6: {} - string-argv@0.3.1: {} + string-argv@0.3.2: {} string-width@4.2.3: dependencies: @@ -19417,6 +17776,11 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string.prototype.includes@2.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 @@ -19489,19 +17853,19 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@2.0.0: + strip-literal@2.1.0: dependencies: - js-tokens: 8.0.3 + js-tokens: 9.0.0 strnum@1.0.5: {} stubborn-fs@1.2.5: {} - sucrase@3.32.0: + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 7.1.6 + glob: 10.4.2 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -19523,55 +17887,82 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - suspend-react@0.1.3(react@18.2.0): + suspend-react@0.1.3(react@18.3.1): dependencies: - react: 18.2.0 + react: 18.3.1 synckit@0.6.2: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.2 + tslib: 2.6.3 + + tabbable@6.2.0: {} - tabbable@6.1.2: {} + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.7 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.1.0 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node - tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4)) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) postcss-nested: 6.0.1(postcss@8.4.38) - postcss-selector-parser: 6.0.11 + postcss-selector-parser: 6.1.0 resolve: 1.22.8 - sucrase: 3.32.0 + sucrase: 3.35.0 transitivePeerDependencies: - ts-node tapable@2.2.1: {} - tar-stream@3.1.6: + tar-stream@3.1.7: dependencies: - b4a: 1.6.4 + b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.15.5 + streamx: 2.18.0 temp-dir@2.0.0: {} @@ -19581,10 +17972,10 @@ snapshots: term-size@2.2.1: {} - terser@5.30.4: + terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 + acorn: 8.12.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -19594,6 +17985,10 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + text-decoder@1.1.0: + dependencies: + b4a: 1.6.6 + text-table@0.2.0: {} thenify-all@1.6.0: @@ -19604,11 +17999,11 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-stream@2.3.0: + thread-stream@3.1.0: dependencies: real-require: 0.2.0 - three@0.163.0: {} + three@0.165.0: {} throat@5.0.0: {} @@ -19616,7 +18011,7 @@ snapshots: through2@2.0.5: dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 xtend: 4.0.2 through@2.3.8: {} @@ -19625,9 +18020,9 @@ snapshots: tiny-warning@1.0.3: {} - tinybench@2.6.0: {} + tinybench@2.8.0: {} - tinypool@0.8.2: {} + tinypool@0.8.4: {} tinyspy@2.2.1: {} @@ -19635,9 +18030,7 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - tmp@0.2.1: - dependencies: - rimraf: 3.0.2 + tmp@0.2.3: {} tmpl@1.0.5: {} @@ -19647,13 +18040,13 @@ snapshots: dependencies: is-number: 7.0.0 - toad-cache@3.3.0: {} + toad-cache@3.7.0: {} toidentifier@1.0.1: {} - totalist@3.0.0: {} + totalist@3.0.1: {} - tough-cookie@4.1.3: + tough-cookie@4.1.4: dependencies: psl: 1.9.0 punycode: 2.3.1 @@ -19662,39 +18055,55 @@ snapshots: tr46@0.0.3: {} - trim-newlines@3.0.1: {} + trough@2.2.0: {} - trough@2.1.0: {} - - ts-api-utils@1.0.1(typescript@5.4.4): + ts-api-utils@1.3.0(typescript@5.5.2): dependencies: - typescript: 5.4.4 + typescript: 5.5.2 ts-interface-checker@0.1.13: {} - ts-json-as-const@1.0.7(typescript@5.4.4): + ts-json-as-const@1.0.7(typescript@5.5.2): dependencies: '@dfoverdx/tocamelcase': 1.0.7 isbinaryfile: 4.0.10 json5: 2.2.3 stringify-object: 4.0.1 - typescript: 5.4.4 + typescript: 5.5.2 + + ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.19.39 + acorn: 8.12.0 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.5.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 - ts-node@10.9.2(@types/node@18.19.31)(typescript@5.4.4): + ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.19.31 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.14.9 + acorn: 8.12.0 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.4 + typescript: 5.5.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -19705,19 +18114,7 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@2.6.1: {} - - tslib@2.6.2: {} - - tty-table@4.2.1: - dependencies: - chalk: 4.1.2 - csv: 5.5.3 - kleur: 4.1.5 - smartwrap: 2.0.2 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 17.7.1 + tslib@2.6.3: {} tunnel-agent@0.6.0: dependencies: @@ -19731,8 +18128,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.13.1: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} @@ -19747,7 +18142,7 @@ snapshots: type-fest@3.13.1: {} - type-fest@4.15.0: {} + type-fest@4.20.1: {} typed-array-buffer@1.0.2: dependencies: @@ -19783,9 +18178,9 @@ snapshots: typescript@5.4.2: {} - typescript@5.4.4: {} + typescript@5.5.2: {} - ufo@1.4.0: {} + ufo@1.5.3: {} uint8array-extras@0.3.0: {} @@ -19811,17 +18206,17 @@ snapshots: unified@10.1.2: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 is-plain-obj: 4.1.0 - trough: 2.1.0 + trough: 2.2.0 vfile: 5.3.7 unist-util-is@5.2.1: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-is@6.0.0: dependencies: @@ -19829,15 +18224,15 @@ snapshots: unist-util-stringify-position@2.0.3: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-stringify-position@3.0.3: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-visit-parents@5.1.3: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents@6.0.1: @@ -19847,7 +18242,7 @@ snapshots: unist-util-visit@4.1.2: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 @@ -19861,95 +18256,80 @@ snapshots: universalify@0.2.0: {} - universalify@2.0.0: {} - universalify@2.0.1: {} unpipe@1.0.0: {} untildify@4.0.0: {} - update-browserslist-db@1.0.13(browserslist@4.23.0): + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.23.0 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 uri-js@4.4.1: dependencies: - punycode: 2.1.1 + punycode: 2.3.1 url-parse@1.5.10: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - use-callback-ref@1.3.0(@types/react@18.2.75)(react@18.2.0): + use-callback-ref@1.3.2(@types/react@18.3.3)(react@18.3.1): dependencies: - react: 18.2.0 - tslib: 2.6.2 + react: 18.3.1 + tslib: 2.6.3 optionalDependencies: - '@types/react': 18.2.75 - - use-composed-ref@1.3.0(react@18.2.0): - dependencies: - react: 18.2.0 + '@types/react': 18.3.3 - use-context-selector@1.4.1(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505): + use-composed-ref@1.3.0(react@18.3.1): dependencies: - react: 18.2.0 - scheduler: 0.24.0-canary-efb381bbf-20230505 - optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - react-native: 0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 - use-context-selector@1.4.1(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505): + use-context-selector@1.4.4(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505): dependencies: - react: 18.2.0 + react: 18.3.1 scheduler: 0.24.0-canary-efb381bbf-20230505 optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - react-native: 0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0) + react-dom: 18.3.1(react@18.3.1) + react-native: 0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1) - use-deep-compare@1.2.1(react@18.2.0): + use-deep-compare@1.2.1(react@18.3.1): dependencies: dequal: 2.0.3 - react: 18.2.0 + react: 18.3.1 - use-font-face-observer@1.2.1(react@18.2.0): + use-font-face-observer@1.2.2(react@18.3.1): dependencies: fontfaceobserver: 2.1.0 - react: 18.2.0 + react: 18.3.1 - use-isomorphic-layout-effect@1.1.2(@types/react@18.2.75)(react@18.2.0): + use-isomorphic-layout-effect@1.1.2(@types/react@18.3.3)(react@18.3.1): dependencies: - react: 18.2.0 + react: 18.3.1 optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - use-latest@1.2.1(@types/react@18.2.75)(react@18.2.0): + use-latest@1.2.1(@types/react@18.3.3)(react@18.3.1): dependencies: - react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.75)(react@18.2.0) + react: 18.3.1 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 + '@types/react': 18.3.3 - use-sidecar@1.1.2(@types/react@18.2.75)(react@18.2.0): + use-sidecar@1.1.2(@types/react@18.3.3)(react@18.3.1): dependencies: detect-node-es: 1.1.0 - react: 18.2.0 - tslib: 2.6.2 + react: 18.3.1 + tslib: 2.6.3 optionalDependencies: - '@types/react': 18.2.75 - - use-subscription@1.8.0(react@18.2.0): - dependencies: - react: 18.2.0 - use-sync-external-store: 1.2.0(react@18.2.0) + '@types/react': 18.3.3 - use-sync-external-store@1.2.0(react@18.2.0): + use-sync-external-store@1.2.0(react@18.3.1): dependencies: - react: 18.2.0 + react: 18.3.1 util-deprecate@1.0.2: {} @@ -19968,24 +18348,24 @@ snapshots: uvu@0.5.6: dependencies: dequal: 2.0.3 - diff: 5.1.0 + diff: 5.2.0 kleur: 4.1.5 sade: 1.8.1 v8-compile-cache-lib@3.0.1: {} - v8-to-istanbul@9.2.0: + v8-to-istanbul@9.3.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 validate-npm-package-license@3.0.4: dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validator@13.9.0: {} + validator@13.12.0: {} vary@1.1.2: {} @@ -19997,23 +18377,40 @@ snapshots: vfile-message@3.1.4: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 vfile@5.3.7: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - vite-node@1.4.0(@types/node@18.19.31)(terser@5.30.4): + vite-node@1.6.0(@types/node@18.19.39)(terser@5.31.1): + dependencies: + cac: 6.7.14 + debug: 4.3.5(supports-color@8.1.1) + pathe: 1.1.2 + picocolors: 1.0.1 + vite: 5.3.1(@types/node@18.19.39)(terser@5.31.1) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-node@1.6.0(@types/node@20.14.9)(terser@5.31.1): dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + picocolors: 1.0.1 + vite: 5.3.1(@types/node@20.14.9)(terser@5.31.1) transitivePeerDependencies: - '@types/node' - less @@ -20024,94 +18421,146 @@ snapshots: - supports-color - terser - vite-plugin-dts@3.8.1(@types/node@18.19.31)(rollup@4.14.1)(typescript@5.4.4)(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)): + vite-plugin-dts@3.9.1(@types/node@18.19.39)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)): + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@18.19.39) + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@vue/language-core': 1.8.27(typescript@5.5.2) + debug: 4.3.5(supports-color@8.1.1) + kolorist: 1.8.0 + magic-string: 0.30.10 + typescript: 5.5.2 + vue-tsc: 1.8.27(typescript@5.5.2) + optionalDependencies: + vite: 5.3.1(@types/node@18.19.39)(terser@5.31.1) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite-plugin-dts@3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)): dependencies: - '@microsoft/api-extractor': 7.43.0(@types/node@18.19.31) - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) - '@vue/language-core': 1.8.27(typescript@5.4.4) - debug: 4.3.4(supports-color@8.1.1) + '@microsoft/api-extractor': 7.43.0(@types/node@20.14.9) + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@vue/language-core': 1.8.27(typescript@5.5.2) + debug: 4.3.5(supports-color@8.1.1) kolorist: 1.8.0 - magic-string: 0.30.9 - typescript: 5.4.4 - vue-tsc: 1.8.27(typescript@5.4.4) + magic-string: 0.30.10 + typescript: 5.5.2 + vue-tsc: 1.8.27(typescript@5.5.2) optionalDependencies: - vite: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + vite: 5.3.1(@types/node@20.14.9)(terser@5.31.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externals@0.6.2(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)): + vite-plugin-externals@0.6.2(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)): dependencies: - acorn: 8.8.2 + acorn: 8.12.0 es-module-lexer: 0.4.1 fs-extra: 10.1.0 magic-string: 0.25.9 - vite: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + vite: 5.3.1(@types/node@18.19.39)(terser@5.31.1) - vite-plugin-static-copy@1.0.2(vite@5.2.10(@types/node@18.19.31)(terser@5.30.4)): + vite-plugin-static-copy@1.0.5(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)): dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 fast-glob: 3.3.2 - fs-extra: 11.1.1 - picocolors: 1.0.0 - vite: 5.2.10(@types/node@18.19.31)(terser@5.30.4) + fs-extra: 11.2.0 + picocolors: 1.0.1 + vite: 5.3.1(@types/node@20.14.9)(terser@5.31.1) - vite@4.5.3(@types/node@18.19.31)(terser@5.30.4): + vite@4.5.3(@types/node@20.14.9)(terser@5.31.1): dependencies: esbuild: 0.18.20 postcss: 8.4.38 rollup: 3.29.4 optionalDependencies: - '@types/node': 18.19.31 + '@types/node': 20.14.9 fsevents: 2.3.3 - terser: 5.30.4 + terser: 5.31.1 - vite@5.2.10(@types/node@18.19.31)(terser@5.30.4): + vite@5.3.1(@types/node@18.19.39)(terser@5.31.1): dependencies: - esbuild: 0.20.2 + esbuild: 0.21.5 postcss: 8.4.38 - rollup: 4.14.1 + rollup: 4.18.0 optionalDependencies: - '@types/node': 18.19.31 + '@types/node': 18.19.39 fsevents: 2.3.3 - terser: 5.30.4 + terser: 5.31.1 - vite@5.2.8(@types/node@18.19.31)(terser@5.30.4): + vite@5.3.1(@types/node@20.14.9)(terser@5.31.1): dependencies: - esbuild: 0.20.2 + esbuild: 0.21.5 postcss: 8.4.38 - rollup: 4.14.1 + rollup: 4.18.0 optionalDependencies: - '@types/node': 18.19.31 + '@types/node': 20.14.9 fsevents: 2.3.3 - terser: 5.30.4 + terser: 5.31.1 + + vitest@1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1): + dependencies: + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.3 + chai: 4.4.1 + debug: 4.3.5(supports-color@8.1.1) + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.10 + pathe: 1.1.2 + picocolors: 1.0.1 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.8.0 + tinypool: 0.8.4 + vite: 5.3.1(@types/node@18.19.39)(terser@5.31.1) + vite-node: 1.6.0(@types/node@18.19.39)(terser@5.31.1) + why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 18.19.39 + '@vitest/ui': 1.6.0(vitest@1.6.0) + happy-dom: 13.10.1 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser - vitest@1.4.0(@types/node@18.19.31)(@vitest/ui@1.4.0)(happy-dom@13.10.1)(terser@5.30.4): + vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1): dependencies: - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + acorn-walk: 8.3.3 chai: 4.4.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.9 + magic-string: 0.30.10 pathe: 1.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.2.8(@types/node@18.19.31)(terser@5.30.4) - vite-node: 1.4.0(@types/node@18.19.31)(terser@5.30.4) + strip-literal: 2.1.0 + tinybench: 2.8.0 + tinypool: 0.8.4 + vite: 5.3.1(@types/node@20.14.9)(terser@5.31.1) + vite-node: 1.6.0(@types/node@20.14.9)(terser@5.31.1) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 18.19.31 - '@vitest/ui': 1.4.0(vitest@1.4.0) + '@types/node': 20.14.9 + '@vitest/ui': 1.6.0(vitest@1.6.0) happy-dom: 13.10.1 transitivePeerDependencies: - less @@ -20124,17 +18573,17 @@ snapshots: vlq@1.0.1: {} - vue-template-compiler@2.7.14: + vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 he: 1.2.0 - vue-tsc@1.8.27(typescript@5.4.4): + vue-tsc@1.8.27(typescript@5.5.2): dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.4.4) - semver: 7.6.0 - typescript: 5.4.4 + '@vue/language-core': 1.8.27(typescript@5.5.2) + semver: 7.6.2 + typescript: 5.5.2 walker@1.0.8: dependencies: @@ -20154,7 +18603,7 @@ snapshots: optionalDependencies: '@zxing/text-encoding': 0.9.0 - web-streams-polyfill@3.2.1: {} + web-streams-polyfill@3.3.3: {} webidl-conversions@3.0.1: {} @@ -20169,7 +18618,7 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - when-exit@2.0.0: {} + when-exit@2.1.2: {} which-boxed-primitive@1.0.2: dependencies: @@ -20191,17 +18640,17 @@ snapshots: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 + which-collection: 1.0.2 which-typed-array: 1.1.15 - which-collection@1.0.1: + which-collection@1.0.2: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 - which-module@2.0.0: {} + which-module@2.0.1: {} which-pm@2.0.0: dependencies: @@ -20216,15 +18665,6 @@ snapshots: gopd: 1.0.1 has-tostringtag: 1.0.2 - which-typed-array@1.1.9: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - is-typed-array: 1.1.13 - which@1.3.1: dependencies: isexe: 2.0.0 @@ -20238,6 +18678,8 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + word-wrap@1.2.5: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -20264,13 +18706,11 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - ws@6.2.2: + ws@6.2.3: dependencies: async-limiter: 1.0.1 - ws@7.5.9: {} - - xstate@4.38.3: {} + ws@7.5.10: {} xtend@4.0.2: {} @@ -20284,13 +18724,13 @@ snapshots: yallist@4.0.0: {} - yaml-eslint-parser@1.2.2: + yaml-eslint-parser@1.2.3: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.3.2 + yaml: 2.4.5 - yaml@2.3.2: {} + yaml@2.4.5: {} yargs-parser@18.1.3: dependencies: @@ -20309,14 +18749,14 @@ snapshots: require-main-filename: 2.0.0 set-blocking: 2.0.0 string-width: 4.2.3 - which-module: 2.0.0 + which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 - yargs@17.7.1: + yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -20334,13 +18774,13 @@ snapshots: yocto-queue@1.0.0: {} - z-schema@5.0.4: + z-schema@5.0.5: dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 - validator: 13.9.0 + validator: 13.12.0 optionalDependencies: - commander: 2.20.3 + commander: 9.5.0 zdog@1.1.3: {} @@ -20348,64 +18788,32 @@ snapshots: dependencies: archiver-utils: 5.0.2 compress-commons: 6.0.2 - readable-stream: 4.3.0 - - zod@3.22.4: {} - - zustand-x@3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)): - dependencies: - immer: 10.0.4 - lodash.mapvalues: 4.6.0 - react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.23.9)(@babel/preset-env@7.24.4(@babel/core@7.23.9))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) - transitivePeerDependencies: - - react - - react-dom - - react-native - - scheduler + readable-stream: 4.5.2 - zustand-x@3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0)): - dependencies: - immer: 10.0.4 - lodash.mapvalues: 4.6.0 - react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0) - transitivePeerDependencies: - - react - - react-dom - - react-native - - scheduler + zod@3.23.8: {} - zustand-x@3.0.2(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0)): + zustand-x@3.0.3(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)): dependencies: - immer: 10.0.4 + immer: 10.1.1 lodash.mapvalues: 4.6.0 - react-tracked: 1.7.11(react-dom@18.2.0(react@18.2.0))(react-native@0.74.0(@babel/core@7.24.4)(@babel/preset-env@7.24.4(@babel/core@7.24.4))(@types/react@18.2.75)(react@18.2.0))(react@18.2.0)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0) + react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) + zustand: 4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1) transitivePeerDependencies: - react - react-dom - react-native - scheduler - zustand@3.7.2(react@18.2.0): - optionalDependencies: - react: 18.2.0 - - zustand@4.5.2(@types/react@18.2.75)(immer@10.0.4)(react@18.2.0): - dependencies: - use-sync-external-store: 1.2.0(react@18.2.0) + zustand@3.7.2(react@18.3.1): optionalDependencies: - '@types/react': 18.2.75 - immer: 10.0.4 - react: 18.2.0 + react: 18.3.1 - zustand@4.5.2(@types/react@18.2.75)(immer@9.0.21)(react@18.2.0): + zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1): dependencies: - use-sync-external-store: 1.2.0(react@18.2.0) + use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: - '@types/react': 18.2.75 - immer: 9.0.21 - react: 18.2.0 + '@types/react': 18.3.3 + immer: 10.1.1 + react: 18.3.1 zwitch@2.0.4: {} From d215d7b8ca329143b54acfc9e4aa62f577fce54d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 28 Jun 2024 13:58:48 +0000 Subject: [PATCH 100/327] chore: release packages (alpha) (#993) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 7 ++- packages/app-bridge/CHANGELOG.md | 92 +++++++++++++++++--------------- packages/app-bridge/package.json | 2 +- 3 files changed, 56 insertions(+), 45 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 9bd13e85f..da50eba8b 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -7,10 +7,12 @@ "@frontify/guideline-blocks-settings": "0.29.16", "@frontify/sidebar-settings": "0.8.1", "@frontify/platform-app": "0.0.5", - "@frontify/app-bridge-theme": "1.0.0-alpha.1" + "@frontify/app-bridge-theme": "1.0.0-alpha.1", + "@frontify/app-bridge-app": "0.0.5" }, "changesets": [ "angry-dolphins-fry", + "brave-queens-work", "calm-candles-wink", "clever-suns-laugh", "cuddly-pets-hammer", @@ -57,6 +59,7 @@ "tricky-boats-sip", "warm-hounds-refuse", "wild-bags-judge", - "witty-rivers-smile" + "witty-rivers-smile", + "witty-tools-check" ] } diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 67af9cec7..25a386d09 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,99 +1,107 @@ # @frontify/app-bridge +## 4.0.0-alpha.32 + +### Patch Changes + +- [#1007](https://github.com/Frontify/brand-sdk/pull/1007) [`2c0ebf2`](https://github.com/Frontify/brand-sdk/commit/2c0ebf209915a11dd018b7453d7932d0f0ee6f3e) Thanks [@ragi96](https://github.com/ragi96)! - chore: merge main to dev + +- [#992](https://github.com/Frontify/brand-sdk/pull/992) [`f60bbf4`](https://github.com/Frontify/brand-sdk/commit/f60bbf42218880ee8042e5830152a2112eef09dc) Thanks [@julianiff](https://github.com/julianiff)! - feat: deprecate react hooks for platform apps + ## 4.0.0-alpha.31 ### Patch Changes -- [#956](https://github.com/Frontify/brand-sdk/pull/956) [`2491b6e`](https://github.com/Frontify/brand-sdk/commit/2491b6e88fc41ca8eafff5e41ec181247a968c46) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds state listener to allow push from parent +- [#956](https://github.com/Frontify/brand-sdk/pull/956) [`2491b6e`](https://github.com/Frontify/brand-sdk/commit/2491b6e88fc41ca8eafff5e41ec181247a968c46) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds state listener to allow push from parent ## 4.0.0-alpha.30 ### Patch Changes -- chore: merge branch `main` into dev +- chore: merge branch `main` into dev ## 4.0.0-alpha.29 ### Patch Changes -- [#941](https://github.com/Frontify/brand-sdk/pull/941) [`4e643ec`](https://github.com/Frontify/brand-sdk/commit/4e643ec9414e5671f877c556b68436a1a06569cb) Thanks [@julianiff](https://github.com/julianiff)! - Feat: adjust secure request response +- [#941](https://github.com/Frontify/brand-sdk/pull/941) [`4e643ec`](https://github.com/Frontify/brand-sdk/commit/4e643ec9414e5671f877c556b68436a1a06569cb) Thanks [@julianiff](https://github.com/julianiff)! - Feat: adjust secure request response ## 4.0.0-alpha.28 ### Patch Changes -- [#939](https://github.com/Frontify/brand-sdk/pull/939) [`7ea653c`](https://github.com/Frontify/brand-sdk/commit/7ea653ca17f2a16c72e8ee5525580eaee0d6405a) Thanks [@julianiff](https://github.com/julianiff)! - refactor: rename brandsdk name from secretRequest to secureRequest +- [#939](https://github.com/Frontify/brand-sdk/pull/939) [`7ea653c`](https://github.com/Frontify/brand-sdk/commit/7ea653ca17f2a16c72e8ee5525580eaee0d6405a) Thanks [@julianiff](https://github.com/julianiff)! - refactor: rename brandsdk name from secretRequest to secureRequest ## 4.0.0-alpha.27 ### Patch Changes -- [#937](https://github.com/Frontify/brand-sdk/pull/937) [`341886e`](https://github.com/Frontify/brand-sdk/commit/341886e9d16184048f9285d692df5177bfd2d0d1) Thanks [@julianiff](https://github.com/julianiff)! - chore: rename brand sdk name +- [#937](https://github.com/Frontify/brand-sdk/pull/937) [`341886e`](https://github.com/Frontify/brand-sdk/commit/341886e9d16184048f9285d692df5177bfd2d0d1) Thanks [@julianiff](https://github.com/julianiff)! - chore: rename brand sdk name ## 4.0.0-alpha.26 ### Patch Changes -- [#929](https://github.com/Frontify/brand-sdk/pull/929) [`414ea40`](https://github.com/Frontify/brand-sdk/commit/414ea4092d5446815df032a87471829801604634) Thanks [@julianiff](https://github.com/julianiff)! - refactor: Method to reflect feature +- [#929](https://github.com/Frontify/brand-sdk/pull/929) [`414ea40`](https://github.com/Frontify/brand-sdk/commit/414ea4092d5446815df032a87471829801604634) Thanks [@julianiff](https://github.com/julianiff)! - refactor: Method to reflect feature ## 4.0.0-alpha.25 ### Patch Changes -- chore: merge main to dev +- chore: merge main to dev ## 4.0.0-alpha.24 ### Patch Changes -- chore: merge main to dev +- chore: merge main to dev ## 4.0.0-alpha.23 ### Patch Changes -- [#918](https://github.com/Frontify/brand-sdk/pull/918) [`1d48008`](https://github.com/Frontify/brand-sdk/commit/1d48008561a2dc3f4b7b4c9fcb7bc44cd7d04bc6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: Merge main into dev +- [#918](https://github.com/Frontify/brand-sdk/pull/918) [`1d48008`](https://github.com/Frontify/brand-sdk/commit/1d48008561a2dc3f4b7b4c9fcb7bc44cd7d04bc6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: Merge main into dev ## 4.0.0-alpha.22 ### Patch Changes -- chore: merge branch `main` into dev +- chore: merge branch `main` into dev ## 4.0.0-alpha.21 ### Patch Changes -- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state +- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state ## 4.0.0-alpha.20 ### Patch Changes -- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe +- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context ## 4.0.0-alpha.19 ### Patch Changes -- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable +- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable ## 4.0.0-alpha.18 ### Patch Changes -- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed - fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed +- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed ## 4.0.0-alpha.17 ### Minor Changes -- # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` ## 3.10.0 @@ -182,7 +190,7 @@ ### Patch Changes -- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings ## 3.5.9 @@ -194,7 +202,7 @@ ### Patch Changes -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` ## 3.5.8 @@ -206,13 +214,13 @@ ### Major Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. ### Patch Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. - - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. + - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. ## 3.5.7 @@ -234,35 +242,35 @@ - [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 -- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 4.0.0-alpha.12 ### Patch Changes -- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` +- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` ## 4.0.0-alpha.11 ### Minor Changes -- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 4.0.0-alpha.10 ### Minor Changes -- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 4.0.0-alpha.9 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.5.4 @@ -318,9 +326,9 @@ ### Patch Changes -- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription +- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription -- Merge main into dev +- Merge main into dev ## 3.4.1 @@ -340,24 +348,24 @@ ### Minor Changes -- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.6 ### Patch Changes -- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 -- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext - refactor: rename from type to surface +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface ## 4.0.0-alpha.5 ### Patch Changes -- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type -- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 3.3.2 @@ -369,7 +377,7 @@ ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.3.1 @@ -381,19 +389,19 @@ ### Patch Changes -- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision ## 4.0.0-alpha.2 ### Patch Changes -- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 4.0.0-alpha.1 ### Patch Changes -- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme ## 3.3.0 @@ -411,7 +419,7 @@ ### Major Changes -- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock ## 3.1.0 diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index ebcbc962f..119a30f1e 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.31", + "version": "4.0.0-alpha.32", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 77088a85a7c181e5040d7a2738fb9fd7d95dfd1d Mon Sep 17 00:00:00 2001 From: Bojan Mazej <517677+bojangles-m@users.noreply.github.com> Date: Tue, 2 Jul 2024 13:48:33 +0200 Subject: [PATCH 101/327] feat: added additional prop to the `GuidelineSearchResult` (#1015) --- .changeset/young-crews-hope.md | 5 +++++ packages/app-bridge-theme/src/types/GuidelineSearchResult.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/young-crews-hope.md diff --git a/.changeset/young-crews-hope.md b/.changeset/young-crews-hope.md new file mode 100644 index 000000000..caf2feef7 --- /dev/null +++ b/.changeset/young-crews-hope.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": minor +--- + +feat(GuidelineSearchResult): added additional prop to `GuidelineSearchResult` diff --git a/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts b/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts index 34f7863e7..7f80b6885 100644 --- a/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts +++ b/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts @@ -27,4 +27,5 @@ export type GuidelineSearchResult = { sectionTitle: string | null; colorHex?: string; projectColorId?: string; + guidelineTitle: string; }; From 008a116fb9702b89200ae1a41d817a959d3a65db Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 13:55:32 +0200 Subject: [PATCH 102/327] chore: release packages (alpha) (#1016) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 3 ++- packages/app-bridge-theme/CHANGELOG.md | 24 +++++++++++++++--------- packages/app-bridge-theme/package.json | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index da50eba8b..cf5f04bcd 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -60,6 +60,7 @@ "warm-hounds-refuse", "wild-bags-judge", "witty-rivers-smile", - "witty-tools-check" + "witty-tools-check", + "young-crews-hope" ] } diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index e6ee88eab..aa9cdd270 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,55 +1,61 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.10 + +### Minor Changes + +- [#1015](https://github.com/Frontify/brand-sdk/pull/1015) [`77088a8`](https://github.com/Frontify/brand-sdk/commit/77088a85a7c181e5040d7a2738fb9fd7d95dfd1d) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat(GuidelineSearchResult): added additional prop to `GuidelineSearchResult` + ## 0.0.0-alpha.9 ### Patch Changes -- [#983](https://github.com/Frontify/brand-sdk/pull/983) [`57b2f90`](https://github.com/Frontify/brand-sdk/commit/57b2f90c8042e05774e57c1065fc86242f468f48) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: AppBridgeTheme command typing +- [#983](https://github.com/Frontify/brand-sdk/pull/983) [`57b2f90`](https://github.com/Frontify/brand-sdk/commit/57b2f90c8042e05774e57c1065fc86242f468f48) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: AppBridgeTheme command typing ## 0.0.0-alpha.8 ### Patch Changes -- [#981](https://github.com/Frontify/brand-sdk/pull/981) [`02cd695`](https://github.com/Frontify/brand-sdk/commit/02cd695c896847691eae43ed774637614ad3fd32) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: AppBridgeTheme update context keys +- [#981](https://github.com/Frontify/brand-sdk/pull/981) [`02cd695`](https://github.com/Frontify/brand-sdk/commit/02cd695c896847691eae43ed774637614ad3fd32) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: AppBridgeTheme update context keys ## 0.0.0-alpha.7 ### Patch Changes -- [#978](https://github.com/Frontify/brand-sdk/pull/978) [`5eb0306`](https://github.com/Frontify/brand-sdk/commit/5eb030695cc105a3ed514a5b38840b015a8d85ac) Thanks [@Kenny806](https://github.com/Kenny806)! - feat: add a navigate command +- [#978](https://github.com/Frontify/brand-sdk/pull/978) [`5eb0306`](https://github.com/Frontify/brand-sdk/commit/5eb030695cc105a3ed514a5b38840b015a8d85ac) Thanks [@Kenny806](https://github.com/Kenny806)! - feat: add a navigate command ## 0.0.0-alpha.6 ### Patch Changes -- [#974](https://github.com/Frontify/brand-sdk/pull/974) [`508f51e`](https://github.com/Frontify/brand-sdk/commit/508f51e1de4d091f8761f4b7897940574d819eee) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: templateContext and NavigationItem types +- [#974](https://github.com/Frontify/brand-sdk/pull/974) [`508f51e`](https://github.com/Frontify/brand-sdk/commit/508f51e1de4d091f8761f4b7897940574d819eee) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: templateContext and NavigationItem types ## 0.0.0-alpha.5 ### Patch Changes -- [#971](https://github.com/Frontify/brand-sdk/pull/971) [`08b3506`](https://github.com/Frontify/brand-sdk/commit/08b3506f1b8dba87fed1b6eb3f379bf619327d45) Thanks [@Kenny806](https://github.com/Kenny806)! - fix: exports +- [#971](https://github.com/Frontify/brand-sdk/pull/971) [`08b3506`](https://github.com/Frontify/brand-sdk/commit/08b3506f1b8dba87fed1b6eb3f379bf619327d45) Thanks [@Kenny806](https://github.com/Kenny806)! - fix: exports ## 0.0.0-alpha.4 ### Patch Changes -- [#967](https://github.com/Frontify/brand-sdk/pull/967) [`599df4f`](https://github.com/Frontify/brand-sdk/commit/599df4fd1db1ad43a8163538513c36a9ab3e938a) Thanks [@Kenny806](https://github.com/Kenny806)! - fix: extend AppBridgeThemeEvent to include assetsChosen +- [#967](https://github.com/Frontify/brand-sdk/pull/967) [`599df4f`](https://github.com/Frontify/brand-sdk/commit/599df4fd1db1ad43a8163538513c36a9ab3e938a) Thanks [@Kenny806](https://github.com/Kenny806)! - fix: extend AppBridgeThemeEvent to include assetsChosen ## 0.0.0-alpha.3 ### Patch Changes -- [#965](https://github.com/Frontify/brand-sdk/pull/965) [`578e3e4`](https://github.com/Frontify/brand-sdk/commit/578e3e40025b1fbc88959181759257fe0e71d874) Thanks [@Kenny806](https://github.com/Kenny806)! - Added a SubscribeMap type +- [#965](https://github.com/Frontify/brand-sdk/pull/965) [`578e3e4`](https://github.com/Frontify/brand-sdk/commit/578e3e40025b1fbc88959181759257fe0e71d874) Thanks [@Kenny806](https://github.com/Kenny806)! - Added a SubscribeMap type ## 0.0.0-alpha.2 ### Patch Changes -- [#963](https://github.com/Frontify/brand-sdk/pull/963) [`43472d5`](https://github.com/Frontify/brand-sdk/commit/43472d5f7ea4fd6bcdc44dc26103d1c3ce92cf4c) Thanks [@anxobotana](https://github.com/anxobotana)! - fix(AppBridgeThemes): fix build and codeowners +- [#963](https://github.com/Frontify/brand-sdk/pull/963) [`43472d5`](https://github.com/Frontify/brand-sdk/commit/43472d5f7ea4fd6bcdc44dc26103d1c3ce92cf4c) Thanks [@anxobotana](https://github.com/anxobotana)! - fix(AppBridgeThemes): fix build and codeowners ## 0.0.0-alpha.1 ### Patch Changes -- [#960](https://github.com/Frontify/brand-sdk/pull/960) [`7a88fb5`](https://github.com/Frontify/brand-sdk/commit/7a88fb512a8209ab377ef12a70e2c8484d5b6799) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes +- [#960](https://github.com/Frontify/brand-sdk/pull/960) [`7a88fb5`](https://github.com/Frontify/brand-sdk/commit/7a88fb512a8209ab377ef12a70e2c8484d5b6799) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeThemes): initial alpha release of AppBridgeThemes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 16b600ea5..cb937572c 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.9", + "version": "0.0.0-alpha.10", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 4234c2e792889466b6110d337decdc8bfabdb252 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 12:52:13 +0000 Subject: [PATCH 103/327] chore: release packages (alpha) (#1018) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index cf5f04bcd..763893c99 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -44,6 +44,7 @@ "pink-lobsters-beg", "polite-eels-shake", "pretty-items-marry", + "real-jeans-guess", "red-islands-report", "rich-olives-repeat", "shaggy-mugs-speak", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index a4ba6447b..509363598 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.33 + +### Patch Changes + +- chore: merge main to dev + ## 4.0.0-alpha.32 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 119a30f1e..e6fb7d111 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.32", + "version": "4.0.0-alpha.33", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 54fd9e7a4d973d7b47e67d5e7cc1c1309255e0ea Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Thu, 11 Jul 2024 08:48:56 +0200 Subject: [PATCH 104/327] chore(AppBridgeTheme): add vitest to app bridge theme (#1031) * chore: add vitest * Create eleven-shrimps-jog.md * chore: update AppBridgeTheme CI * Revert "chore: update AppBridgeTheme CI" This reverts commit d9121670a6bba459bc7ee450d886d89849d385ec. --- .changeset/eleven-shrimps-jog.md | 5 +++ packages/app-bridge-theme/package.json | 12 ++++++- .../app-bridge-theme/src/tests/setupTests.ts | 8 +++++ packages/app-bridge-theme/tsconfig.json | 2 +- packages/app-bridge-theme/vite.config.mts | 11 ++++++ pnpm-lock.yaml | 36 ++++++++++++++----- 6 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 .changeset/eleven-shrimps-jog.md create mode 100644 packages/app-bridge-theme/src/tests/setupTests.ts diff --git a/.changeset/eleven-shrimps-jog.md b/.changeset/eleven-shrimps-jog.md new file mode 100644 index 000000000..de878d704 --- /dev/null +++ b/.changeset/eleven-shrimps-jog.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +chore(AppBridgeTheme): add vitest to app bridge theme diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index cb937572c..b3092f3ca 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -31,6 +31,10 @@ "dev": "vite build --watch", "lint": "eslint .", "lint:fix": "eslint --fix .", + "test": "vitest run", + "test:ui": "vitest --ui", + "test:watch": "vitest", + "test:coverage": "vitest run --coverage", "typecheck": "tsc --noEmit" }, "peerDependencies": { @@ -39,16 +43,22 @@ "dependencies": {}, "devDependencies": { "@frontify/eslint-config-react": "^0.17.6", + "@testing-library/react": "^14.3.0", "@types/react": "^18.2.75", "@types/react-dom": "^18.2.24", + "@vitest/coverage-v8": "^1.4.0", + "@vitest/ui": "^1.4.0", "eslint": "^8.57.0", "eslint-plugin-notice": "^0.9.10", + "happy-dom": "^13.10.1", "prettier": "^3.2.5", "react": "^18.2.0", + "react-dom": "^18.2.0", "ts-json-as-const": "^1.0.7", "type-fest": "^4.15.0", "typescript": "^5.4.4", "vite": "^5.2.10", - "vite-plugin-dts": "^3.8.1" + "vite-plugin-dts": "^3.8.1", + "vitest": "^1.4.0" } } diff --git a/packages/app-bridge-theme/src/tests/setupTests.ts b/packages/app-bridge-theme/src/tests/setupTests.ts new file mode 100644 index 000000000..45eb936cf --- /dev/null +++ b/packages/app-bridge-theme/src/tests/setupTests.ts @@ -0,0 +1,8 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { configure } from '@testing-library/react'; +import { beforeAll } from 'vitest'; + +beforeAll(() => { + configure({ testIdAttribute: 'data-test-id' }); +}); diff --git a/packages/app-bridge-theme/tsconfig.json b/packages/app-bridge-theme/tsconfig.json index 0e6aac3c5..2b70f17a7 100644 --- a/packages/app-bridge-theme/tsconfig.json +++ b/packages/app-bridge-theme/tsconfig.json @@ -19,6 +19,6 @@ "baseUrl": ".", "types": ["vite/client"] }, - "include": ["src"], + "include": ["src", "./tests/setupTests.ts"], "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/app-bridge-theme/vite.config.mts b/packages/app-bridge-theme/vite.config.mts index e6eabb2a0..4266c9261 100644 --- a/packages/app-bridge-theme/vite.config.mts +++ b/packages/app-bridge-theme/vite.config.mts @@ -28,4 +28,15 @@ export default defineConfig({ external: [...dependencies, ...peerDependencies], }, }, + test: { + environment: 'happy-dom', + css: true, + coverage: { + all: true, + reporter: ['text', 'lcov'], + include: ['src/**/*.ts', 'src/**/*.tsx'], + exclude: ['src/**/test.ts', 'src/**/test.tsx', 'src/**/spec.ts', 'src/**/spec.tsx'], + }, + setupFiles: ['./src/tests/setupTests.ts'], + }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ff4c3d4d..ab6a7995e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -200,24 +200,39 @@ importers: '@frontify/eslint-config-react': specifier: ^0.17.6 version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) + '@testing-library/react': + specifier: ^14.3.0 + version: 14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react': specifier: ^18.2.75 version: 18.3.3 '@types/react-dom': specifier: ^18.2.24 version: 18.3.0 + '@vitest/coverage-v8': + specifier: ^1.4.0 + version: 1.4.0(vitest@1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1)) + '@vitest/ui': + specifier: ^1.4.0 + version: 1.6.0(vitest@1.6.0) eslint: specifier: ^8.57.0 version: 8.57.0 eslint-plugin-notice: specifier: ^0.9.10 version: 0.9.10(eslint@8.57.0) + happy-dom: + specifier: ^13.10.1 + version: 13.10.1 prettier: specifier: ^3.2.5 version: 3.3.2 react: specifier: ^18.2.0 version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) ts-json-as-const: specifier: ^1.0.7 version: 1.0.7(typescript@5.5.2) @@ -233,6 +248,9 @@ importers: vite-plugin-dts: specifier: ^3.8.1 version: 3.9.1(@types/node@20.14.9)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@20.14.9)(terser@5.31.1)) + vitest: + specifier: ^1.4.0 + version: 1.6.0(@types/node@20.14.9)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) packages/cli: dependencies: @@ -10033,9 +10051,9 @@ snapshots: '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) eslint-plugin-lodash: 7.4.0(eslint@8.57.0) eslint-plugin-markdown: 4.0.1(eslint@8.57.0) @@ -14406,13 +14424,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.5(supports-color@8.1.1) enhanced-resolve: 5.17.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.14.0 @@ -14423,14 +14441,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -14440,7 +14458,7 @@ snapshots: eslint: 8.57.0 ignore: 5.3.1 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -14450,7 +14468,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.14.0 is-glob: 4.0.3 From 19346b8a27cc1e2efb6cd6c61884496ddd67a34c Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Fri, 12 Jul 2024 07:47:26 +0200 Subject: [PATCH 105/327] feat(AppBridgeTheme): add use language hook (#1032) * chore: add test job to AppBridgeTheme CI * feat: add useLanguage to AppBridgeTheme * Create shiny-poets-enjoy.md --- .changeset/shiny-poets-enjoy.md | 5 ++ ...pp-bridge-theme-continuous-integration.yml | 3 + .../src/react/useLanguage.spec.ts | 84 +++++++++++++++++++ .../app-bridge-theme/src/react/useLanguage.ts | 27 ++++++ 4 files changed, 119 insertions(+) create mode 100644 .changeset/shiny-poets-enjoy.md create mode 100644 packages/app-bridge-theme/src/react/useLanguage.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useLanguage.ts diff --git a/.changeset/shiny-poets-enjoy.md b/.changeset/shiny-poets-enjoy.md new file mode 100644 index 000000000..6a8322b3b --- /dev/null +++ b/.changeset/shiny-poets-enjoy.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat(AppBridgeTheme): add use language hook diff --git a/.github/workflows/app-bridge-theme-continuous-integration.yml b/.github/workflows/app-bridge-theme-continuous-integration.yml index fbcaf1f28..5ce06046f 100644 --- a/.github/workflows/app-bridge-theme-continuous-integration.yml +++ b/.github/workflows/app-bridge-theme-continuous-integration.yml @@ -41,3 +41,6 @@ jobs: - name: Lint code run: pnpm --stream --filter {packages/app-bridge-theme} lint + + - name: Test code + run: pnpm --stream --filter {packages/app-bridge-theme} test:coverage diff --git a/packages/app-bridge-theme/src/react/useLanguage.spec.ts b/packages/app-bridge-theme/src/react/useLanguage.spec.ts new file mode 100644 index 000000000..ca51bf568 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useLanguage.spec.ts @@ -0,0 +1,84 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useLanguage } from './useLanguage'; + +const INITIAL_LANGUAGE = 'de'; +const UPDATED_LANGUAGE = 'es'; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: () => INITIAL_LANGUAGE, + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useLanguage', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with currentLanguage and defaultLanguage', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useLanguage(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('currentLanguage'); + expect(stubs.contextStub).toHaveBeenCalledWith('defaultLanguage'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useLanguage(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledTimes(2); + }); + + it('should return the correct initial language', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useLanguage(appBridgeTheme)); + + expect(result.current.currentLanguage).toEqual(INITIAL_LANGUAGE); + expect(result.current.defaultLanguage).toEqual(INITIAL_LANGUAGE); + }); + + it('should update the language on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useLanguage(appBridgeTheme)); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.subscribeStub.mock.calls[0][0](UPDATED_LANGUAGE); + stubs.subscribeStub.mock.calls[1][0](UPDATED_LANGUAGE); + } + }); + + expect(result.current.currentLanguage).toEqual(UPDATED_LANGUAGE); + expect(result.current.defaultLanguage).toEqual(UPDATED_LANGUAGE); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useLanguage(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledTimes(2); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useLanguage.ts b/packages/app-bridge-theme/src/react/useLanguage.ts new file mode 100644 index 000000000..3f7f8a5f1 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useLanguage.ts @@ -0,0 +1,27 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useEffect, useState } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; + +type UseLanguageReturn = { + currentLanguage: string; + defaultLanguage: string; +}; + +export const useLanguage = (appBridge: AppBridgeTheme): UseLanguageReturn => { + const [currentLanguage, setCurrentLanguage] = useState(appBridge.context('currentLanguage').get()); + const [defaultLanguage, setDefaultLanguage] = useState(appBridge.context('defaultLanguage').get()); + + useEffect(() => { + const unsubscribeCurrentLanguageObserver = appBridge.context('currentLanguage').subscribe(setCurrentLanguage); + const unsubscribeDefaultLanguageObserver = appBridge.context('defaultLanguage').subscribe(setDefaultLanguage); + + return () => { + unsubscribeCurrentLanguageObserver(); + unsubscribeDefaultLanguageObserver(); + }; + }, [appBridge]); + + return { currentLanguage, defaultLanguage }; +}; From 562990de5485cebebcb840ddb5abf74d1abe4357 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Fri, 12 Jul 2024 12:18:03 +0200 Subject: [PATCH 106/327] feat: add useIsEditing hook (#1034) * refactor: replace useState with useSyncExternalStore * feat: add useIsEditing hook * Create tasty-coins-jam.md --- .changeset/tasty-coins-jam.md | 5 ++ packages/app-bridge-theme/src/index.ts | 1 + packages/app-bridge-theme/src/react/index.ts | 4 + .../src/react/useIsEditing.spec.ts | 84 +++++++++++++++++++ .../src/react/useIsEditing.ts | 9 ++ .../src/react/useLanguage.spec.ts | 4 +- .../app-bridge-theme/src/react/useLanguage.ts | 22 ++--- 7 files changed, 115 insertions(+), 14 deletions(-) create mode 100644 .changeset/tasty-coins-jam.md create mode 100644 packages/app-bridge-theme/src/react/index.ts create mode 100644 packages/app-bridge-theme/src/react/useIsEditing.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useIsEditing.ts diff --git a/.changeset/tasty-coins-jam.md b/.changeset/tasty-coins-jam.md new file mode 100644 index 000000000..20795e461 --- /dev/null +++ b/.changeset/tasty-coins-jam.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: add useIsEditing hook diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts index 7cc022c57..4ad8c9eff 100644 --- a/packages/app-bridge-theme/src/index.ts +++ b/packages/app-bridge-theme/src/index.ts @@ -1,5 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './AppBridgeTheme'; +export * from './react'; export * from './registries'; export * from './types'; diff --git a/packages/app-bridge-theme/src/react/index.ts b/packages/app-bridge-theme/src/react/index.ts new file mode 100644 index 000000000..a602fc64b --- /dev/null +++ b/packages/app-bridge-theme/src/react/index.ts @@ -0,0 +1,4 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './useIsEditing'; +export * from './useLanguage'; diff --git a/packages/app-bridge-theme/src/react/useIsEditing.spec.ts b/packages/app-bridge-theme/src/react/useIsEditing.spec.ts new file mode 100644 index 000000000..0ef5e3a5d --- /dev/null +++ b/packages/app-bridge-theme/src/react/useIsEditing.spec.ts @@ -0,0 +1,84 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useIsEditing } from './useIsEditing'; + +const INITIAL_EDITOR_STATE = false; +const UPDATED_EDITOR_STATE = true; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_EDITOR_STATE), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useIsEditing', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with isEditing', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useIsEditing(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('isEditing'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useIsEditing(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial editor state', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useIsEditing(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_EDITOR_STATE); + }); + + it('should update the editor state on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useIsEditing(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_EDITOR_STATE); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_EDITOR_STATE); + stubs.subscribeStub.mock.calls[0][0](UPDATED_EDITOR_STATE); + } + }); + + expect(result.current).toEqual(UPDATED_EDITOR_STATE); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useIsEditing(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useIsEditing.ts b/packages/app-bridge-theme/src/react/useIsEditing.ts new file mode 100644 index 000000000..5dd01d553 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useIsEditing.ts @@ -0,0 +1,9 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +export const useIsEditing = (appBridge: AppBridgeTheme): boolean => { + return useSyncExternalStore(appBridge.context('isEditing').subscribe, appBridge.context('isEditing').get); +}; diff --git a/packages/app-bridge-theme/src/react/useLanguage.spec.ts b/packages/app-bridge-theme/src/react/useLanguage.spec.ts index ca51bf568..ac2576839 100644 --- a/packages/app-bridge-theme/src/react/useLanguage.spec.ts +++ b/packages/app-bridge-theme/src/react/useLanguage.spec.ts @@ -13,6 +13,7 @@ const UPDATED_LANGUAGE = 'es'; const stubs = vi.hoisted(() => ({ contextStub: vi.fn(), + contextGetStub: vi.fn(), subscribeStub: vi.fn(), unsubscribeObserverStub: vi.fn(), })); @@ -20,7 +21,7 @@ const stubs = vi.hoisted(() => ({ const stubbedAppBridgeTheme = () => ({ context: stubs.contextStub.mockReturnValue({ - get: () => INITIAL_LANGUAGE, + get: stubs.contextGetStub.mockReturnValue(INITIAL_LANGUAGE), subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), }), }) as unknown as AppBridgeTheme; @@ -63,6 +64,7 @@ describe('useLanguage', () => { act(() => { if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_LANGUAGE); stubs.subscribeStub.mock.calls[0][0](UPDATED_LANGUAGE); stubs.subscribeStub.mock.calls[1][0](UPDATED_LANGUAGE); } diff --git a/packages/app-bridge-theme/src/react/useLanguage.ts b/packages/app-bridge-theme/src/react/useLanguage.ts index 3f7f8a5f1..baecc978e 100644 --- a/packages/app-bridge-theme/src/react/useLanguage.ts +++ b/packages/app-bridge-theme/src/react/useLanguage.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useEffect, useState } from 'react'; +import { useSyncExternalStore } from 'react'; import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; @@ -10,18 +10,14 @@ type UseLanguageReturn = { }; export const useLanguage = (appBridge: AppBridgeTheme): UseLanguageReturn => { - const [currentLanguage, setCurrentLanguage] = useState(appBridge.context('currentLanguage').get()); - const [defaultLanguage, setDefaultLanguage] = useState(appBridge.context('defaultLanguage').get()); - - useEffect(() => { - const unsubscribeCurrentLanguageObserver = appBridge.context('currentLanguage').subscribe(setCurrentLanguage); - const unsubscribeDefaultLanguageObserver = appBridge.context('defaultLanguage').subscribe(setDefaultLanguage); - - return () => { - unsubscribeCurrentLanguageObserver(); - unsubscribeDefaultLanguageObserver(); - }; - }, [appBridge]); + const currentLanguage = useSyncExternalStore( + appBridge.context('currentLanguage').subscribe, + appBridge.context('currentLanguage').get, + ); + const defaultLanguage = useSyncExternalStore( + appBridge.context('defaultLanguage').subscribe, + appBridge.context('defaultLanguage').get, + ); return { currentLanguage, defaultLanguage }; }; From 6bcd595dacebd55520f1cf87bc8fcbf849cc80d2 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Mon, 15 Jul 2024 15:13:58 +0200 Subject: [PATCH 107/327] feat: appBridgeTheme document navigation command (#1040) * current commands * add fetchDocumentNavigation command and context * renaming command * hook and test * clean type * import order * changeset --- .changeset/tasty-vans-cough.md | 5 + packages/app-bridge-theme/src/react/index.ts | 1 + .../src/react/useDocumentNavigation.spec.ts | 146 ++++++++++++++++++ .../src/react/useDocumentNavigation.ts | 21 +++ .../src/registries/CommandRegistry.ts | 3 +- .../HydrateContextDocumentNavigation.ts | 12 ++ .../src/registries/commands/Navigate.ts | 10 ++ .../commands/NavigateToDocumentSection.ts | 12 ++ .../src/registries/commands/SearchDialog.ts | 13 ++ .../src/registries/commands/index.ts | 6 + .../app-bridge-theme/src/registries/index.ts | 1 + .../app-bridge-theme/src/types/Context.ts | 2 + .../src/types/GuidelineSearchResult.ts | 2 +- 13 files changed, 232 insertions(+), 2 deletions(-) create mode 100644 .changeset/tasty-vans-cough.md create mode 100644 packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useDocumentNavigation.ts create mode 100644 packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts create mode 100644 packages/app-bridge-theme/src/registries/commands/Navigate.ts create mode 100644 packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts create mode 100644 packages/app-bridge-theme/src/registries/commands/SearchDialog.ts create mode 100644 packages/app-bridge-theme/src/registries/commands/index.ts diff --git a/.changeset/tasty-vans-cough.md b/.changeset/tasty-vans-cough.md new file mode 100644 index 000000000..6d1d7f302 --- /dev/null +++ b/.changeset/tasty-vans-cough.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: (AppBridgeTheme) documentNavigation in context and command diff --git a/packages/app-bridge-theme/src/react/index.ts b/packages/app-bridge-theme/src/react/index.ts index a602fc64b..bb0e822c6 100644 --- a/packages/app-bridge-theme/src/react/index.ts +++ b/packages/app-bridge-theme/src/react/index.ts @@ -2,3 +2,4 @@ export * from './useIsEditing'; export * from './useLanguage'; +export * from './useDocumentNavigation'; diff --git a/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts b/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts new file mode 100644 index 000000000..0c14df46f --- /dev/null +++ b/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts @@ -0,0 +1,146 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { + type DocumentPageNavigationItem, + type DocumentChildNavigationItem, + type DocumentNavigationItem, +} from 'src/types'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useDocumentNavigation } from './useDocumentNavigation'; + +const DocumentPageDummy = (id: number) => + ({ + type: 'document', + + id: () => { + return id; + }, + slug: (language: string) => { + return `dummy-page-slug-${id}-${language}`; + }, + + title: (language: string) => { + return `Dummy Page title - ${id} - ${language}`; + }, + + url: (language: string) => { + return `page-${id}-${language}`; + }, + }) as unknown as DocumentPageNavigationItem; + +const DocumentDummy = (id: number, children: DocumentChildNavigationItem[]) => + ({ + type: 'document', + + id: () => { + return id; + }, + + children: () => { + return children; + }, + + slug: (language: string) => { + return `dummy-doc-slug-${id}-${language}`; + }, + + title: (language: string) => { + return `Dummy Doc title - ${id} - ${language}`; + }, + + url: (language: string) => { + return `https://blah/doc/${id}/${language}`; + }, + }) as unknown as DocumentNavigationItem; + +const DOCUMENT_ID = 120; +const DOCUMENT_ID_2 = 130; +const DOCUMENT_PAGE_ID = 121; +const DOCUMENT_PAGE_ID_2 = 131; + +const DOCUMENT_DUMMY = DocumentDummy(DOCUMENT_ID, [DocumentPageDummy(DOCUMENT_PAGE_ID)]); +const DOCUMENT_DUMMY_2 = DocumentDummy(DOCUMENT_ID_2, [DocumentPageDummy(DOCUMENT_PAGE_ID_2)]); +const DOCUMENT_NAVIGATION = { + [DOCUMENT_ID]: [DocumentPageDummy(DOCUMENT_PAGE_ID)], +}; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), + dispatch: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(DOCUMENT_NAVIGATION), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + dispatch: stubs.dispatch, + }) as unknown as AppBridgeTheme; + +describe('useDocumentNavigation', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with DocumentNavigation', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useDocumentNavigation(appBridgeTheme, DOCUMENT_DUMMY)); + + expect(stubs.contextStub).toHaveBeenCalled(); + expect(stubs.dispatch).toHaveBeenCalled(); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useDocumentNavigation(appBridgeTheme, DOCUMENT_DUMMY)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial DocumentNavigation state', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useDocumentNavigation(appBridgeTheme, DOCUMENT_DUMMY)); + + expect(result.current).toEqual(DOCUMENT_NAVIGATION[DOCUMENT_ID]); + }); + + it('should update the DocumentNavigation state on change', async () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useDocumentNavigation(appBridgeTheme, DOCUMENT_DUMMY)); + + expect(result.current).toEqual(DOCUMENT_NAVIGATION[DOCUMENT_ID]); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(DOCUMENT_DUMMY_2); + stubs.subscribeStub.mock.calls[0][0](DOCUMENT_DUMMY_2); + } + }); + + expect(stubs.dispatch).toHaveBeenCalled(); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useDocumentNavigation(appBridgeTheme, DOCUMENT_DUMMY)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useDocumentNavigation.ts b/packages/app-bridge-theme/src/react/useDocumentNavigation.ts new file mode 100644 index 000000000..cc72058c7 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useDocumentNavigation.ts @@ -0,0 +1,21 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useEffect, useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from 'src/AppBridgeTheme'; + +import { hydrateContextDocumentNavigation } from '../registries/commands/HydrateContextDocumentNavigation'; +import { type DocumentNavigationItem, type DocumentChildNavigationItem } from '../types/Guideline'; + +export const useDocumentNavigation = (appBridge: AppBridgeTheme, document: DocumentNavigationItem) => { + const documentNavigation: Record = useSyncExternalStore( + appBridge.context('documentNavigation').subscribe, + appBridge.context('documentNavigation').get, + ); + + useEffect(() => { + appBridge.dispatch(hydrateContextDocumentNavigation(document.id())); + }, [appBridge, document]); + + return documentNavigation[document.id()] ?? []; +}; diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index 38d69f88c..8d4c2b378 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -9,6 +9,7 @@ export type CommandRegistry = CommandNameValidator<{ closeSearchDialog: void; navigate: string; navigateToDocumentSection: number | string; + hydrateContextDocumentNavigation: number; }>; type CommandNameValidator = Simplify< @@ -17,4 +18,4 @@ type CommandNameValidator = Simplify< type CommandNamePattern = { [commandName: `${CommandVerb}${string}`]: unknown }; -type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; +type CommandVerb = 'open' | 'close' | 'navigate' | 'hydrateContext'; diff --git a/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts b/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts new file mode 100644 index 000000000..3063475b9 --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from 'src/types/Command'; + +import { type CommandRegistry } from '../CommandRegistry'; + +export const hydrateContextDocumentNavigation = ( + documentId: CommandRegistry['hydrateContextDocumentNavigation'], +): DispatchHandlerParameter<'hydrateContextDocumentNavigation', CommandRegistry> => ({ + name: 'hydrateContextDocumentNavigation', + payload: documentId, +}); diff --git a/packages/app-bridge-theme/src/registries/commands/Navigate.ts b/packages/app-bridge-theme/src/registries/commands/Navigate.ts new file mode 100644 index 000000000..955f463a3 --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/Navigate.ts @@ -0,0 +1,10 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from 'src/types/Command'; + +import { type CommandRegistry } from '../CommandRegistry'; + +export const navigate = (path: CommandRegistry['navigate']): DispatchHandlerParameter<'navigate', CommandRegistry> => ({ + name: 'navigate', + payload: path, +}); diff --git a/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts b/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts new file mode 100644 index 000000000..7d26ddf30 --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from 'src/types/Command'; + +import { type CommandRegistry } from '../CommandRegistry'; + +export const navigateToDocumentSection = ( + sectionId: CommandRegistry['navigateToDocumentSection'], +): DispatchHandlerParameter<'navigateToDocumentSection', CommandRegistry> => ({ + name: 'navigateToDocumentSection', + payload: sectionId, +}); diff --git a/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts b/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts new file mode 100644 index 000000000..cfffba99f --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts @@ -0,0 +1,13 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from 'src/types/Command'; + +import { type CommandRegistry } from '../CommandRegistry'; + +export const openSearchDialog = (): DispatchHandlerParameter<'openSearchDialog', CommandRegistry> => ({ + name: 'openSearchDialog', +}); + +export const closeSearchDialog = (): DispatchHandlerParameter<'closeSearchDialog', CommandRegistry> => ({ + name: 'closeSearchDialog', +}); diff --git a/packages/app-bridge-theme/src/registries/commands/index.ts b/packages/app-bridge-theme/src/registries/commands/index.ts new file mode 100644 index 000000000..15f62037d --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/index.ts @@ -0,0 +1,6 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './SearchDialog'; +export * from './Navigate'; +export * from './NavigateToDocumentSection'; +export * from './HydrateContextDocumentNavigation'; diff --git a/packages/app-bridge-theme/src/registries/index.ts b/packages/app-bridge-theme/src/registries/index.ts index 24c572e4b..983ed724d 100644 --- a/packages/app-bridge-theme/src/registries/index.ts +++ b/packages/app-bridge-theme/src/registries/index.ts @@ -2,3 +2,4 @@ export * from './CommandRegistry'; export * from './EventRegistry'; +export * from './commands'; diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index fe93409ff..45f027964 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -9,6 +9,7 @@ import { type Document, type DocumentLibrary, type DocumentPage, + type DocumentChildNavigationItem, } from './Guideline'; import { type Language } from './Language'; import { type ThemeTemplate } from './ThemeTemplate'; @@ -25,6 +26,7 @@ export type Context = { projectId: number; portalId: number; portalNavigation: PortalNavigationItem[] | null; + documentNavigation: Record; portalToken: string | null; currentLanguage: string; defaultLanguage: string; diff --git a/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts b/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts index 7f80b6885..5bfd27ec1 100644 --- a/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts +++ b/packages/app-bridge-theme/src/types/GuidelineSearchResult.ts @@ -5,7 +5,7 @@ export const GuidelineSearchResultTypeMap = { section: 'SECTION', page: 'PAGE', color: 'COLOR', -} as const; +}; type GuidelineSearchResultType = (typeof GuidelineSearchResultTypeMap)[keyof typeof GuidelineSearchResultTypeMap]; export type GuidelineSearchResult = { From de1d603387830b75b8051db1a1bb7b0d56fceb32 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 15:25:44 +0200 Subject: [PATCH 108/327] chore: release packages (alpha) (#1033) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 ++++ packages/app-bridge-theme/CHANGELOG.md | 12 ++++++++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 763893c99..5311a6ee7 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -18,6 +18,7 @@ "cuddly-pets-hammer", "curly-pots-scream", "dry-mangos-fix", + "eleven-shrimps-jog", "fast-houses-hunt", "few-islands-build", "five-mangos-search", @@ -48,12 +49,15 @@ "red-islands-report", "rich-olives-repeat", "shaggy-mugs-speak", + "shiny-poets-enjoy", "shy-jobs-protect", "smart-suns-type", "smooth-planets-pay", "spicy-books-shout", "stale-hairs-wash", "strong-tools-check", + "tasty-coins-jam", + "tasty-vans-cough", "ten-guests-wash", "thirty-pears-lay", "tough-nails-shout", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index aa9cdd270..c0fb11f9f 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,17 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.11 + +### Patch Changes + +- [#1031](https://github.com/Frontify/brand-sdk/pull/1031) [`54fd9e7`](https://github.com/Frontify/brand-sdk/commit/54fd9e7a4d973d7b47e67d5e7cc1c1309255e0ea) Thanks [@mike85](https://github.com/mike85)! - chore(AppBridgeTheme): add vitest to app bridge theme + +- [#1032](https://github.com/Frontify/brand-sdk/pull/1032) [`19346b8`](https://github.com/Frontify/brand-sdk/commit/19346b8a27cc1e2efb6cd6c61884496ddd67a34c) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add use language hook + +- [#1034](https://github.com/Frontify/brand-sdk/pull/1034) [`562990d`](https://github.com/Frontify/brand-sdk/commit/562990de5485cebebcb840ddb5abf74d1abe4357) Thanks [@mike85](https://github.com/mike85)! - feat: add useIsEditing hook + +- [#1040](https://github.com/Frontify/brand-sdk/pull/1040) [`6bcd595`](https://github.com/Frontify/brand-sdk/commit/6bcd595dacebd55520f1cf87bc8fcbf849cc80d2) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) documentNavigation in context and command + ## 0.0.0-alpha.10 ### Minor Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index b3092f3ca..2fa85cc8e 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.10", + "version": "0.0.0-alpha.11", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From e345d2747d00efeadd8130dcde7f0dd1f2c398bf Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Mon, 15 Jul 2024 15:28:25 +0200 Subject: [PATCH 109/327] feat: add documentId to GuidelineDocumentCategory event payload (#1042) * feat: add documentId to GuidelineDocumentCategory events * changeset --- .changeset/hip-foxes-listen.md | 5 +++++ .../app-bridge/src/react/useDocumentCategories.spec.ts | 8 ++++---- .../app-bridge/src/react/useDocumentNavigation.spec.ts | 2 +- packages/app-bridge/src/react/useGuidelineActions.ts | 9 +++++++-- packages/app-bridge/src/types/Emitter.ts | 2 +- 5 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 .changeset/hip-foxes-listen.md diff --git a/.changeset/hip-foxes-listen.md b/.changeset/hip-foxes-listen.md new file mode 100644 index 000000000..72d239439 --- /dev/null +++ b/.changeset/hip-foxes-listen.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat: add documentId to GuidelineDocumentCategory events diff --git a/packages/app-bridge/src/react/useDocumentCategories.spec.ts b/packages/app-bridge/src/react/useDocumentCategories.spec.ts index 47717d4e8..804c46bd6 100644 --- a/packages/app-bridge/src/react/useDocumentCategories.spec.ts +++ b/packages/app-bridge/src/react/useDocumentCategories.spec.ts @@ -339,7 +339,7 @@ describe('useDocumentCategories', () => { // Trigger a "document page add" event in the specified document window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { action: 'add', - documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_2 }, + documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_2, documentId: DOCUMENT_ID }, }); await waitFor(() => { @@ -370,7 +370,7 @@ describe('useDocumentCategories', () => { // Trigger a "document page add" event in the specified document window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { action: 'add', - documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_4 }, + documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_4, documentId: DOCUMENT_ID }, }); await waitFor(() => { @@ -401,7 +401,7 @@ describe('useDocumentCategories', () => { // Trigger a "document page delete" event in the specified document window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { action: 'delete', - documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_3 }, + documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_3, documentId: DOCUMENT_ID }, }); await waitFor(() => { @@ -432,7 +432,7 @@ describe('useDocumentCategories', () => { // Trigger a "document page delete" event in the specified document window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { action: 'delete', - documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_4 }, + documentPage: { id: DOCUMENT_PAGE_ID, categoryId: DOCUMENT_CATEGORY_ID_4, documentId: DOCUMENT_ID }, }); await waitFor(() => { diff --git a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts index a5ccf2bb3..ce08c2d3a 100644 --- a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts +++ b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts @@ -86,7 +86,7 @@ describe('useDocumentNavigation', () => { testEventHandler(() => { window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { action: 'add', - documentPage: { categoryId: 0, id: 0 }, + documentPage: { categoryId: 0, id: 0, documentId: 0 }, }); })); diff --git a/packages/app-bridge/src/react/useGuidelineActions.ts b/packages/app-bridge/src/react/useGuidelineActions.ts index 43aeb604d..1566b79f2 100644 --- a/packages/app-bridge/src/react/useGuidelineActions.ts +++ b/packages/app-bridge/src/react/useGuidelineActions.ts @@ -260,6 +260,7 @@ export const useGuidelineActions = (appBridge: AppBridgeTheme) => { documentPage: { id: result.id, categoryId: documentPage.categoryId, + documentId: documentPage.documentId, }, action: 'add', }); @@ -310,7 +311,11 @@ export const useGuidelineActions = (appBridge: AppBridgeTheme) => { if (documentPage.categoryId) { window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { - documentPage: { ...documentPage, categoryId: documentPage.categoryId }, + documentPage: { + ...documentPage, + categoryId: documentPage.categoryId, + documentId: documentPage.documentId, + }, action: 'delete', }); } else { @@ -334,7 +339,7 @@ export const useGuidelineActions = (appBridge: AppBridgeTheme) => { if (categoryId) { window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { - documentPage: { id: duplicatedDocumentPage.id, categoryId }, + documentPage: { id: duplicatedDocumentPage.id, categoryId, documentId }, action: 'add', }); } diff --git a/packages/app-bridge/src/types/Emitter.ts b/packages/app-bridge/src/types/Emitter.ts index 4e7c000c2..dab5f3718 100644 --- a/packages/app-bridge/src/types/Emitter.ts +++ b/packages/app-bridge/src/types/Emitter.ts @@ -142,7 +142,7 @@ export type EmitterEvents = { }; 'AppBridge:GuidelineDocumentCategory:DocumentPageAction': { - documentPage: { id: number; categoryId: number }; + documentPage: { id: number; categoryId: number; documentId: number }; action: 'add' | 'delete'; }; From 018fcc4db6b9cf7a2484e4fa2e69d6e2e3cd6145 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 15:41:43 +0200 Subject: [PATCH 110/327] chore: release packages (alpha) (#1043) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 5311a6ee7..576b82565 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -28,6 +28,7 @@ "gorgeous-seas-search", "great-dolls-enjoy", "hip-days-applaud", + "hip-foxes-listen", "khaki-dryers-shout", "kind-fishes-flash", "light-crews-report", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 509363598..b4cb7ac8f 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.34 + +### Patch Changes + +- [#1042](https://github.com/Frontify/brand-sdk/pull/1042) [`e345d27`](https://github.com/Frontify/brand-sdk/commit/e345d2747d00efeadd8130dcde7f0dd1f2c398bf) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add documentId to GuidelineDocumentCategory events + ## 4.0.0-alpha.33 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index e6fb7d111..677477944 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.33", + "version": "4.0.0-alpha.34", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From facc3e647ce74bec3a8683889ebe493b88038e46 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Tue, 16 Jul 2024 10:30:46 +0200 Subject: [PATCH 111/327] fix(AppBridgeTheme): update imports (#1046) * fix(AppBridgeTheme): update imports * Create shiny-beds-thank.md --- .changeset/shiny-beds-thank.md | 5 +++++ .../app-bridge-theme/src/react/useDocumentNavigation.spec.ts | 5 ++--- packages/app-bridge-theme/src/react/useDocumentNavigation.ts | 5 ++--- .../registries/commands/HydrateContextDocumentNavigation.ts | 3 +-- .../app-bridge-theme/src/registries/commands/Navigate.ts | 3 +-- .../src/registries/commands/NavigateToDocumentSection.ts | 3 +-- .../app-bridge-theme/src/registries/commands/SearchDialog.ts | 3 +-- 7 files changed, 13 insertions(+), 14 deletions(-) create mode 100644 .changeset/shiny-beds-thank.md diff --git a/.changeset/shiny-beds-thank.md b/.changeset/shiny-beds-thank.md new file mode 100644 index 000000000..ba4ade4f3 --- /dev/null +++ b/.changeset/shiny-beds-thank.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +fix(AppBridgeTheme): update imports diff --git a/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts b/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts index 0c14df46f..0035ed9f6 100644 --- a/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts +++ b/packages/app-bridge-theme/src/react/useDocumentNavigation.spec.ts @@ -4,13 +4,12 @@ import { renderHook } from '@testing-library/react'; import { act } from 'react'; import { describe, expect, it, vi, beforeEach } from 'vitest'; +import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentPageNavigationItem, type DocumentChildNavigationItem, type DocumentNavigationItem, -} from 'src/types'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; +} from '../types'; import { useDocumentNavigation } from './useDocumentNavigation'; diff --git a/packages/app-bridge-theme/src/react/useDocumentNavigation.ts b/packages/app-bridge-theme/src/react/useDocumentNavigation.ts index cc72058c7..8290f72da 100644 --- a/packages/app-bridge-theme/src/react/useDocumentNavigation.ts +++ b/packages/app-bridge-theme/src/react/useDocumentNavigation.ts @@ -2,8 +2,7 @@ import { useEffect, useSyncExternalStore } from 'react'; -import { type AppBridgeTheme } from 'src/AppBridgeTheme'; - +import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; import { hydrateContextDocumentNavigation } from '../registries/commands/HydrateContextDocumentNavigation'; import { type DocumentNavigationItem, type DocumentChildNavigationItem } from '../types/Guideline'; @@ -17,5 +16,5 @@ export const useDocumentNavigation = (appBridge: AppBridgeTheme, document: Docum appBridge.dispatch(hydrateContextDocumentNavigation(document.id())); }, [appBridge, document]); - return documentNavigation[document.id()] ?? []; + return documentNavigation ? documentNavigation[document.id()] ?? [] : []; }; diff --git a/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts b/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts index 3063475b9..932b64904 100644 --- a/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts +++ b/packages/app-bridge-theme/src/registries/commands/HydrateContextDocumentNavigation.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type DispatchHandlerParameter } from 'src/types/Command'; - +import { type DispatchHandlerParameter } from '../../types'; import { type CommandRegistry } from '../CommandRegistry'; export const hydrateContextDocumentNavigation = ( diff --git a/packages/app-bridge-theme/src/registries/commands/Navigate.ts b/packages/app-bridge-theme/src/registries/commands/Navigate.ts index 955f463a3..e2b0333fa 100644 --- a/packages/app-bridge-theme/src/registries/commands/Navigate.ts +++ b/packages/app-bridge-theme/src/registries/commands/Navigate.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type DispatchHandlerParameter } from 'src/types/Command'; - +import { type DispatchHandlerParameter } from '../../types'; import { type CommandRegistry } from '../CommandRegistry'; export const navigate = (path: CommandRegistry['navigate']): DispatchHandlerParameter<'navigate', CommandRegistry> => ({ diff --git a/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts b/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts index 7d26ddf30..895d1c6e8 100644 --- a/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts +++ b/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type DispatchHandlerParameter } from 'src/types/Command'; - +import { type DispatchHandlerParameter } from '../../types'; import { type CommandRegistry } from '../CommandRegistry'; export const navigateToDocumentSection = ( diff --git a/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts b/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts index cfffba99f..ec4adbb07 100644 --- a/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts +++ b/packages/app-bridge-theme/src/registries/commands/SearchDialog.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type DispatchHandlerParameter } from 'src/types/Command'; - +import { type DispatchHandlerParameter } from '../../types'; import { type CommandRegistry } from '../CommandRegistry'; export const openSearchDialog = (): DispatchHandlerParameter<'openSearchDialog', CommandRegistry> => ({ From 5812436b377e5b97e4f538c2567eecd2f191cef8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:56:51 +0200 Subject: [PATCH 112/327] chore: release packages (alpha) (#1050) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 576b82565..78c70b107 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -50,6 +50,7 @@ "red-islands-report", "rich-olives-repeat", "shaggy-mugs-speak", + "shiny-beds-thank", "shiny-poets-enjoy", "shy-jobs-protect", "smart-suns-type", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index c0fb11f9f..e0bf1fe0d 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.12 + +### Patch Changes + +- [#1046](https://github.com/Frontify/brand-sdk/pull/1046) [`facc3e6`](https://github.com/Frontify/brand-sdk/commit/facc3e647ce74bec3a8683889ebe493b88038e46) Thanks [@mike85](https://github.com/mike85)! - fix(AppBridgeTheme): update imports + ## 0.0.0-alpha.11 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 2fa85cc8e..25c23cf6f 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.11", + "version": "0.0.0-alpha.12", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 16ec9d1ae5ced64bde74b275004cb632cba462b9 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Wed, 17 Jul 2024 11:21:47 +0200 Subject: [PATCH 113/327] feat(AppBridgeTheme): add context hooks (#1051) * feat(AppBridgeTheme): add context hooks * Create early-masks-appear.md * refactor: split language hooks --- .changeset/early-masks-appear.md | 5 + packages/app-bridge-theme/src/react/index.ts | 9 +- ...age.spec.ts => useCurrentLanguage.spec.ts} | 32 +++-- .../src/react/useCurrentLanguage.ts | 12 ++ .../src/react/useDefaultLanguage.spec.ts | 82 +++++++++++++ .../src/react/useDefaultLanguage.ts | 12 ++ .../src/react/useIsEditing.ts | 2 +- .../app-bridge-theme/src/react/useLanguage.ts | 23 ---- .../src/react/useLanguages.spec.ts | 116 ++++++++++++++++++ .../src/react/useLanguages.ts | 9 ++ .../src/react/usePortalNavigation.spec.ts | 94 ++++++++++++++ .../src/react/usePortalNavigation.ts | 14 +++ .../src/react/useSettings.spec.ts | 84 +++++++++++++ .../app-bridge-theme/src/react/useSettings.ts | 13 ++ .../src/react/useTemplateContext.spec.ts | 107 ++++++++++++++++ .../src/react/useTemplateContext.ts | 10 ++ 16 files changed, 580 insertions(+), 44 deletions(-) create mode 100644 .changeset/early-masks-appear.md rename packages/app-bridge-theme/src/react/{useLanguage.spec.ts => useCurrentLanguage.spec.ts} (58%) create mode 100644 packages/app-bridge-theme/src/react/useCurrentLanguage.ts create mode 100644 packages/app-bridge-theme/src/react/useDefaultLanguage.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useDefaultLanguage.ts delete mode 100644 packages/app-bridge-theme/src/react/useLanguage.ts create mode 100644 packages/app-bridge-theme/src/react/useLanguages.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useLanguages.ts create mode 100644 packages/app-bridge-theme/src/react/usePortalNavigation.spec.ts create mode 100644 packages/app-bridge-theme/src/react/usePortalNavigation.ts create mode 100644 packages/app-bridge-theme/src/react/useSettings.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useSettings.ts create mode 100644 packages/app-bridge-theme/src/react/useTemplateContext.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useTemplateContext.ts diff --git a/.changeset/early-masks-appear.md b/.changeset/early-masks-appear.md new file mode 100644 index 000000000..59bc79263 --- /dev/null +++ b/.changeset/early-masks-appear.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat(AppBridgeTheme): add context hooks diff --git a/packages/app-bridge-theme/src/react/index.ts b/packages/app-bridge-theme/src/react/index.ts index bb0e822c6..9a5dc03b2 100644 --- a/packages/app-bridge-theme/src/react/index.ts +++ b/packages/app-bridge-theme/src/react/index.ts @@ -1,5 +1,10 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -export * from './useIsEditing'; -export * from './useLanguage'; export * from './useDocumentNavigation'; +export * from './useIsEditing'; +export * from './useCurrentLanguage'; +export * from './useDefaultLanguage'; +export * from './useLanguages'; +export * from './usePortalNavigation'; +export * from './useSettings'; +export * from './useTemplateContext'; diff --git a/packages/app-bridge-theme/src/react/useLanguage.spec.ts b/packages/app-bridge-theme/src/react/useCurrentLanguage.spec.ts similarity index 58% rename from packages/app-bridge-theme/src/react/useLanguage.spec.ts rename to packages/app-bridge-theme/src/react/useCurrentLanguage.spec.ts index ac2576839..5f9c16fea 100644 --- a/packages/app-bridge-theme/src/react/useLanguage.spec.ts +++ b/packages/app-bridge-theme/src/react/useCurrentLanguage.spec.ts @@ -6,7 +6,7 @@ import { describe, expect, it, vi, beforeEach } from 'vitest'; import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { useLanguage } from './useLanguage'; +import { useCurrentLanguage } from './useCurrentLanguage'; const INITIAL_LANGUAGE = 'de'; const UPDATED_LANGUAGE = 'es'; @@ -26,61 +26,57 @@ const stubbedAppBridgeTheme = () => }), }) as unknown as AppBridgeTheme; -describe('useLanguage', () => { +describe('useCurrentLanguage', () => { beforeEach(() => { vi.clearAllMocks(); }); - it('should call the context with currentLanguage and defaultLanguage', () => { + it('should call the context with currentLanguage', () => { const appBridgeTheme = stubbedAppBridgeTheme(); - renderHook(() => useLanguage(appBridgeTheme)); + renderHook(() => useCurrentLanguage(appBridgeTheme)); expect(stubs.contextStub).toHaveBeenCalledWith('currentLanguage'); - expect(stubs.contextStub).toHaveBeenCalledWith('defaultLanguage'); }); it('should subscribe to context updates', () => { const appBridgeTheme = stubbedAppBridgeTheme(); - renderHook(() => useLanguage(appBridgeTheme)); + renderHook(() => useCurrentLanguage(appBridgeTheme)); - expect(stubs.subscribeStub).toHaveBeenCalledTimes(2); + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); }); - it('should return the correct initial language', () => { + it('should return the correct initial currentLanguage', () => { const appBridgeTheme = stubbedAppBridgeTheme(); - const { result } = renderHook(() => useLanguage(appBridgeTheme)); + const { result } = renderHook(() => useCurrentLanguage(appBridgeTheme)); - expect(result.current.currentLanguage).toEqual(INITIAL_LANGUAGE); - expect(result.current.defaultLanguage).toEqual(INITIAL_LANGUAGE); + expect(result.current).toEqual(INITIAL_LANGUAGE); }); - it('should update the language on change', () => { + it('should update the currentLanguage on change', () => { const appBridgeTheme = stubbedAppBridgeTheme(); - const { result } = renderHook(() => useLanguage(appBridgeTheme)); + const { result } = renderHook(() => useCurrentLanguage(appBridgeTheme)); act(() => { if (vi.isMockFunction(stubs.subscribeStub)) { stubs.contextGetStub.mockReturnValue(UPDATED_LANGUAGE); stubs.subscribeStub.mock.calls[0][0](UPDATED_LANGUAGE); - stubs.subscribeStub.mock.calls[1][0](UPDATED_LANGUAGE); } }); - expect(result.current.currentLanguage).toEqual(UPDATED_LANGUAGE); - expect(result.current.defaultLanguage).toEqual(UPDATED_LANGUAGE); + expect(result.current).toEqual(UPDATED_LANGUAGE); }); it('should unsubscribe on unmount', () => { const appBridgeTheme = stubbedAppBridgeTheme(); - const { unmount } = renderHook(() => useLanguage(appBridgeTheme)); + const { unmount } = renderHook(() => useCurrentLanguage(appBridgeTheme)); unmount(); - expect(stubs.unsubscribeObserverStub).toHaveBeenCalledTimes(2); + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); }); }); diff --git a/packages/app-bridge-theme/src/react/useCurrentLanguage.ts b/packages/app-bridge-theme/src/react/useCurrentLanguage.ts new file mode 100644 index 000000000..c54ee4346 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useCurrentLanguage.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; + +export const useCurrentLanguage = (appBridge: AppBridgeTheme) => { + return useSyncExternalStore( + appBridge.context('currentLanguage').subscribe, + appBridge.context('currentLanguage').get, + ); +}; diff --git a/packages/app-bridge-theme/src/react/useDefaultLanguage.spec.ts b/packages/app-bridge-theme/src/react/useDefaultLanguage.spec.ts new file mode 100644 index 000000000..0f93a4fdd --- /dev/null +++ b/packages/app-bridge-theme/src/react/useDefaultLanguage.spec.ts @@ -0,0 +1,82 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useDefaultLanguage } from './useDefaultLanguage'; + +const INITIAL_LANGUAGE = 'de'; +const UPDATED_LANGUAGE = 'es'; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_LANGUAGE), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useDefaultLanguage', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with defaultLanguage', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useDefaultLanguage(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('defaultLanguage'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useDefaultLanguage(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial defaultLanguage', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useDefaultLanguage(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_LANGUAGE); + }); + + it('should update the defaultLanguage on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useDefaultLanguage(appBridgeTheme)); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_LANGUAGE); + stubs.subscribeStub.mock.calls[0][0](UPDATED_LANGUAGE); + } + }); + + expect(result.current).toEqual(UPDATED_LANGUAGE); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useDefaultLanguage(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useDefaultLanguage.ts b/packages/app-bridge-theme/src/react/useDefaultLanguage.ts new file mode 100644 index 000000000..58c9d780c --- /dev/null +++ b/packages/app-bridge-theme/src/react/useDefaultLanguage.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; + +export const useDefaultLanguage = (appBridge: AppBridgeTheme) => { + return useSyncExternalStore( + appBridge.context('defaultLanguage').subscribe, + appBridge.context('defaultLanguage').get, + ); +}; diff --git a/packages/app-bridge-theme/src/react/useIsEditing.ts b/packages/app-bridge-theme/src/react/useIsEditing.ts index 5dd01d553..b401c7156 100644 --- a/packages/app-bridge-theme/src/react/useIsEditing.ts +++ b/packages/app-bridge-theme/src/react/useIsEditing.ts @@ -4,6 +4,6 @@ import { useSyncExternalStore } from 'react'; import { type AppBridgeTheme } from '../AppBridgeTheme'; -export const useIsEditing = (appBridge: AppBridgeTheme): boolean => { +export const useIsEditing = (appBridge: AppBridgeTheme) => { return useSyncExternalStore(appBridge.context('isEditing').subscribe, appBridge.context('isEditing').get); }; diff --git a/packages/app-bridge-theme/src/react/useLanguage.ts b/packages/app-bridge-theme/src/react/useLanguage.ts deleted file mode 100644 index baecc978e..000000000 --- a/packages/app-bridge-theme/src/react/useLanguage.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useSyncExternalStore } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; - -type UseLanguageReturn = { - currentLanguage: string; - defaultLanguage: string; -}; - -export const useLanguage = (appBridge: AppBridgeTheme): UseLanguageReturn => { - const currentLanguage = useSyncExternalStore( - appBridge.context('currentLanguage').subscribe, - appBridge.context('currentLanguage').get, - ); - const defaultLanguage = useSyncExternalStore( - appBridge.context('defaultLanguage').subscribe, - appBridge.context('defaultLanguage').get, - ); - - return { currentLanguage, defaultLanguage }; -}; diff --git a/packages/app-bridge-theme/src/react/useLanguages.spec.ts b/packages/app-bridge-theme/src/react/useLanguages.spec.ts new file mode 100644 index 000000000..f0e7c9789 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useLanguages.spec.ts @@ -0,0 +1,116 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useLanguages } from './useLanguages'; + +const INITIAL_LANGUAGES = [ + { + isoCode: 'en', + name: 'English', + isDefault: true, + isDraft: false, + }, + { + isoCode: 'de', + name: 'Deutsch', + isDefault: false, + isDraft: false, + }, +]; +const UPDATED_LANGUAGES = [ + { + isoCode: 'en', + name: 'English', + isDefault: false, + isDraft: false, + }, + { + isoCode: 'de', + name: 'Deutsch', + isDefault: true, + isDraft: false, + }, + { + isoCode: 'fr', + name: 'Français', + isDefault: false, + isDraft: true, + }, +]; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_LANGUAGES), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useLanguages', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with languages', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useLanguages(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('languages'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useLanguages(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial languages state', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useLanguages(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_LANGUAGES); + }); + + it('should update the languages state on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useLanguages(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_LANGUAGES); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_LANGUAGES); + stubs.subscribeStub.mock.calls[0][0](UPDATED_LANGUAGES); + } + }); + + expect(result.current).toEqual(UPDATED_LANGUAGES); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useLanguages(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useLanguages.ts b/packages/app-bridge-theme/src/react/useLanguages.ts new file mode 100644 index 000000000..7f2967648 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useLanguages.ts @@ -0,0 +1,9 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; + +export const useLanguages = (appBridge: AppBridgeTheme) => { + return useSyncExternalStore(appBridge.context('languages').subscribe, appBridge.context('languages').get); +}; diff --git a/packages/app-bridge-theme/src/react/usePortalNavigation.spec.ts b/packages/app-bridge-theme/src/react/usePortalNavigation.spec.ts new file mode 100644 index 000000000..11097b527 --- /dev/null +++ b/packages/app-bridge-theme/src/react/usePortalNavigation.spec.ts @@ -0,0 +1,94 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; +import { type DocumentNavigationItem } from '../types'; + +import { usePortalNavigation } from './usePortalNavigation'; + +const DocumentDummy = (id: number) => + ({ + type: 'document', + + id: () => { + return id; + }, + }) as unknown as DocumentNavigationItem; + +const INITIAL_PORTAL_NAVIGATION = [DocumentDummy(532), DocumentDummy(682), DocumentDummy(746)]; +const UPDATED_PORTAL_NAVIGATION = [DocumentDummy(8425), DocumentDummy(9634)]; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_PORTAL_NAVIGATION), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('usePortalNavigation', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with portalNavigation', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => usePortalNavigation(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('portalNavigation'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => usePortalNavigation(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial portalNavigation state', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => usePortalNavigation(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_PORTAL_NAVIGATION); + }); + + it('should update the portalNavigation state on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => usePortalNavigation(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_PORTAL_NAVIGATION); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_PORTAL_NAVIGATION); + stubs.subscribeStub.mock.calls[0][0](UPDATED_PORTAL_NAVIGATION); + } + }); + + expect(result.current).toEqual(UPDATED_PORTAL_NAVIGATION); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => usePortalNavigation(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/usePortalNavigation.ts b/packages/app-bridge-theme/src/react/usePortalNavigation.ts new file mode 100644 index 000000000..2588c220a --- /dev/null +++ b/packages/app-bridge-theme/src/react/usePortalNavigation.ts @@ -0,0 +1,14 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +export const usePortalNavigation = (appBridge: AppBridgeTheme) => { + const portalNavigation = useSyncExternalStore( + appBridge.context('portalNavigation').subscribe, + appBridge.context('portalNavigation').get, + ); + + return portalNavigation ?? []; +}; diff --git a/packages/app-bridge-theme/src/react/useSettings.spec.ts b/packages/app-bridge-theme/src/react/useSettings.spec.ts new file mode 100644 index 000000000..6094f552c --- /dev/null +++ b/packages/app-bridge-theme/src/react/useSettings.spec.ts @@ -0,0 +1,84 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useSettings } from './useSettings'; + +const INITIAL_SETTINGS = { templateSettings: { color: 'red' }, templateAssets: { logo: [] } }; +const UPDATED_SETTINGS = { templateSettings: { color: 'blue', isSticky: false }, templateAssets: {} }; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_SETTINGS), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useSettings', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with settings', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useSettings(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('settings'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useSettings(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial settings', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useSettings(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_SETTINGS); + }); + + it('should update the settings on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useSettings(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_SETTINGS); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_SETTINGS); + stubs.subscribeStub.mock.calls[0][0](UPDATED_SETTINGS); + } + }); + + expect(result.current).toEqual(UPDATED_SETTINGS); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useSettings(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useSettings.ts b/packages/app-bridge-theme/src/react/useSettings.ts new file mode 100644 index 000000000..6253ad274 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useSettings.ts @@ -0,0 +1,13 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +export const useSettings = >(appBridge: AppBridgeTheme) => { + const settings = useSyncExternalStore(appBridge.context('settings').subscribe, appBridge.context('settings').get); + + const templateSettings = settings.templateSettings as T; + + return { templateSettings, templateAssets: settings.templateAssets }; +}; diff --git a/packages/app-bridge-theme/src/react/useTemplateContext.spec.ts b/packages/app-bridge-theme/src/react/useTemplateContext.spec.ts new file mode 100644 index 000000000..165b54093 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useTemplateContext.spec.ts @@ -0,0 +1,107 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; +import { type CoverPage, type DocumentLibrary, type TemplateContext } from '../types'; + +import { useTemplateContext } from './useTemplateContext'; + +const CoverPageDummy = (id: number) => + ({ + type: 'cover', + + id: () => { + return id; + }, + }) as unknown as CoverPage; + +const DocumentLibraryDummy = (id: number) => + ({ + type: 'document-library', + + id: () => { + return id; + }, + }) as unknown as DocumentLibrary; + +const INITIAL_TEMPLATE: TemplateContext = { type: 'cover', coverPage: CoverPageDummy(56), templateId: 'default' }; +const UPDATED_TEMPLATE: TemplateContext = { + type: 'library', + document: DocumentLibraryDummy(78), + templateId: 'default', +}; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_TEMPLATE), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useTemplateContext', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with template', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useTemplateContext(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('template'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useTemplateContext(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial template', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useTemplateContext(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_TEMPLATE); + }); + + it('should update the template on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useTemplateContext(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_TEMPLATE); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_TEMPLATE); + stubs.subscribeStub.mock.calls[0][0](UPDATED_TEMPLATE); + } + }); + + expect(result.current).toEqual(UPDATED_TEMPLATE); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useTemplateContext(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useTemplateContext.ts b/packages/app-bridge-theme/src/react/useTemplateContext.ts new file mode 100644 index 000000000..963735e49 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useTemplateContext.ts @@ -0,0 +1,10 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; +import { type TemplateContext } from '../types'; + +export const useTemplateContext = (appBridge: AppBridgeTheme): TemplateContext | null => { + return useSyncExternalStore(appBridge.context('template').subscribe, appBridge.context('template').get); +}; From e0009ca842b65d3d262ec0700837847512442878 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 17 Jul 2024 11:59:03 +0200 Subject: [PATCH 114/327] chore: release packages (alpha) (#1054) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 78c70b107..fbafac5d9 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -18,6 +18,7 @@ "cuddly-pets-hammer", "curly-pots-scream", "dry-mangos-fix", + "early-masks-appear", "eleven-shrimps-jog", "fast-houses-hunt", "few-islands-build", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index e0bf1fe0d..0c104ff42 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.13 + +### Patch Changes + +- [#1051](https://github.com/Frontify/brand-sdk/pull/1051) [`16ec9d1`](https://github.com/Frontify/brand-sdk/commit/16ec9d1ae5ced64bde74b275004cb632cba462b9) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add context hooks + ## 0.0.0-alpha.12 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 25c23cf6f..5305103a8 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.12", + "version": "0.0.0-alpha.13", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 2f6447a69fec667beba3a65ed552381403fa8057 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Fri, 19 Jul 2024 14:43:41 +0200 Subject: [PATCH 115/327] feat: add highlight border settings for sidebar (#1059) * feat: add highlight border settings for sidebar * chore: lint * chore: changeset * Update .changeset/swift-ladybugs-happen.md Co-authored-by: Anxo Botana --------- Co-authored-by: Anxo Botana --- .changeset/swift-ladybugs-happen.md | 5 + .../sidebar-settings/src/blocks/fontInput.ts | 96 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 .changeset/swift-ladybugs-happen.md diff --git a/.changeset/swift-ladybugs-happen.md b/.changeset/swift-ladybugs-happen.md new file mode 100644 index 000000000..70201adf3 --- /dev/null +++ b/.changeset/swift-ladybugs-happen.md @@ -0,0 +1,5 @@ +--- +"@frontify/sidebar-settings": patch +--- + +feat: add highlight border settings for fontInput block diff --git a/packages/sidebar-settings/src/blocks/fontInput.ts b/packages/sidebar-settings/src/blocks/fontInput.ts index 4e182ac9c..0f0802230 100644 --- a/packages/sidebar-settings/src/blocks/fontInput.ts +++ b/packages/sidebar-settings/src/blocks/fontInput.ts @@ -189,6 +189,38 @@ export type FontValue = { highlightBorderRadiusCustom?: FontValueBorderRadiusType | null; highlightBorderRadiusChoice?: BorderRadius; + /** + * Highlight border settings + */ + highlightBorderEnabled?: boolean; + highlightBorderColor?: { + /** + * The red value of the color (0-255). + */ + red: number; + /** + * The green value of the color (0-255). + */ + green: number; + /** + * The blue value of the color (0-255). + */ + blue: number; + /** + * The alpha value of the color (0-1). + */ + alpha?: number; + } | null; + highlightBorderStyle?: 'solid' | 'dashed' | 'dotted'; + highlightBorderWeight?: string; + highlightBorderWeightCustomEnabled?: string; + highlightBorderWeightCustom?: { + top: string; + right: string; + bottom: string; + left: string; + } | null; + /** * The rgba-color of the text on hover. */ @@ -287,6 +319,38 @@ export type FontValue = { hoverHighlightBorderRadiusCustom?: FontValueBorderRadiusType | null; hoverHighlightBorderRadiusChoice?: BorderRadius; + /** + * Highlight border settings on hover + */ + hoverHighlightBorderEnabled?: boolean; + hoverHighlightBorderColor?: { + /** + * The red value of the color (0-255). + */ + red: number; + /** + * The green value of the color (0-255). + */ + green: number; + /** + * The blue value of the color (0-255). + */ + blue: number; + /** + * The alpha value of the color (0-1). + */ + alpha?: number; + } | null; + hoverHighlightBorderStyle?: 'solid' | 'dashed' | 'dotted'; + hoverHighlightBorderWeight?: string; + hoverHighlightBorderWeightCustomEnabled?: string; + hoverHighlightBorderWeightCustom?: { + top: string; + right: string; + bottom: string; + left: string; + } | null; + /** * The color of the text when active. */ @@ -384,6 +448,38 @@ export type FontValue = { activeHighlightBorderRadiusCustomEnabled?: boolean; activeHighlightBorderRadiusCustom?: FontValueBorderRadiusType | null; activeHighlightBorderRadiusChoice?: BorderRadius; + + /** + * Highlight border settings when active + */ + activeHighlightBorderEnabled?: boolean; + activeHighlightBorderColor?: { + /** + * The red value of the color (0-255). + */ + red: number; + /** + * The green value of the color (0-255). + */ + green: number; + /** + * The blue value of the color (0-255). + */ + blue: number; + /** + * The alpha value of the color (0-1). + */ + alpha?: number; + } | null; + activeHighlightBorderStyle?: 'solid' | 'dashed' | 'dotted'; + activeHighlightBorderWeight?: string; + activeHighlightBorderWeightCustomEnabled?: string; + activeHighlightBorderWeightCustom?: { + top: string; + right: string; + bottom: string; + left: string; + } | null; }; export type FontInputBlock = { From 5f5de0a3995cad0457775d05f862ba1623c2ccbf Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Mon, 22 Jul 2024 17:07:07 +0200 Subject: [PATCH 116/327] feat(AppBridgeTheme): added commands to open/close AIBrandAssistant dialog (#1064) * feat(AppBridgeTheme): added commands to open/close AIBrandAssistant dialog * fix: added export * Added is-open state to context --- .../src/registries/CommandRegistry.ts | 2 ++ .../registries/commands/AiBrandAssistantDialog.ts | 14 ++++++++++++++ .../src/registries/commands/index.ts | 1 + packages/app-bridge-theme/src/types/Context.ts | 1 + 4 files changed, 18 insertions(+) create mode 100644 packages/app-bridge-theme/src/registries/commands/AiBrandAssistantDialog.ts diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index 8d4c2b378..19a88cd90 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -7,6 +7,8 @@ import { type ObjectNameValidator } from '../types'; export type CommandRegistry = CommandNameValidator<{ openSearchDialog: void; closeSearchDialog: void; + openAiBrandAssistantDialog: void; + closeAiBrandAssistantDialog: void; navigate: string; navigateToDocumentSection: number | string; hydrateContextDocumentNavigation: number; diff --git a/packages/app-bridge-theme/src/registries/commands/AiBrandAssistantDialog.ts b/packages/app-bridge-theme/src/registries/commands/AiBrandAssistantDialog.ts new file mode 100644 index 000000000..d812a1ded --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/AiBrandAssistantDialog.ts @@ -0,0 +1,14 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from '../../types'; +import { type CommandRegistry } from '../CommandRegistry'; + +export const openAiBrandAssistantDialog = (): DispatchHandlerParameter< + 'openAiBrandAssistantDialog', + CommandRegistry +> => ({ name: 'openAiBrandAssistantDialog' }); + +export const closeAiBrandAssistantDialog = (): DispatchHandlerParameter< + 'closeAiBrandAssistantDialog', + CommandRegistry +> => ({ name: 'closeAiBrandAssistantDialog' }); diff --git a/packages/app-bridge-theme/src/registries/commands/index.ts b/packages/app-bridge-theme/src/registries/commands/index.ts index 15f62037d..68ddb4f91 100644 --- a/packages/app-bridge-theme/src/registries/commands/index.ts +++ b/packages/app-bridge-theme/src/registries/commands/index.ts @@ -1,5 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +export * from './AiBrandAssistantDialog'; export * from './SearchDialog'; export * from './Navigate'; export * from './NavigateToDocumentSection'; diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index 45f027964..c31fde485 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -33,6 +33,7 @@ export type Context = { isEditing: boolean; isPublicLink: boolean; isAuthenticated: boolean; + isAiBrandAssistantDialogOpen: boolean; isSearchDialogOpen: boolean; languages: Language[]; template: TemplateContext | null; From 1ab0a68d93c2197fcb895aeb211cde7d81842448 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Mon, 22 Jul 2024 17:33:53 +0200 Subject: [PATCH 117/327] Revert "feat: add highlight border settings for sidebar (#1059)" (#1067) This reverts commit 2f6447a69fec667beba3a65ed552381403fa8057. --- .changeset/swift-ladybugs-happen.md | 5 - .../sidebar-settings/src/blocks/fontInput.ts | 96 ------------------- 2 files changed, 101 deletions(-) delete mode 100644 .changeset/swift-ladybugs-happen.md diff --git a/.changeset/swift-ladybugs-happen.md b/.changeset/swift-ladybugs-happen.md deleted file mode 100644 index 70201adf3..000000000 --- a/.changeset/swift-ladybugs-happen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@frontify/sidebar-settings": patch ---- - -feat: add highlight border settings for fontInput block diff --git a/packages/sidebar-settings/src/blocks/fontInput.ts b/packages/sidebar-settings/src/blocks/fontInput.ts index 0f0802230..4e182ac9c 100644 --- a/packages/sidebar-settings/src/blocks/fontInput.ts +++ b/packages/sidebar-settings/src/blocks/fontInput.ts @@ -189,38 +189,6 @@ export type FontValue = { highlightBorderRadiusCustom?: FontValueBorderRadiusType | null; highlightBorderRadiusChoice?: BorderRadius; - /** - * Highlight border settings - */ - highlightBorderEnabled?: boolean; - highlightBorderColor?: { - /** - * The red value of the color (0-255). - */ - red: number; - /** - * The green value of the color (0-255). - */ - green: number; - /** - * The blue value of the color (0-255). - */ - blue: number; - /** - * The alpha value of the color (0-1). - */ - alpha?: number; - } | null; - highlightBorderStyle?: 'solid' | 'dashed' | 'dotted'; - highlightBorderWeight?: string; - highlightBorderWeightCustomEnabled?: string; - highlightBorderWeightCustom?: { - top: string; - right: string; - bottom: string; - left: string; - } | null; - /** * The rgba-color of the text on hover. */ @@ -319,38 +287,6 @@ export type FontValue = { hoverHighlightBorderRadiusCustom?: FontValueBorderRadiusType | null; hoverHighlightBorderRadiusChoice?: BorderRadius; - /** - * Highlight border settings on hover - */ - hoverHighlightBorderEnabled?: boolean; - hoverHighlightBorderColor?: { - /** - * The red value of the color (0-255). - */ - red: number; - /** - * The green value of the color (0-255). - */ - green: number; - /** - * The blue value of the color (0-255). - */ - blue: number; - /** - * The alpha value of the color (0-1). - */ - alpha?: number; - } | null; - hoverHighlightBorderStyle?: 'solid' | 'dashed' | 'dotted'; - hoverHighlightBorderWeight?: string; - hoverHighlightBorderWeightCustomEnabled?: string; - hoverHighlightBorderWeightCustom?: { - top: string; - right: string; - bottom: string; - left: string; - } | null; - /** * The color of the text when active. */ @@ -448,38 +384,6 @@ export type FontValue = { activeHighlightBorderRadiusCustomEnabled?: boolean; activeHighlightBorderRadiusCustom?: FontValueBorderRadiusType | null; activeHighlightBorderRadiusChoice?: BorderRadius; - - /** - * Highlight border settings when active - */ - activeHighlightBorderEnabled?: boolean; - activeHighlightBorderColor?: { - /** - * The red value of the color (0-255). - */ - red: number; - /** - * The green value of the color (0-255). - */ - green: number; - /** - * The blue value of the color (0-255). - */ - blue: number; - /** - * The alpha value of the color (0-1). - */ - alpha?: number; - } | null; - activeHighlightBorderStyle?: 'solid' | 'dashed' | 'dotted'; - activeHighlightBorderWeight?: string; - activeHighlightBorderWeightCustomEnabled?: string; - activeHighlightBorderWeightCustom?: { - top: string; - right: string; - bottom: string; - left: string; - } | null; }; export type FontInputBlock = { From efcf755dd1b0b5c2937e989445458f0e4dd992a6 Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Mon, 22 Jul 2024 17:40:38 +0200 Subject: [PATCH 118/327] feat(AppBridgeTheme): added list of enabled features to context (#1066) * feat(AppBridgeTheme): added list of enabled features to context * Create twelve-keys-begin.md --- .changeset/twelve-keys-begin.md | 6 ++++++ packages/app-bridge-theme/src/types/Context.ts | 1 + 2 files changed, 7 insertions(+) create mode 100644 .changeset/twelve-keys-begin.md diff --git a/.changeset/twelve-keys-begin.md b/.changeset/twelve-keys-begin.md new file mode 100644 index 000000000..5833dee06 --- /dev/null +++ b/.changeset/twelve-keys-begin.md @@ -0,0 +1,6 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat(AppBridgeTheme): added command to open/close AiBrandAssistant dialog +feat(AppBridgeTheme): added list of enabled features to context diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index c31fde485..38bd3ee94 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -30,6 +30,7 @@ export type Context = { portalToken: string | null; currentLanguage: string; defaultLanguage: string; + enabledFeatures: string[]; isEditing: boolean; isPublicLink: boolean; isAuthenticated: boolean; From 307488cffb2e139bd1f4ee85e979d2f0c545f86d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 05:58:46 +0000 Subject: [PATCH 119/327] chore: release packages (alpha) (#1065) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 7 +++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index fbafac5d9..550451043 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -65,6 +65,7 @@ "thirty-pears-lay", "tough-nails-shout", "tricky-boats-sip", + "twelve-keys-begin", "warm-hounds-refuse", "wild-bags-judge", "witty-rivers-smile", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 0c104ff42..702fd5d69 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.14 + +### Patch Changes + +- [#1066](https://github.com/Frontify/brand-sdk/pull/1066) [`efcf755`](https://github.com/Frontify/brand-sdk/commit/efcf755dd1b0b5c2937e989445458f0e4dd992a6) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - feat(AppBridgeTheme): added command to open/close AiBrandAssistant dialog + feat(AppBridgeTheme): added list of enabled features to context + ## 0.0.0-alpha.13 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 5305103a8..8cdea2439 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.13", + "version": "0.0.0-alpha.14", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 85f33ad945e8b1b59a289b1eb884f343a952116b Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Thu, 25 Jul 2024 13:56:55 +0200 Subject: [PATCH 120/327] feat: add useEnabledFeatures (#1073) * feat: add useEnabledFeatures * Create soft-mugs-peel.md --- .changeset/soft-mugs-peel.md | 5 ++ .../src/react/useEnabledFeatures.spec.ts | 84 +++++++++++++++++++ .../src/react/useEnabledFeatures.ts | 12 +++ 3 files changed, 101 insertions(+) create mode 100644 .changeset/soft-mugs-peel.md create mode 100644 packages/app-bridge-theme/src/react/useEnabledFeatures.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useEnabledFeatures.ts diff --git a/.changeset/soft-mugs-peel.md b/.changeset/soft-mugs-peel.md new file mode 100644 index 000000000..b0a7bc5ef --- /dev/null +++ b/.changeset/soft-mugs-peel.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: add useEnabledFeatures diff --git a/packages/app-bridge-theme/src/react/useEnabledFeatures.spec.ts b/packages/app-bridge-theme/src/react/useEnabledFeatures.spec.ts new file mode 100644 index 000000000..0d3b96d03 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useEnabledFeatures.spec.ts @@ -0,0 +1,84 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useEnabledFeatures } from './useEnabledFeatures'; + +const INITIAL_ENABLED_FEATURES: string[] = []; +const UPDATED_ENABLED_FEATURES = ['feature1', 'feature2']; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(INITIAL_ENABLED_FEATURES), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useEnabledFeatures', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with enabledFeatures', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useEnabledFeatures(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('enabledFeatures'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useEnabledFeatures(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial enabled features', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useEnabledFeatures(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_ENABLED_FEATURES); + }); + + it('should update the enabled features on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useEnabledFeatures(appBridgeTheme)); + + expect(result.current).toEqual(INITIAL_ENABLED_FEATURES); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_ENABLED_FEATURES); + stubs.subscribeStub.mock.calls[0][0](UPDATED_ENABLED_FEATURES); + } + }); + + expect(result.current).toEqual(UPDATED_ENABLED_FEATURES); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useEnabledFeatures(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useEnabledFeatures.ts b/packages/app-bridge-theme/src/react/useEnabledFeatures.ts new file mode 100644 index 000000000..28372e980 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useEnabledFeatures.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +export const useEnabledFeatures = (appBridge: AppBridgeTheme) => { + return useSyncExternalStore( + appBridge.context('enabledFeatures').subscribe, + appBridge.context('enabledFeatures').get, + ); +}; From 3b6fe0b600f5fa7e3607958bfec25a5d6c82a6b6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 14:06:07 +0200 Subject: [PATCH 121/327] chore: release packages (alpha) (#1074) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 550451043..be1f6c805 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -56,6 +56,7 @@ "shy-jobs-protect", "smart-suns-type", "smooth-planets-pay", + "soft-mugs-peel", "spicy-books-shout", "stale-hairs-wash", "strong-tools-check", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 702fd5d69..a4c9bb52c 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.15 + +### Patch Changes + +- [#1073](https://github.com/Frontify/brand-sdk/pull/1073) [`85f33ad`](https://github.com/Frontify/brand-sdk/commit/85f33ad945e8b1b59a289b1eb884f343a952116b) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - feat: add useEnabledFeatures + ## 0.0.0-alpha.14 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 8cdea2439..5c7228bc3 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.14", + "version": "0.0.0-alpha.15", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 772ed451a39041e290597230f99de0727cd78b67 Mon Sep 17 00:00:00 2001 From: Oliver Schwendener Date: Thu, 25 Jul 2024 14:35:50 +0200 Subject: [PATCH 122/327] fix: export useEnabledFeatures hook (#1075) * fix: export useEnabledFeatures hook * Create slimy-cats-repeat.md --- .changeset/slimy-cats-repeat.md | 5 +++++ packages/app-bridge-theme/src/react/index.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/slimy-cats-repeat.md diff --git a/.changeset/slimy-cats-repeat.md b/.changeset/slimy-cats-repeat.md new file mode 100644 index 000000000..631a65142 --- /dev/null +++ b/.changeset/slimy-cats-repeat.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +fix: export useEnabledFeatures hook diff --git a/packages/app-bridge-theme/src/react/index.ts b/packages/app-bridge-theme/src/react/index.ts index 9a5dc03b2..b448e7857 100644 --- a/packages/app-bridge-theme/src/react/index.ts +++ b/packages/app-bridge-theme/src/react/index.ts @@ -8,3 +8,4 @@ export * from './useLanguages'; export * from './usePortalNavigation'; export * from './useSettings'; export * from './useTemplateContext'; +export * from './useEnabledFeatures'; From 89d3883e822535e016f34f6ee36dcd28f5a5adeb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Jul 2024 14:45:50 +0200 Subject: [PATCH 123/327] chore: release packages (alpha) (#1076) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index be1f6c805..0849f5df4 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -54,6 +54,7 @@ "shiny-beds-thank", "shiny-poets-enjoy", "shy-jobs-protect", + "slimy-cats-repeat", "smart-suns-type", "smooth-planets-pay", "soft-mugs-peel", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index a4c9bb52c..8d1005320 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.16 + +### Patch Changes + +- [#1075](https://github.com/Frontify/brand-sdk/pull/1075) [`772ed45`](https://github.com/Frontify/brand-sdk/commit/772ed451a39041e290597230f99de0727cd78b67) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: export useEnabledFeatures hook + ## 0.0.0-alpha.15 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 5c7228bc3..c8bd53bc4 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.15", + "version": "0.0.0-alpha.16", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From 80bfe0b296727bd860073793d76431ccf10ea646 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 26 Jul 2024 09:49:17 +0200 Subject: [PATCH 124/327] chore: remove platform Apps from app-bridge (#1071) * chore: cleanup used method * chore: clenaup unused files --- packages/app-bridge/src/AppBridge.ts | 3 +- .../src/AppBridgePlatformApp.spec.ts | 110 ------- .../app-bridge/src/AppBridgePlatformApp.ts | 309 ------------------ .../src/errors/InitializationError.ts | 8 - .../app-bridge/src/errors/ValidationError.ts | 8 - packages/app-bridge/src/errors/index.ts | 2 - packages/app-bridge/src/index.ts | 1 - packages/app-bridge/src/react/index.ts | 1 - .../src/react/usePlatformAppBridge.spec.ts | 33 -- .../src/react/usePlatformAppBridge.ts | 23 -- .../src/registries/api/ApiMethodRegistry.ts | 16 +- .../src/registries/api/CreateAsset.spec.ts | 22 -- .../src/registries/api/CreateAsset.ts | 19 -- .../api/GetAssetResourceInformation.spec.ts | 18 - .../api/GetAssetResourceInformation.ts | 23 -- .../registries/api/GetSecretRequest.spec.ts | 17 - .../src/registries/api/GetSecureRequest.ts | 17 - .../app-bridge/src/registries/api/index.ts | 5 +- .../src/registries/commands/Connection.ts | 3 - .../src/registries/commands/index.ts | 1 - .../src/tests/AppBridgePlatformAppStub.ts | 19 -- packages/app-bridge/src/tests/index.ts | 1 - packages/app-bridge/src/types/Topic.ts | 1 - .../src/utilities/MessageBus.spec.ts | 120 ------- .../app-bridge/src/utilities/MessageBus.ts | 48 --- packages/app-bridge/src/utilities/file.ts | 6 - .../src/utilities/queryParams.spec.ts | 35 -- .../app-bridge/src/utilities/queryParams.ts | 24 -- packages/app-bridge/src/window.d.ts | 2 - 29 files changed, 4 insertions(+), 891 deletions(-) delete mode 100644 packages/app-bridge/src/AppBridgePlatformApp.spec.ts delete mode 100644 packages/app-bridge/src/AppBridgePlatformApp.ts delete mode 100644 packages/app-bridge/src/errors/InitializationError.ts delete mode 100644 packages/app-bridge/src/errors/ValidationError.ts delete mode 100644 packages/app-bridge/src/react/usePlatformAppBridge.spec.ts delete mode 100644 packages/app-bridge/src/react/usePlatformAppBridge.ts delete mode 100644 packages/app-bridge/src/registries/api/CreateAsset.spec.ts delete mode 100644 packages/app-bridge/src/registries/api/CreateAsset.ts delete mode 100644 packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts delete mode 100644 packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts delete mode 100644 packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts delete mode 100644 packages/app-bridge/src/registries/api/GetSecureRequest.ts delete mode 100644 packages/app-bridge/src/registries/commands/Connection.ts delete mode 100644 packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts delete mode 100644 packages/app-bridge/src/utilities/MessageBus.spec.ts delete mode 100644 packages/app-bridge/src/utilities/MessageBus.ts delete mode 100644 packages/app-bridge/src/utilities/queryParams.spec.ts delete mode 100644 packages/app-bridge/src/utilities/queryParams.ts diff --git a/packages/app-bridge/src/AppBridge.ts b/packages/app-bridge/src/AppBridge.ts index 2082d0ddf..f58b922cd 100644 --- a/packages/app-bridge/src/AppBridge.ts +++ b/packages/app-bridge/src/AppBridge.ts @@ -182,7 +182,7 @@ export interface AppBridge< * Sends a command to the Frontify platform. * * @returns A promise that resolves to acknowledge the dispatch. - * The event will be triggered at a later stage and can be subscribed to with {@link AppBridgePlatformApp.subscribe}. + * The event will be triggered at a later stage and can be subscribed to */ dispatch( dispatchHandler: DispatchHandlerParameter, @@ -217,7 +217,6 @@ export interface AppBridge< /** * Subscribes to an event with the given name and callback function. - * The event are fired from {@link AppBridgePlatformApp.dispatch}, {@link AppBridgePlatformApp.state} and {@link AppBridgePlatformApp.context}. * * @returns Function that can be used to unsubscribe from an event. * When called, this function will remove the subscription to the event and prevent any further callbacks from being executed. diff --git a/packages/app-bridge/src/AppBridgePlatformApp.spec.ts b/packages/app-bridge/src/AppBridgePlatformApp.spec.ts deleted file mode 100644 index c9d53db85..000000000 --- a/packages/app-bridge/src/AppBridgePlatformApp.spec.ts +++ /dev/null @@ -1,110 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { AppBridgePlatformApp } from './AppBridgePlatformApp'; -import { InitializationError } from './errors'; -import { openConnection } from './registries'; -import { notify } from './utilities'; - -const TOKEN = 'AjY34F87Dsat^J'; - -describe('AppBridgePlatformApp', () => { - vi.mock('./utilities/subscribe', () => ({ - subscribe: vi.fn().mockResolvedValue({ - statePort: { onmessage: vi.fn() }, - apiPort: { onmessage: vi.fn() }, - context: { parentId: 'parentId-test', connected: true }, - state: { settings: 'settings-test', userState: 'state-test' }, - }), - })); - - vi.mock('./utilities/notify', () => ({ - notify: vi.fn(), - })); - - afterEach(() => { - vi.clearAllMocks(); - }); - - it('should be instantiable', () => { - expect(new AppBridgePlatformApp()).toBeInstanceOf(AppBridgePlatformApp); - }); - - it('should not initialize without a token', async () => { - window.location.search = '?token='; - - const platformApp = new AppBridgePlatformApp(); - - await expect(() => platformApp.dispatch(openConnection())).rejects.toThrow(new InitializationError()); - expect(notify).toHaveBeenCalledTimes(0); - }); - - it('should yield true for Context.connected after dispatch', async () => { - const connected = true; - window.location.search = `?token=${TOKEN}`; - const platformApp = new AppBridgePlatformApp(); - platformApp.subscribe('Context.connected', () => { - expect(connected).toBe(true); - }); - platformApp.dispatch(openConnection()); - }); - - it.skip('should throw an error when api is not initialized', async () => { - window.location.search = `?token=${TOKEN}`; - - const platformApp = new AppBridgePlatformApp(); - expect(() => platformApp.api({ name: 'getCurrentUser' })).throw(); - }); - - it('should return empty state when not inititalized', async () => { - const platformApp = new AppBridgePlatformApp(); - const state = platformApp.state().get(); - expect(state).toEqual({ settings: 'settings-test', userState: 'state-test' }); - }); - - it('should return state after app is initialized', async () => { - window.location.search = `?token=${TOKEN}`; - const platformApp = new AppBridgePlatformApp(); - platformApp.subscribe('Context.connected', (connected) => { - const state = platformApp.state().get(); - - expect(connected).toBe(true); - expect(state).toEqual({ settings: 'settings-test' }); - }); - platformApp.dispatch(openConnection()); - }); - - it('should yield true for Context.connected after dispatch', async () => { - window.location.search = `?token=${TOKEN}`; - const platformApp = new AppBridgePlatformApp(); - platformApp.subscribe('Context.connected', (connected) => { - const context = platformApp.context().get(); - const parentId = platformApp.context('parentId').get(); - - expect(connected).toBe(true); - expect(context).toEqual({ parentId: 'parentId-test', connected: true }); - expect(parentId).toEqual('parentId-test'); - }); - platformApp.dispatch(openConnection()); - }); - - it('should return correct object when subscribing to context', async () => { - window.location.search = `?token=${TOKEN}`; - const platformApp = new AppBridgePlatformApp(); - platformApp.context().subscribe((context) => { - expect({ parentId: 'parentId-test', connected: true }).toStrictEqual(context); - }); - platformApp.dispatch(openConnection()); - }); - - it('should return correct object when subscribing to context', async () => { - window.location.search = `?token=${TOKEN}`; - const platformApp = new AppBridgePlatformApp(); - platformApp.context().subscribe((context) => { - expect({ parentId: 'parentId-test', connected: true }).toStrictEqual(context); - platformApp.dispatch(openConnection()); - }); - platformApp.dispatch(openConnection()); - }); -}); diff --git a/packages/app-bridge/src/AppBridgePlatformApp.ts b/packages/app-bridge/src/AppBridgePlatformApp.ts deleted file mode 100644 index 9726341cb..000000000 --- a/packages/app-bridge/src/AppBridgePlatformApp.ts +++ /dev/null @@ -1,309 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - type ApiHandlerParameter, - type ApiMethodNameValidator, - type ApiReturn, - type AppBridge, - type CommandNameValidator, - type ContextAsEventName, - type ContextReturn, - type DispatchHandlerParameter, - type EventCallbackParameter, - type EventNameParameter, - type EventNameValidator, - type EventUnsubscribeFunction, - type StateAsEventName, - type StateReturn, - type SubscribeMap, -} from './AppBridge'; -import { InitializationError } from './errors'; -import { type ApiMethodRegistry, openConnection } from './registries'; -import { Topic } from './types'; -import { generateRandomString, notify, subscribe } from './utilities'; -import { ErrorMessageBus, type IMessageBus, MessageBus } from './utilities/MessageBus'; -import { getQueryParameters } from './utilities/queryParams'; - -export type PlatformAppApiMethod = ApiMethodNameValidator< - Pick ->; - -export type PlatformAppCommandRegistry = CommandNameValidator<{ - openConnection: void; -}>; - -export type PlatformAppCommand = CommandNameValidator>; - -export type PlatformAppState = { - settings: Record; - userState: Record; -}; - -type InitializeEvent = { - apiPort: MessagePort; - statePort: MessagePort; - context: PlatformAppContext; - state: PlatformAppState; -}; - -type AppBaseProps = { - token: string; - marketplaceServiceAppId: string; - connected: boolean; - brandId: number; - domain: string; - parentId: string; -}; - -export type AssetActionContext = { - surface: 'assetAction'; - assetId: string; -} & AppBaseProps; - -export type AssetCreationContext = { - surface: 'assetCreation'; -} & AppBaseProps; - -export type PlatformAppContext = AssetActionContext | AssetCreationContext; - -export type PlatformAppEvent = EventNameValidator< - StateAsEventName & - ContextAsEventName ->; - -export class AppBridgePlatformApp implements IAppBridgePlatformApp { - private apiMessageBus: IMessageBus = new ErrorMessageBus(); - private stateMessageBus: IMessageBus = new ErrorMessageBus(); - private initialized: boolean = false; - private localContext?: PlatformAppContext; - private localState: PlatformAppState = { settings: {}, userState: {} }; - private maxRetries: number = 5; - - private readonly subscribeMap: SubscribeMap = { - 'State.*': new Map(), - 'State.settings': new Map(), - 'State.userState': new Map(), - 'Context.*': new Map(), - 'Context.marketplaceServiceAppId': new Map(), - 'Context.token': new Map(), - 'Context.assetId': new Map(), - 'Context.brandId': new Map(), - 'Context.parentId': new Map(), - 'Context.domain': new Map(), - 'Context.surface': new Map(), - 'Context.connected': new Map(), - }; - - constructor() { - if (window.appBridgePlatformApp) { - return window.appBridgePlatformApp; - } - - window.appBridgePlatformApp = this; - } - - api( - apiHandler: ApiHandlerParameter, - ): ApiReturn { - return this.apiMessageBus.post({ - parameter: apiHandler, - }) as ApiReturn; - } - - private guardForInitialization() { - const initialContext = getQueryParameters(window.location.href); - if (!initialContext.token) { - throw new InitializationError(); - } - return this.initialized; - } - - async dispatch( - dispatchHandler: DispatchHandlerParameter, - ): Promise { - if (dispatchHandler.name === openConnection().name) { - if (this.guardForInitialization()) { - return; - } - - const checksum = generateRandomString(); - - notify(Topic.Init, checksum, { - token: getQueryParameters(window.location.href).token, - appBridgeVersion: 'v4', - }); - - await this.attemptSubscription(1, checksum); - } - } - - private async attemptSubscription(attempt: number, checksum: string): Promise { - try { - const { statePort, apiPort, context, state } = await subscribe(Topic.Init, checksum); - - this.apiMessageBus = new MessageBus(apiPort); - this.stateMessageBus = new MessageBus(statePort); - - statePort.onmessage = (event: MessageEvent<{ token: string; message: Record }>) => { - this.onStateChangeListener(event); - }; - - this.localContext = context; - this.localState = state; - this.initialized = true; - - this.callSubscribedTopic('Context.connected', [true, false]); - this.callSubscribedTopic('Context.*', [this.localContext, this.localContext]); - this.callSubscribedTopic('State.*', [this.localState, this.localState]); - } catch (error) { - if (attempt < this.maxRetries) { - await this.attemptSubscription(attempt + 1, checksum); - } else { - console.error('Could not connect to the platform.'); - } - } - } - - context(key?: void): ContextReturn; - context(key?: Key): ContextReturn; - context(key?: keyof PlatformAppContext | void): unknown { - if (typeof key === 'undefined') { - return { - get: () => this.localContext, - subscribe: ( - callback: (nextContext: PlatformAppContext, previousContext: PlatformAppContext) => void, - ) => { - return this.subscribe('Context.*', callback); - }, - }; - } - return { - get: () => (this.localContext ? this.localContext[key] : {}), - subscribe: ( - callback: (nextContext: PlatformAppContext[Key], previousContext: PlatformAppContext[Key]) => void, - ) => { - // @ts-expect-error typing is correct, but TS doesn't like it - return this.subscribe(`Context.${key}`, callback); - }, - }; - } - - private async setInternalState( - state: Promise, - key?: keyof PlatformAppState | void, - ): Promise { - const prevState = this.localState; - this.localState = await state; - if (key) { - this.callSubscribedTopic(`State.${key}`, [this.localState, prevState]); - } else { - this.callSubscribedTopic('State.*', [this.localState, prevState]); - } - } - - state(): StateReturn; - state(key: Key): StateReturn; - state(key?: keyof PlatformAppState | void): unknown { - if (typeof key === 'undefined') { - return { - get: () => this.localState, - set: (nextState: PlatformAppState) => { - const newState = this.stateMessageBus.post({ - parameter: { nextState }, - }) as Promise; - this.setInternalState(newState); - }, - subscribe: (callback: (nextState: PlatformAppState, previousState: PlatformAppState) => void) => { - return this.subscribe('State.*', callback); - }, - }; - } - - return { - get: () => this.localState[key], - set: (nextState: PlatformAppState[Key]) => { - const newState = this.stateMessageBus.post({ - parameter: { key, nextState }, - }) as Promise; - - this.setInternalState(newState, key); - }, - subscribe: (callback: (nextState: PlatformAppState[Key], previousState: PlatformAppState[Key]) => void) => { - return this.subscribe(`State.${key}`, callback); - }, - }; - } - - subscribe( - eventName: EventNameParameter, - callback: EventCallbackParameter, - ): EventUnsubscribeFunction { - if (!(eventName in this.subscribeMap)) { - this.subscribeMap[eventName] = new Map(); - } - - this.subscribeMap[eventName].set(callback, true); - - return () => { - this.subscribeMap[eventName].delete(callback); - }; - } - - callSubscribedTopic( - eventName: EventNameParameter, - callbackParameters: PlatformAppEvent[EventName], - ) { - const callbackMap = this.subscribeMap[eventName]; - if (callbackMap && callbackMap?.size !== undefined) { - for (const [callback] of callbackMap.entries()) { - // @ts-expect-error if there are multiple parameters, we spread them in the callback call - callback(...(Array.isArray(callbackParameters) ? callbackParameters : [callbackParameters])); - } - } - } - - private onStateChangeListener(event: MessageEvent<{ token: string; message: Record }>) { - const { token } = event.data; - - if (token === 'DEV_UPDATE_STATE' && 'settings' in event.data.message && 'userState' in event.data.message) { - const message = event.data.message as PlatformAppState; - - this.callSubscribedTopic('State.*', [message, this.localState]); - this.callSubscribedTopic('State.settings', [message.settings, this.localState.settings]); - this.callSubscribedTopic('State.userState', [message.userState, this.localState.userState]); - - this.localState = message; - } - } -} - -export interface IAppBridgePlatformApp< - State extends PlatformAppState = PlatformAppState, - Context extends PlatformAppContext = PlatformAppContext, - Event extends PlatformAppEvent = PlatformAppEvent, -> extends AppBridge { - api( - apiHandler: ApiHandlerParameter, - ): ApiReturn; - - dispatch( - dispatchHandler: DispatchHandlerParameter, - ): Promise; - - state(): StateReturn; - - state(key: Key): StateReturn; - - state(key?: keyof State | void): unknown; - - context(): ContextReturn; - - context(key: Key): ContextReturn; - - context(key?: keyof Context | void): unknown; - - subscribe( - eventName: EventNameParameter, - callback: EventCallbackParameter, - ): EventUnsubscribeFunction; -} diff --git a/packages/app-bridge/src/errors/InitializationError.ts b/packages/app-bridge/src/errors/InitializationError.ts deleted file mode 100644 index 2cfbf5bc8..000000000 --- a/packages/app-bridge/src/errors/InitializationError.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export class InitializationError extends Error { - constructor(message?: string) { - super(`Initialization failed. ${message}`); - this.name = 'InitializationError'; - } -} diff --git a/packages/app-bridge/src/errors/ValidationError.ts b/packages/app-bridge/src/errors/ValidationError.ts deleted file mode 100644 index 3872fcb12..000000000 --- a/packages/app-bridge/src/errors/ValidationError.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export class ValidationError extends Error { - constructor(message?: string) { - super(`Validation failed. ${message}`); - this.name = 'ValidationError'; - } -} diff --git a/packages/app-bridge/src/errors/index.ts b/packages/app-bridge/src/errors/index.ts index d90f172b4..4c69461f7 100644 --- a/packages/app-bridge/src/errors/index.ts +++ b/packages/app-bridge/src/errors/index.ts @@ -1,7 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './HttpClientError'; -export * from './InitializationError'; export * from './NotifyError'; export * from './TimeoutReachedError'; -export * from './ValidationError'; diff --git a/packages/app-bridge/src/index.ts b/packages/app-bridge/src/index.ts index d2022f0d7..52f015459 100644 --- a/packages/app-bridge/src/index.ts +++ b/packages/app-bridge/src/index.ts @@ -7,7 +7,6 @@ enableMapSet(); export * from './AppBridge'; export * from './AppBridgeBlock'; export * from './AppBridgeCreateAsset'; -export * from './AppBridgePlatformApp'; export * from './AppBridgeTheme'; export * from './errors'; export * from './helpers'; diff --git a/packages/app-bridge/src/react/index.ts b/packages/app-bridge/src/react/index.ts index 11220d580..d1e386ae7 100644 --- a/packages/app-bridge/src/react/index.ts +++ b/packages/app-bridge/src/react/index.ts @@ -26,7 +26,6 @@ export * from './useGuidelineActions'; export * from './useLanguage'; export * from './useNavigationManager'; export * from './usePageTemplateSettings'; -export * from './usePlatformAppBridge'; export * from './usePrivacySettings'; export * from './useReadyForPrint'; export * from './useTemplateAssets'; diff --git a/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts b/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts deleted file mode 100644 index 5899eb14b..000000000 --- a/packages/app-bridge/src/react/usePlatformAppBridge.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook } from '@testing-library/react'; -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { usePlatformAppBridge } from './usePlatformAppBridge'; - -describe('usePlatformAppBridge', () => { - const TOKEN = 'AjY34F87Dsat^J'; - - window.location.search = `?token=${TOKEN}`; - vi.mock('../utilities/subscribe', () => ({ - subscribe: vi.fn().mockResolvedValue({ - statePort: { onmessage: vi.fn() }, - apiPort: { onmessage: vi.fn() }, - context: { parentId: 'parentId-test', connected: true }, - state: { settings: 'settings-test', userState: 'test' }, - }), - })); - - vi.mock('../utilities/notify', () => ({ - notify: vi.fn(), - })); - - afterEach(() => { - vi.clearAllMocks(); - }); - - it('should return undefined platformApp if not initiated', async () => { - const { result } = renderHook(() => usePlatformAppBridge()); - expect(result.current).toBeUndefined(); - }); -}); diff --git a/packages/app-bridge/src/react/usePlatformAppBridge.ts b/packages/app-bridge/src/react/usePlatformAppBridge.ts deleted file mode 100644 index f5d1dfada..000000000 --- a/packages/app-bridge/src/react/usePlatformAppBridge.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { AppBridgePlatformApp } from '../AppBridgePlatformApp'; - -/** - * @deprecated Use new AppBridgePlatformApp() directly in code. This hook is not needed anymore - */ -export const usePlatformAppBridge = () => { - const [platformAppBridge, setPlatformAppBridge] = useState(); - - useEffect(() => { - (async () => { - const appBridge = new AppBridgePlatformApp(); - appBridge.subscribe('Context.connected', () => { - setPlatformAppBridge(appBridge); - }); - appBridge.dispatch({ name: 'openConnection' }); - })(); - }, []); - return platformAppBridge; -}; diff --git a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts index b5cd82bcd..7014be767 100644 --- a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts +++ b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts @@ -2,40 +2,28 @@ import { type ApiMethodNameValidator } from '../../AppBridge'; -import { type CreateAssetPayload, type CreateAssetResponse } from './CreateAsset'; import { type GetAssetBulkDownloadTokenPayload, type GetAssetBulkDownloadTokenResponse, } from './GetAssetBulkDownloadToken'; -import { - type GetAssetResourceInformationPayload, - type GetAssetResourceInformationResponse, -} from './GetAssetResourceInformation'; -import { type GetCurrentUserPayload, type GetCurrentUserResponse } from './GetCurrentUser'; +import { type GetCurrentUserPayload, type GetCurrentUserResponse } from './GetCurrentUser.ts'; import { type GetDocumentNavigationPayload, type GetDocumentNavigationResponse } from './GetDocumentNavigation'; import { type GetPortalNavigationResponse } from './GetPortalNavigation'; -import { type GetSecureRequestPayload, type GetSecureRequestResponse } from './GetSecureRequest.ts'; import { type SetAssetIdsByBlockAssetKeyPayload, type SetAssetIdsByBlockAssetKeyResponse, } from './SetAssetIdsByBlockAssetKey'; export type ApiMethodRegistry = ApiMethodNameValidator<{ + getCurrentUser: { payload: GetCurrentUserPayload; response: GetCurrentUserResponse }; getAssetBulkDownloadToken: { payload: GetAssetBulkDownloadTokenPayload; response: GetAssetBulkDownloadTokenResponse; }; - getCurrentUser: { payload: GetCurrentUserPayload; response: GetCurrentUserResponse }; - createAsset: { payload: CreateAssetPayload; response: CreateAssetResponse }; - getAssetResourceInformation: { - payload: GetAssetResourceInformationPayload; - response: GetAssetResourceInformationResponse; - }; setAssetIdsByBlockAssetKey: { payload: SetAssetIdsByBlockAssetKeyPayload; response: SetAssetIdsByBlockAssetKeyResponse; }; - getSecureRequest: { payload: GetSecureRequestPayload; response: GetSecureRequestResponse }; getDocumentNavigation: { payload: GetDocumentNavigationPayload; response: GetDocumentNavigationResponse }; getPortalNavigation: { payload: void; response: GetPortalNavigationResponse }; }>; diff --git a/packages/app-bridge/src/registries/api/CreateAsset.spec.ts b/packages/app-bridge/src/registries/api/CreateAsset.spec.ts deleted file mode 100644 index c3c26abe6..000000000 --- a/packages/app-bridge/src/registries/api/CreateAsset.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { createAsset } from './CreateAsset'; - -describe('CreateAsset', () => { - it('should return correct method name and payload', () => { - const TEST_DATA = 'test'; - const payload = { - data: TEST_DATA, - filename: TEST_DATA, - parentId: TEST_DATA, - description: TEST_DATA, - externalId: TEST_DATA, - tags: [{ value: TEST_DATA }], - }; - const currentUser = createAsset(payload); - expect(currentUser.name).toBe('createAsset'); - expect(currentUser.payload).toBe(payload); - }); -}); diff --git a/packages/app-bridge/src/registries/api/CreateAsset.ts b/packages/app-bridge/src/registries/api/CreateAsset.ts deleted file mode 100644 index 9bfb8a445..000000000 --- a/packages/app-bridge/src/registries/api/CreateAsset.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type CreateAssetPayload = { - data: File | Blob | string; - filename: string; - parentId?: string; - description?: string; - externalId?: string; - tags?: { value: string }[]; -}; - -export type CreateAssetResponse = { - assetId: string; -}; - -export const createAsset = (payload: CreateAssetPayload): { name: 'createAsset'; payload: CreateAssetPayload } => ({ - name: 'createAsset', - payload, -}); diff --git a/packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts b/packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts deleted file mode 100644 index 3e2788fae..000000000 --- a/packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { getAssetResourceInformation } from './GetAssetResourceInformation'; - -describe('GetAssetResourceInformation', () => { - it('should return correct method name', () => { - const TEST_ID = 'test-123'; - const assetResourceInformation = getAssetResourceInformation({ - assetId: TEST_ID, - }); - expect(assetResourceInformation.name).toBe('getAssetResourceInformation'); - expect(assetResourceInformation.payload).toStrictEqual({ - assetId: TEST_ID, - }); - }); -}); diff --git a/packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts b/packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts deleted file mode 100644 index ecfa5e9bb..000000000 --- a/packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type GetAssetResourceInformationPayload = { - assetId: string; -}; - -export type GetAssetResourceInformationResponse = { - type: string; - id: string; - title?: string; - previewUrl?: string; - downloadUrl?: string; - filename?: string | null; - sourceUrl?: string; - html?: string; -}; - -export const getAssetResourceInformation = ( - payload: GetAssetResourceInformationPayload, -): { name: 'getAssetResourceInformation'; payload: GetAssetResourceInformationPayload } => ({ - name: 'getAssetResourceInformation', - payload, -}); diff --git a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts b/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts deleted file mode 100644 index 2a424fb40..000000000 --- a/packages/app-bridge/src/registries/api/GetSecretRequest.spec.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { getSecureRequest } from './GetSecureRequest'; - -describe('GetSecureRequest', () => { - it('should return correct method name', () => { - const TEST_ID = 'user-api'; - const secureRequest = getSecureRequest({ endpoint: TEST_ID, requestParams: 'data' }); - expect(secureRequest.name).toBe('getSecureRequest'); - expect(secureRequest.payload).toStrictEqual({ - endpoint: TEST_ID, - requestParams: 'data', - }); - }); -}); diff --git a/packages/app-bridge/src/registries/api/GetSecureRequest.ts b/packages/app-bridge/src/registries/api/GetSecureRequest.ts deleted file mode 100644 index 553e18cff..000000000 --- a/packages/app-bridge/src/registries/api/GetSecureRequest.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type GetSecureRequestPayload = { - endpoint: string; - requestParams: unknown; -}; - -export type GetSecureRequestResponse = { - data: unknown; - statusText: string; - status: string; -}; - -export const getSecureRequest = (payload: GetSecureRequestPayload) => ({ - name: 'getSecureRequest', - payload, -}); diff --git a/packages/app-bridge/src/registries/api/index.ts b/packages/app-bridge/src/registries/api/index.ts index 45e961473..af80031b5 100644 --- a/packages/app-bridge/src/registries/api/index.ts +++ b/packages/app-bridge/src/registries/api/index.ts @@ -2,10 +2,7 @@ export * from './ApiMethodRegistry'; export * from './GetAssetBulkDownloadToken'; -export * from './CreateAsset'; -export * from './GetAssetResourceInformation'; -export * from './GetCurrentUser'; export * from './SetAssetIdsByBlockAssetKey'; -export * from './GetSecureRequest'; export * from './GetDocumentNavigation'; export * from './GetPortalNavigation'; +export * from './GetCurrentUser'; diff --git a/packages/app-bridge/src/registries/commands/Connection.ts b/packages/app-bridge/src/registries/commands/Connection.ts deleted file mode 100644 index 89919daa8..000000000 --- a/packages/app-bridge/src/registries/commands/Connection.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export const openConnection = (): { name: 'openConnection' } => ({ name: 'openConnection' }); diff --git a/packages/app-bridge/src/registries/commands/index.ts b/packages/app-bridge/src/registries/commands/index.ts index d1e78f8e6..902e73e3b 100644 --- a/packages/app-bridge/src/registries/commands/index.ts +++ b/packages/app-bridge/src/registries/commands/index.ts @@ -3,7 +3,6 @@ export * from './AssetChooser'; export * from './AssetViewer'; export * from './CommandRegistry'; -export * from './Connection'; export * from './DownloadAsset'; export * from './NavigationManager'; export * from './NewPublication'; diff --git a/packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts b/packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts deleted file mode 100644 index c2c3cf5b0..000000000 --- a/packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type SinonStubbedInstance, stub } from 'sinon'; - -import { type IAppBridgePlatformApp } from '../AppBridgePlatformApp'; - -export type getAppBridgePlatformAppStubProps = { - // -}; - -export const getAppBridgePlatformAppStub = (): SinonStubbedInstance => { - return { - api: stub>().resolves(), - state: stub>().resolves(), - context: stub>().resolves(), - subscribe: stub>().resolves(), - dispatch: stub>().resolves(), - }; -}; diff --git a/packages/app-bridge/src/tests/index.ts b/packages/app-bridge/src/tests/index.ts index d3a1233ac..4cf181961 100644 --- a/packages/app-bridge/src/tests/index.ts +++ b/packages/app-bridge/src/tests/index.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './AppBridgeBlockStub'; -export * from './AppBridgePlatformAppStub'; export * from './AppBridgeThemeStub'; export * from './AssetApiDummy'; export * from './AssetChooserOptionsDummy'; diff --git a/packages/app-bridge/src/types/Topic.ts b/packages/app-bridge/src/types/Topic.ts index 4f0bf54f6..7d1093b10 100644 --- a/packages/app-bridge/src/types/Topic.ts +++ b/packages/app-bridge/src/types/Topic.ts @@ -11,5 +11,4 @@ export enum Topic { OpenAssetChooser = 'openAssetChooser', PostExternalAssets = 'postExternalAssets', PutAppState = 'putAppState', - Init = 'Init', } diff --git a/packages/app-bridge/src/utilities/MessageBus.spec.ts b/packages/app-bridge/src/utilities/MessageBus.spec.ts deleted file mode 100644 index 7e1831429..000000000 --- a/packages/app-bridge/src/utilities/MessageBus.spec.ts +++ /dev/null @@ -1,120 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it, vi } from 'vitest'; - -import { MessageBus } from './MessageBus'; - -describe('MessageBus', () => { - it('should be instantiable', () => { - const { port1 } = new MessageChannel(); - - const messageBus = new MessageBus(port1); - expect(messageBus).toBeInstanceOf(MessageBus); - }); - - it('should call postMessage from the MessageChannel on post', () => { - const postMessageMock = vi.fn(); - - class PortMock { - postMessage = postMessageMock; - onmessage = vi.fn(); - onmessageerror = vi.fn(); - } - - const messageBus = new MessageBus(new PortMock() as unknown as MessagePort); - messageBus.post({ operation: 'test' }); - expect(postMessageMock).toHaveBeenCalledTimes(1); - }); - - it('should return message from port2', async () => { - const channel = new MessageChannel(); - - const messageBus = new MessageBus(channel.port1); - - const testResponse = 'test-message'; - channel.port2.onmessage = (event) => { - const { token } = event.data; - channel.port2.postMessage({ message: testResponse, token }); - }; - const result = await messageBus.post({ operation: 'test' }); - - expect(result).toEqual(testResponse); - }); - - it('should trigger onmessage error on message sending error', async () => { - const channel = new MessageChannel(); - const messageBus = new MessageBus(channel.port1); - - channel.port1.postMessage = () => { - throw new Error('Simulated message sending error'); - }; - - await expect(() => messageBus.post({ operation: 'test' })).rejects.toThrow(); - }); - - it('should send a token with the channel', async () => { - const channel = new MessageChannel(); - const messageBus = new MessageBus(channel.port1); - - channel.port2.onmessage = (event) => { - expect(event.data.token).toBeDefined(); - }; - - messageBus.post({ operation: 'test' }); - }); - - it('should return a message with a token', async () => { - const channel = new MessageChannel(); - const messageBus = new MessageBus(channel.port1); - - channel.port2.onmessage = (event) => { - const { token } = event.data; - channel.port2.postMessage({ message: 'test-message', token }); - }; - - const response = await messageBus.post({ operation: 'test' }); - expect(response).toBe('test-message'); - }); - - it('should handle multiple messages with their tokens and return correct message', async () => { - const channel = new MessageChannel(); - const messageBus = new MessageBus(channel.port1); - - const message1 = 'test-message-1'; - const message2 = 'test-message-2'; - const message3 = 'test-message-3'; - - channel.port2.onmessage = (event) => { - const { token, message } = event.data; - if (message.operation === 'message1') { - setTimeout(() => { - channel.port2.postMessage({ message: message1, token }); - }, 1); - } else if (message.operation === 'message2') { - setTimeout(() => { - channel.port2.postMessage({ message: message2, token }); - }, 2); - } else if (message.operation === 'message3') { - channel.port2.postMessage({ message: message3, token }); - } - }; - - const response2 = await messageBus.post({ operation: 'message2' }); - const response1 = await messageBus.post({ operation: 'message1' }); - const response3 = await messageBus.post({ operation: 'message3' }); - - const allPromises = await Promise.all([ - messageBus.post({ operation: 'message3' }), - messageBus.post({ operation: 'message1' }), - messageBus.post({ operation: 'message2' }), - ]); - - expect(response1).toBe(message1); - expect(response2).toBe(message2); - expect(response3).toBe(message3); - - expect(allPromises.includes(message1)).toBe(true); - expect(allPromises.includes(message2)).toBe(true); - expect(allPromises.includes(message3)).toBe(true); - }); -}); diff --git a/packages/app-bridge/src/utilities/MessageBus.ts b/packages/app-bridge/src/utilities/MessageBus.ts deleted file mode 100644 index cf7f35265..000000000 --- a/packages/app-bridge/src/utilities/MessageBus.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { InitializationError, TimeoutReachedError } from '../errors'; - -import { generateRandomString } from './hash'; -import { SUBSCRIBE_TIMEOUT } from './subscribe'; - -export interface IMessageBus { - post(message: { parameter: unknown }): unknown; -} - -export class MessageBus implements IMessageBus { - private messageBucket: { - message: unknown; - token: string; - resolve: (value: unknown) => void; - }[] = []; - - constructor(private port: MessagePort) { - this.port.onmessage = (event) => { - const { token } = event.data; - const messageIndex = this.messageBucket.findIndex((item) => item.token === token); - if (messageIndex > -1) { - const message = this.messageBucket.splice(messageIndex, 1)[0]; - message.resolve(event.data.message); - } - }; - } - - public post(message: unknown) { - return new Promise((resolve, reject) => { - const token = generateRandomString(); - - this.messageBucket.push({ message, resolve, token }); - this.port.postMessage({ message, token }); - - setTimeout(() => { - reject(new TimeoutReachedError('operation')); - }, SUBSCRIBE_TIMEOUT * 10); - }); - } -} - -export class ErrorMessageBus implements IMessageBus { - post() { - throw new InitializationError('First use await platformApp.dispatch({ name: "openConnection" })'); - } -} diff --git a/packages/app-bridge/src/utilities/file.ts b/packages/app-bridge/src/utilities/file.ts index a296c8fed..63a246b8d 100644 --- a/packages/app-bridge/src/utilities/file.ts +++ b/packages/app-bridge/src/utilities/file.ts @@ -211,9 +211,3 @@ export const mimeTypes: Record = { [FileExtension.Xyz]: 'chemical/x-xyz', [FileExtension.Zip]: 'application/zip', }; - -export const getMimeType = (filetypes: string[]): string[] => { - return filetypes - .map((filetype) => mimeTypes[filetype as keyof typeof mimeTypes]) - .filter((mimeType) => mimeType !== undefined); -}; diff --git a/packages/app-bridge/src/utilities/queryParams.spec.ts b/packages/app-bridge/src/utilities/queryParams.spec.ts deleted file mode 100644 index 2052bc938..000000000 --- a/packages/app-bridge/src/utilities/queryParams.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { getQueryParameters } from './queryParams'; - -describe('queryParams', () => { - it('should return correct queryParams from url', () => { - expect(getQueryParameters('https://www.frontify.com?foo=bar&baz=qux')).toEqual({ foo: 'bar', baz: 'qux' }); - }); - - it('should return empty object if no queryParams are present', () => { - expect(getQueryParameters('https://www.frontify.com')).toEqual({}); - }); - - it('should return empty object if url is empty', () => { - expect(() => getQueryParameters('')).toThrowError('Validation failed. "" is not a valid url'); - }); - - it('should return empty object if url is undefined', () => { - expect(() => getQueryParameters(undefined as unknown as string)).toThrowError( - 'Validation failed. "undefined" is not a valid url', - ); - }); - - it('should return empty object if url is null', () => { - expect(() => getQueryParameters(null as unknown as string)).toThrowError( - 'Validation failed. "null" is not a valid url', - ); - }); - - it('should return objects of well formed query parameters', () => { - expect(getQueryParameters('https://www.frontify.com?foo=bar&baz')).toEqual({ foo: 'bar', baz: '' }); - }); -}); diff --git a/packages/app-bridge/src/utilities/queryParams.ts b/packages/app-bridge/src/utilities/queryParams.ts deleted file mode 100644 index dbf3936b4..000000000 --- a/packages/app-bridge/src/utilities/queryParams.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { ValidationError } from '../errors/ValidationError'; - -export type QueryParams = { [key: string]: string }; - -export const getQueryParameters = (url: string): QueryParams => { - const paramsToObject = (entries: IterableIterator<[string, string]>) => { - const result: QueryParams = {}; - - for (const [key, value] of entries) { - result[key] = value; - } - - return result; - }; - - try { - const urlObject = new URL(url); - return paramsToObject(urlObject.searchParams.entries()); - } catch { - throw new ValidationError(`"${url}" is not a valid url`); - } -}; diff --git a/packages/app-bridge/src/window.d.ts b/packages/app-bridge/src/window.d.ts index 4337ebad6..4e208e836 100644 --- a/packages/app-bridge/src/window.d.ts +++ b/packages/app-bridge/src/window.d.ts @@ -2,11 +2,9 @@ import type { Emitter } from 'mitt'; import type { EmitterEvents, TerrificComponent, TerrificEvent } from './types'; -import { AppBridgePlatformApp } from './AppBridgePlatformApp.ts'; declare global { interface Window { - appBridgePlatformApp: AppBridgePlatformApp; APPLICATION_CONFIG: { version: string; bugsnagKey: string | null; From 50daaac208bd670f66252b6b3b956e8af3eae9b2 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 26 Jul 2024 10:01:05 +0200 Subject: [PATCH 125/327] chore: fix dev branch (#1077) --- packages/platform-app/package.json | 3 +-- packages/platform-app/src/platformApps.ts | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json index cace5cfd0..213df4989 100644 --- a/packages/platform-app/package.json +++ b/packages/platform-app/package.json @@ -29,7 +29,6 @@ "test:watch": "vitest" }, "peerDependencies": { - "@frontify/app-bridge": "^3.0.0 || ^4.0.0-alpha.0", "react": "^18", "react-dom": "^18" }, @@ -37,7 +36,7 @@ "@frontify/sidebar-settings": "workspace:^" }, "devDependencies": { - "@frontify/app-bridge": "workspace:^", + "@frontify/app-bridge-app": "workspace:^", "@frontify/eslint-config-react": "^0.17.6", "@types/react": "^18.2.75", "eslint": "^8.57.0", diff --git a/packages/platform-app/src/platformApps.ts b/packages/platform-app/src/platformApps.ts index ab49438eb..6f47bad19 100644 --- a/packages/platform-app/src/platformApps.ts +++ b/packages/platform-app/src/platformApps.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type AppBridgePlatformApp } from '@frontify/app-bridge'; +import { type AppBridgePlatformApp } from '@frontify/app-bridge-app'; import { type ChecklistBlock as ChecklistBlockSettings, type ColorInputBlock as ColorInputBlockSettings, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab6a7995e..abbf23dab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -485,9 +485,9 @@ importers: specifier: workspace:^ version: link:../sidebar-settings devDependencies: - '@frontify/app-bridge': + '@frontify/app-bridge-app': specifier: workspace:^ - version: link:../app-bridge + version: link:../app-bridge-app '@frontify/eslint-config-react': specifier: ^0.17.6 version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) @@ -10051,9 +10051,9 @@ snapshots: '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-jsonc: 2.16.0(eslint@8.57.0) eslint-plugin-lodash: 7.4.0(eslint@8.57.0) eslint-plugin-markdown: 4.0.1(eslint@8.57.0) @@ -14424,13 +14424,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 4.3.5(supports-color@8.1.1) enhanced-resolve: 5.17.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.14.0 @@ -14441,14 +14441,14 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: '@typescript-eslint/parser': 7.14.1(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -14458,7 +14458,7 @@ snapshots: eslint: 8.57.0 ignore: 5.3.1 - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -14468,7 +14468,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.14.0 is-glob: 4.0.3 From 78555ee76fbb487cf4a7c0fe3cda419704b35f63 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 26 Jul 2024 10:35:12 +0200 Subject: [PATCH 126/327] chore: add changelog (#1078) --- .changeset/brave-queens-smile.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/brave-queens-smile.md diff --git a/.changeset/brave-queens-smile.md b/.changeset/brave-queens-smile.md new file mode 100644 index 000000000..5aa11b4ab --- /dev/null +++ b/.changeset/brave-queens-smile.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +chore: remove appBridgePlatformApp From 68b6fff26b3275c1595d987f62cf6d5bcd4d5e78 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:51:41 +0200 Subject: [PATCH 127/327] chore: release packages (alpha) (#1079) Co-authored-by: julianiff --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 0849f5df4..f52007cf6 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -12,6 +12,7 @@ }, "changesets": [ "angry-dolphins-fry", + "brave-queens-smile", "brave-queens-work", "calm-candles-wink", "clever-suns-laugh", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index b4cb7ac8f..eb1b0e38f 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.35 + +### Patch Changes + +- [#1078](https://github.com/Frontify/brand-sdk/pull/1078) [`78555ee`](https://github.com/Frontify/brand-sdk/commit/78555ee76fbb487cf4a7c0fe3cda419704b35f63) Thanks [@julianiff](https://github.com/julianiff)! - chore: remove appBridgePlatformApp + ## 4.0.0-alpha.34 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 677477944..c57030981 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.34", + "version": "4.0.0-alpha.35", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 13b9cd6c4e57896c1856c9367d89e2bdb8d7083c Mon Sep 17 00:00:00 2001 From: julianiff Date: Fri, 26 Jul 2024 12:52:50 +0200 Subject: [PATCH 128/327] chore: readd getMimeType --- packages/app-bridge/src/utilities/file.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/app-bridge/src/utilities/file.ts b/packages/app-bridge/src/utilities/file.ts index 63a246b8d..a296c8fed 100644 --- a/packages/app-bridge/src/utilities/file.ts +++ b/packages/app-bridge/src/utilities/file.ts @@ -211,3 +211,9 @@ export const mimeTypes: Record = { [FileExtension.Xyz]: 'chemical/x-xyz', [FileExtension.Zip]: 'application/zip', }; + +export const getMimeType = (filetypes: string[]): string[] => { + return filetypes + .map((filetype) => mimeTypes[filetype as keyof typeof mimeTypes]) + .filter((mimeType) => mimeType !== undefined); +}; From a78218b302929a05616f2d157968aa007cf36115 Mon Sep 17 00:00:00 2001 From: Julian Iff Date: Fri, 26 Jul 2024 12:57:42 +0200 Subject: [PATCH 129/327] Fix: readd method [CU-86956kjxw] (#1080) * chore: readd method * Create nine-roses-sleep.md --- .changeset/nine-roses-sleep.md | 5 +++++ packages/app-bridge/src/utilities/file.ts | 11 +++++------ 2 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 .changeset/nine-roses-sleep.md diff --git a/.changeset/nine-roses-sleep.md b/.changeset/nine-roses-sleep.md new file mode 100644 index 000000000..ff1af532e --- /dev/null +++ b/.changeset/nine-roses-sleep.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +Fix: readd method diff --git a/packages/app-bridge/src/utilities/file.ts b/packages/app-bridge/src/utilities/file.ts index a296c8fed..c318db5b1 100644 --- a/packages/app-bridge/src/utilities/file.ts +++ b/packages/app-bridge/src/utilities/file.ts @@ -2,6 +2,11 @@ import { FileExtension } from '../types/FileExtension'; +export const getMimeType = (filetypes: string[]): string[] => { + return filetypes + .map((filetype) => mimeTypes[filetype as keyof typeof mimeTypes]) + .filter((mimeType) => mimeType !== undefined); +}; export const mimeTypes: Record = { [FileExtension.Aac]: 'audio/aac', [FileExtension.Ac3]: 'audio/ac3', @@ -211,9 +216,3 @@ export const mimeTypes: Record = { [FileExtension.Xyz]: 'chemical/x-xyz', [FileExtension.Zip]: 'application/zip', }; - -export const getMimeType = (filetypes: string[]): string[] => { - return filetypes - .map((filetype) => mimeTypes[filetype as keyof typeof mimeTypes]) - .filter((mimeType) => mimeType !== undefined); -}; From b63888d973ce97c26b71618dea79646cacebdc54 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Jul 2024 13:04:53 +0200 Subject: [PATCH 130/327] chore: release packages (alpha) (#1081) Co-authored-by: julianiff --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index f52007cf6..a392e7ff9 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -41,6 +41,7 @@ "neat-plants-smile", "nervous-walls-repair", "new-zebras-unite", + "nine-roses-sleep", "odd-geckos-end", "orange-jokes-listen", "pink-bugs-behave", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index eb1b0e38f..7a7ff668e 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.36 + +### Patch Changes + +- [#1080](https://github.com/Frontify/brand-sdk/pull/1080) [`a78218b`](https://github.com/Frontify/brand-sdk/commit/a78218b302929a05616f2d157968aa007cf36115) Thanks [@julianiff](https://github.com/julianiff)! - Fix: readd method + ## 4.0.0-alpha.35 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index c57030981..d2a7813c2 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.35", + "version": "4.0.0-alpha.36", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 3335235dc5f107280cac5c57a5008c4c9e2949e1 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Wed, 28 Aug 2024 10:46:36 +0200 Subject: [PATCH 131/327] refactor(themes): add color utilities (#1084) * refactor(themes): get color utilities file * Create eighty-ants-happen.md --- .changeset/eighty-ants-happen.md | 5 +++ packages/app-bridge-theme/src/index.ts | 1 + .../src/utilities/color.spec.ts | 39 +++++++++++++++++++ .../app-bridge-theme/src/utilities/color.ts | 9 +++++ .../app-bridge-theme/src/utilities/index.ts | 3 ++ 5 files changed, 57 insertions(+) create mode 100644 .changeset/eighty-ants-happen.md create mode 100644 packages/app-bridge-theme/src/utilities/color.spec.ts create mode 100644 packages/app-bridge-theme/src/utilities/color.ts create mode 100644 packages/app-bridge-theme/src/utilities/index.ts diff --git a/.changeset/eighty-ants-happen.md b/.changeset/eighty-ants-happen.md new file mode 100644 index 000000000..a0d204c05 --- /dev/null +++ b/.changeset/eighty-ants-happen.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +refactor(themes): add color utilities diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts index 4ad8c9eff..bcf9ae096 100644 --- a/packages/app-bridge-theme/src/index.ts +++ b/packages/app-bridge-theme/src/index.ts @@ -4,3 +4,4 @@ export * from './AppBridgeTheme'; export * from './react'; export * from './registries'; export * from './types'; +export * from './utilities'; diff --git a/packages/app-bridge-theme/src/utilities/color.spec.ts b/packages/app-bridge-theme/src/utilities/color.spec.ts new file mode 100644 index 000000000..504caa867 --- /dev/null +++ b/packages/app-bridge-theme/src/utilities/color.spec.ts @@ -0,0 +1,39 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { rgbObjectToRgbString } from './color'; + +describe('Color', () => { + describe('rgbObjectToRgbString', () => { + it('should return a valid RGB string when given an object with R, G, and B.', () => { + const color = { red: 255, green: 99, blue: 71 }; + expect(rgbObjectToRgbString(color)).toBe('rgb(255, 99, 71)'); + }); + + it('should return a valid RGBA string when given an object with R, G, B, and A.', () => { + const color = { red: 255, green: 99, blue: 71, alpha: 0.5 }; + expect(rgbObjectToRgbString(color)).toBe('rgba(255, 99, 71, 0.5)'); + }); + + it('should return a valid RGB string when given an object with 255 R, G, and B.', () => { + const color = { red: 255, green: 255, blue: 255 }; + expect(rgbObjectToRgbString(color)).toBe('rgb(255, 255, 255)'); + }); + + it('should return a valid RGB string when given an object with 0 R, G, and B.', () => { + const color = { red: 0, green: 0, blue: 0 }; + expect(rgbObjectToRgbString(color)).toBe('rgb(0, 0, 0)'); + }); + + it('should return a valid RGBA string when given an object with 255 R, G, B and a valid A.', () => { + const color = { red: 255, green: 255, blue: 255, alpha: 1 }; + expect(rgbObjectToRgbString(color)).toBe('rgba(255, 255, 255, 1)'); + }); + + it('should return a valid RGBA string when given an object with 0 R, G, B and a valid A.', () => { + const color = { red: 0, green: 0, blue: 0, alpha: 1 }; + expect(rgbObjectToRgbString(color)).toBe('rgba(0, 0, 0, 1)'); + }); + }); +}); diff --git a/packages/app-bridge-theme/src/utilities/color.ts b/packages/app-bridge-theme/src/utilities/color.ts new file mode 100644 index 000000000..0cb0f39f2 --- /dev/null +++ b/packages/app-bridge-theme/src/utilities/color.ts @@ -0,0 +1,9 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export const rgbObjectToRgbString = (color: { red: number; green: number; blue: number; alpha?: number }): string => { + if ('alpha' in color) { + return `rgba(${color.red}, ${color.green}, ${color.blue}, ${color.alpha})`; + } + + return `rgb(${color.red}, ${color.green}, ${color.blue})`; +}; diff --git a/packages/app-bridge-theme/src/utilities/index.ts b/packages/app-bridge-theme/src/utilities/index.ts new file mode 100644 index 000000000..6f3fbde03 --- /dev/null +++ b/packages/app-bridge-theme/src/utilities/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './color'; From b81ba6f1cbc1cc82f91a7e9398285aef346187b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 09:08:06 +0000 Subject: [PATCH 132/327] chore: release packages (alpha) (#1085) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index a392e7ff9..e0cc63a58 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -20,6 +20,7 @@ "curly-pots-scream", "dry-mangos-fix", "early-masks-appear", + "eighty-ants-happen", "eleven-shrimps-jog", "fast-houses-hunt", "few-islands-build", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 8d1005320..181435ce3 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.17 + +### Patch Changes + +- [#1084](https://github.com/Frontify/brand-sdk/pull/1084) [`3335235`](https://github.com/Frontify/brand-sdk/commit/3335235dc5f107280cac5c57a5008c4c9e2949e1) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor(themes): add color utilities + ## 0.0.0-alpha.16 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index c8bd53bc4..ac4e728c2 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.16", + "version": "0.0.0-alpha.17", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { From fc3ee83b7a4dd406c386431d0b72cf9873e9dfed Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Fri, 30 Aug 2024 10:12:53 +0200 Subject: [PATCH 133/327] feat: add guideline-themes package (#1087) * feat: add guideline-themes-settings * config * per PR review * more updates * cleaning * lock * more cleaning * cleaning again... * merge theme.ts into index.ts * update deps * deps * update github action * fixing eslint * Create cyan-cougars-invite.md * rename package * :) --- .changeset/cyan-cougars-invite.md | 5 + ...uideline-themes-continuous-integration.yml | 82 ++++ packages/guideline-themes/.eslintrc.cjs | 58 +++ packages/guideline-themes/.gitignore | 2 + packages/guideline-themes/.prettierrc | 7 + packages/guideline-themes/README.md | 3 + packages/guideline-themes/package.json | 59 +++ packages/guideline-themes/setupTests.ts | 13 + packages/guideline-themes/src/index.ts | 105 +++++ .../src/utilities/color/color.spec.ts | 39 ++ .../src/utilities/color/color.ts | 9 + .../src/utilities/color/index.ts | 3 + .../guideline-themes/src/utilities/index.ts | 4 + .../guideline-themes/src/utilities/merge.ts | 10 + packages/guideline-themes/tsconfig.json | 24 + packages/guideline-themes/tsconfig.node.json | 12 + packages/guideline-themes/vite.config.ts | 58 +++ pnpm-lock.yaml | 427 ++++++++++++++++++ 18 files changed, 920 insertions(+) create mode 100644 .changeset/cyan-cougars-invite.md create mode 100644 .github/workflows/guideline-themes-continuous-integration.yml create mode 100644 packages/guideline-themes/.eslintrc.cjs create mode 100644 packages/guideline-themes/.gitignore create mode 100644 packages/guideline-themes/.prettierrc create mode 100644 packages/guideline-themes/README.md create mode 100644 packages/guideline-themes/package.json create mode 100644 packages/guideline-themes/setupTests.ts create mode 100644 packages/guideline-themes/src/index.ts create mode 100644 packages/guideline-themes/src/utilities/color/color.spec.ts create mode 100644 packages/guideline-themes/src/utilities/color/color.ts create mode 100644 packages/guideline-themes/src/utilities/color/index.ts create mode 100644 packages/guideline-themes/src/utilities/index.ts create mode 100644 packages/guideline-themes/src/utilities/merge.ts create mode 100644 packages/guideline-themes/tsconfig.json create mode 100644 packages/guideline-themes/tsconfig.node.json create mode 100644 packages/guideline-themes/vite.config.ts diff --git a/.changeset/cyan-cougars-invite.md b/.changeset/cyan-cougars-invite.md new file mode 100644 index 000000000..843fe4fb0 --- /dev/null +++ b/.changeset/cyan-cougars-invite.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-themes": patch +--- + +feat: starting guideline-themes package diff --git a/.github/workflows/guideline-themes-continuous-integration.yml b/.github/workflows/guideline-themes-continuous-integration.yml new file mode 100644 index 000000000..88546bf3c --- /dev/null +++ b/.github/workflows/guideline-themes-continuous-integration.yml @@ -0,0 +1,82 @@ +name: Guideline Themes CI + +on: + pull_request: + paths: + - packages/guideline-themes/** + +# Ensures that only one workflow per branch will run at a time. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint-typecheck: + runs-on: ubuntu-latest + timeout-minutes: 10 + + strategy: + fail-fast: false + matrix: + app-bridge-theme-version: ["workspace:^"] + + steps: + - name: Checkout default branch + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Use pnpm + uses: pnpm/action-setup@v3 + with: + run_install: false + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + cache: "pnpm" + + - name: Install npm dependencies + run: pnpm i --frozen-lockfile + + - name: Build @frontify/app-bridge-theme (if workspace) + if: matrix.app-bridge-theme-version == 'workspace:^' + run: pnpm build:app-bridge-theme + + - name: Add app-bridge-theme dependency + run: pnpm add @frontify/app-bridge-theme@${{ matrix.app-bridge-theme-version }} --filter {packages/guideline-themes} + + - name: Typecheck code + run: pnpm --stream --filter {packages/guideline-themes} typecheck + + - name: Lint code + run: pnpm --stream --filter {packages/guideline-themes} lint + + unit-tests: + runs-on: ubuntu-latest + timeout-minutes: 10 + + strategy: + fail-fast: false + + steps: + - name: Checkout current commit + uses: actions/checkout@v4 + + - name: Use pnpm + uses: pnpm/action-setup@v3 + with: + run_install: false + + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Tests + run: pnpm --stream --filter {packages/guideline-themes} test diff --git a/packages/guideline-themes/.eslintrc.cjs b/packages/guideline-themes/.eslintrc.cjs new file mode 100644 index 000000000..04ef1024d --- /dev/null +++ b/packages/guideline-themes/.eslintrc.cjs @@ -0,0 +1,58 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +module.exports = { + root: true, + extends: ['@frontify/eslint-config-react'], + plugins: ['notice'], + settings: { + react: { + version: 'detect', + }, + }, + parserOptions: { + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + sourceType: 'module', + }, + overrides: [ + { + files: ['*.js', '*.ts', '*.tsx'], + rules: { + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + }, + }, + { + files: ['*.ts', '*.tsx', '*.mts', '*.cts'], + rules: { + 'no-prototype-builtins': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-misused-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'warn', + '@typescript-eslint/no-unsafe-call': 'warn', + '@typescript-eslint/no-unsafe-member-access': 'warn', + '@typescript-eslint/no-unsafe-return': 'warn', + '@typescript-eslint/require-await': 'warn', + '@typescript-eslint/await-thenable': 'warn', + '@typescript-eslint/no-unsafe-enum-comparison': 'warn', + '@typescript-eslint/restrict-plus-operands': 'warn', + }, + }, + { + files: ['**/*.md/**/*'], + processor: 'markdown/markdown', + parserOptions: { + project: null, + }, + }, + ], +}; diff --git a/packages/guideline-themes/.gitignore b/packages/guideline-themes/.gitignore new file mode 100644 index 000000000..de4d1f007 --- /dev/null +++ b/packages/guideline-themes/.gitignore @@ -0,0 +1,2 @@ +dist +node_modules diff --git a/packages/guideline-themes/.prettierrc b/packages/guideline-themes/.prettierrc new file mode 100644 index 000000000..9dd9fc632 --- /dev/null +++ b/packages/guideline-themes/.prettierrc @@ -0,0 +1,7 @@ +{ + "singleQuote": true, + "tabWidth": 4, + "printWidth": 120, + "arrowParens": "always", + "endOfLine": "lf" +} diff --git a/packages/guideline-themes/README.md b/packages/guideline-themes/README.md new file mode 100644 index 000000000..bd8b3ccbd --- /dev/null +++ b/packages/guideline-themes/README.md @@ -0,0 +1,3 @@ +# Themes types + +Provides typing for guideline themes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json new file mode 100644 index 000000000..1c4b7c72b --- /dev/null +++ b/packages/guideline-themes/package.json @@ -0,0 +1,59 @@ +{ + "name": "@frontify/guideline-themes", + "type": "module", + "version": "0.0.0", + "description": "Provides types and helpers for the guideline themes development", + "author": "Frontify Developers ", + "repository": { + "type": "git", + "url": "https://github.com/Frontify/brand-sdk", + "directory": "packages/guideline-themes" + }, + "sideEffects": false, + "publishConfig": { + "access": "public" + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "require": "./dist/index.umd.js", + "import": "./dist/index.es.js" + } + }, + "main": "./dist/index.es.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "vite build", + "lint": "eslint .", + "lint:fix": "eslint --fix .", + "prettier": "prettier --check .", + "prettier:fix": "prettier --write .", + "test": "vitest run --silent", + "test:coverage": "vitest --coverage", + "test:watch": "vitest", + "test:ui": "vitest --ui", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@frontify/app-bridge-theme": "workspace:^", + "@frontify/sidebar-settings": "^0.9.20" + }, + "devDependencies": { + "@frontify/eslint-config-react": "0.17.6", + "@types/node": "^18.19.31", + "@types/react": "^18.2.75", + "@vitest/coverage-v8": "^1.4.0", + "@vitest/ui": "^1.4.0", + "eslint": "^8.57.0", + "eslint-plugin-notice": "^0.9.10", + "prettier": "^3.2.5", + "typescript": "^5.4.4", + "vite": "^5.2.10", + "vite-plugin-dts": "^3.8.1", + "vite-plugin-externals": "^0.6.2", + "vitest": "^1.4.0" + } +} diff --git a/packages/guideline-themes/setupTests.ts b/packages/guideline-themes/setupTests.ts new file mode 100644 index 000000000..78bfeb7d6 --- /dev/null +++ b/packages/guideline-themes/setupTests.ts @@ -0,0 +1,13 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { afterEach, vi } from 'vitest'; + +vi.stubGlobal('crypto', { + getRandomValues: vi.fn(), +}); + +afterEach(() => { + vi.restoreAllMocks(); +}); + +globalThis.structuredClone = (data: unknown) => JSON.parse(JSON.stringify(data)); diff --git a/packages/guideline-themes/src/index.ts b/packages/guideline-themes/src/index.ts new file mode 100644 index 000000000..6477abfa7 --- /dev/null +++ b/packages/guideline-themes/src/index.ts @@ -0,0 +1,105 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type AppBridgeTheme, type ThemeTemplate } from '@frontify/app-bridge-theme'; +import { + type AssetInputBlock as AssetInputBlockSidebarSettings, + type BaseBlock as BaseBlockSidebarSettings, + type Bundle as BundleSidebarSettings, + type ChecklistBlock as ChecklistBlockSidebarSettings, + type ChoicesType as ChoicesTypeSidebarSettings, + type ColorInputBlock as ColorInputBlockSidebarSettings, + type DropdownBlock as DropdownBlockSidebarSettings, + type DynamicSettingBlock as DynamicSettingBlockSidebarSettings, + type DynamicSupportedBlock as DynamicSupportedBlockSidebarSettings, + type InputBlock as InputBlockSidebarSettings, + type LegacyAssetInputBlock as LegacyAssetInputBlockSidebarSettings, + type LinkChooserBlock as LinkChooserBlockSidebarSettings, + type MultiInputBlock as MultiInputBlockSidebarSettings, + type NotificationBlock as NotificationBlockSidebarSettings, + type SectionHeadingBlock as SectionHeadingBlockSidebarSettings, + type SegmentedControlsBlock as SegmentedControlsBlockSidebarSettings, + type SettingBlock as SettingBlockSidebarSettings, + type SimpleSettingBlock as SimpleSettingBlockSidebarSettings, + type SwitchBlock as SwitchBlockSidebarSettings, + type TemplateInputBlock as TemplateInputBlockSidebarSettings, + type TextareaBlock as TextareaBlockSidebarSettings, + type ValueOrPromisedValue as ValueOrPromisedValueSidebarSettings, +} from '@frontify/sidebar-settings'; +import { type FC } from 'react'; + +export * from '@frontify/sidebar-settings'; + +export * from './utilities'; + +export type AssetInputBlock = AssetInputBlockSidebarSettings; +export type BaseBlock = BaseBlockSidebarSettings; +export type Bundle = BundleSidebarSettings; +export type ChecklistBlock = ChecklistBlockSidebarSettings; +export type ChoicesType = ChoicesTypeSidebarSettings; +export type ColorInputBlock = ColorInputBlockSidebarSettings; +export type DropdownBlock = DropdownBlockSidebarSettings; +export type DynamicSettingBlock = + DynamicSettingBlockSidebarSettings; +export type DynamicSupportedBlock = DynamicSupportedBlockSidebarSettings; +export type InputBlock = InputBlockSidebarSettings; +export type LegacyAssetInputBlock = LegacyAssetInputBlockSidebarSettings; +export type LinkChooserBlock = LinkChooserBlockSidebarSettings; +export type MultiInputBlock = MultiInputBlockSidebarSettings; +export type NotificationBlock = NotificationBlockSidebarSettings; +export type SectionHeadingBlock = SectionHeadingBlockSidebarSettings; +export type SegmentedControlsBlock = SegmentedControlsBlockSidebarSettings; +export type SettingBlock = SettingBlockSidebarSettings; +export type SimpleSettingBlock = SimpleSettingBlockSidebarSettings; +export type SwitchBlock = SwitchBlockSidebarSettings; +export type TemplateInputBlock = TemplateInputBlockSidebarSettings; +export type TextareaBlock = TextareaBlockSidebarSettings; +export type ValueOrPromisedValue = ValueOrPromisedValueSidebarSettings; + +export type ContentAreaWidthChoice = '1200px' | '1000px' | '800px'; +export type ContentAreaWidthTemplateSettings = { + contentAreaWidthChoice?: ContentAreaWidthChoice; + contentAreaWidthCustom?: string; + contentAreaWidthCustomEnabled?: boolean; +}; +export type ContentAreaPaddingChoice = '25px' | '50px' | '75px'; +export type ContentAreaPaddingTemplateSettings = { + contentAreaPaddingChoice?: ContentAreaPaddingChoice; + contentAreaPaddingCustom?: string; + contentAreaPaddingCustomEnabled?: boolean; +}; +export type ContentAreaAlignmentChoice = 'left' | 'center' | 'right'; +export type ContentAreaAlignmentSetting = { contentAreaAlignmentChoice?: ContentAreaAlignmentChoice }; + +export type ThemeSettingsStructure = Record; +export type ThemeSettingsStructureExport = { [customSectionName: string]: SettingBlock[] }; + +export type ThemeProps = { + appBridge: AppBridgeTheme; + Content: FC; + Footer: FC | null; +}; + +export type ThemeTemplateExport = { + component: FC; + settings: ThemeSettingsStructureExport; +}; + +export type ThemeConfigExport = { + templates: { + cover: { default: ThemeTemplateExport } & Record; + documentPage: { default: ThemeTemplateExport } & Record; + library: { default: ThemeTemplateExport } & Record; + }; + settings: ThemeSettingsStructure; +}; + +/** + * Type helper to make it easier to export a theme, accepts a direct {@link ThemeConfigExport} object. + */ +export const defineTheme = (config: ThemeConfigExport): ThemeConfigExport => config; + +/** + * Type helper to make it easier to export theme's settings structure, accepts a direct {@link ThemeSettingsStructureExport} object. + */ +export const defineSettings = (settingsStructure: ThemeSettingsStructureExport): ThemeSettingsStructureExport => + settingsStructure; diff --git a/packages/guideline-themes/src/utilities/color/color.spec.ts b/packages/guideline-themes/src/utilities/color/color.spec.ts new file mode 100644 index 000000000..504caa867 --- /dev/null +++ b/packages/guideline-themes/src/utilities/color/color.spec.ts @@ -0,0 +1,39 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { describe, expect, it } from 'vitest'; + +import { rgbObjectToRgbString } from './color'; + +describe('Color', () => { + describe('rgbObjectToRgbString', () => { + it('should return a valid RGB string when given an object with R, G, and B.', () => { + const color = { red: 255, green: 99, blue: 71 }; + expect(rgbObjectToRgbString(color)).toBe('rgb(255, 99, 71)'); + }); + + it('should return a valid RGBA string when given an object with R, G, B, and A.', () => { + const color = { red: 255, green: 99, blue: 71, alpha: 0.5 }; + expect(rgbObjectToRgbString(color)).toBe('rgba(255, 99, 71, 0.5)'); + }); + + it('should return a valid RGB string when given an object with 255 R, G, and B.', () => { + const color = { red: 255, green: 255, blue: 255 }; + expect(rgbObjectToRgbString(color)).toBe('rgb(255, 255, 255)'); + }); + + it('should return a valid RGB string when given an object with 0 R, G, and B.', () => { + const color = { red: 0, green: 0, blue: 0 }; + expect(rgbObjectToRgbString(color)).toBe('rgb(0, 0, 0)'); + }); + + it('should return a valid RGBA string when given an object with 255 R, G, B and a valid A.', () => { + const color = { red: 255, green: 255, blue: 255, alpha: 1 }; + expect(rgbObjectToRgbString(color)).toBe('rgba(255, 255, 255, 1)'); + }); + + it('should return a valid RGBA string when given an object with 0 R, G, B and a valid A.', () => { + const color = { red: 0, green: 0, blue: 0, alpha: 1 }; + expect(rgbObjectToRgbString(color)).toBe('rgba(0, 0, 0, 1)'); + }); + }); +}); diff --git a/packages/guideline-themes/src/utilities/color/color.ts b/packages/guideline-themes/src/utilities/color/color.ts new file mode 100644 index 000000000..0cb0f39f2 --- /dev/null +++ b/packages/guideline-themes/src/utilities/color/color.ts @@ -0,0 +1,9 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export const rgbObjectToRgbString = (color: { red: number; green: number; blue: number; alpha?: number }): string => { + if ('alpha' in color) { + return `rgba(${color.red}, ${color.green}, ${color.blue}, ${color.alpha})`; + } + + return `rgb(${color.red}, ${color.green}, ${color.blue})`; +}; diff --git a/packages/guideline-themes/src/utilities/color/index.ts b/packages/guideline-themes/src/utilities/color/index.ts new file mode 100644 index 000000000..6f3fbde03 --- /dev/null +++ b/packages/guideline-themes/src/utilities/color/index.ts @@ -0,0 +1,3 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './color'; diff --git a/packages/guideline-themes/src/utilities/index.ts b/packages/guideline-themes/src/utilities/index.ts new file mode 100644 index 000000000..d52013bdf --- /dev/null +++ b/packages/guideline-themes/src/utilities/index.ts @@ -0,0 +1,4 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +export * from './color'; +export * from './merge'; diff --git a/packages/guideline-themes/src/utilities/merge.ts b/packages/guideline-themes/src/utilities/merge.ts new file mode 100644 index 000000000..ef4aad2c5 --- /dev/null +++ b/packages/guideline-themes/src/utilities/merge.ts @@ -0,0 +1,10 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +/** + * Cleans and joins an array of inputs with possible undefined or boolean values. + * + * @param classNames Array of class names + * @returns Clean string to be used for class name + */ +export const merge = (classNames: (string | undefined | null | boolean)[]): string => + classNames.filter(Boolean).join(' '); diff --git a/packages/guideline-themes/tsconfig.json b/packages/guideline-themes/tsconfig.json new file mode 100644 index 000000000..f0f1cc947 --- /dev/null +++ b/packages/guideline-themes/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2021", + "useDefineForClassFields": true, + "lib": ["ES2021", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": ".", + "types": ["node"] + }, + "include": ["src", "setupTests.ts"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/guideline-themes/tsconfig.node.json b/packages/guideline-themes/tsconfig.node.json new file mode 100644 index 000000000..0e59d96dd --- /dev/null +++ b/packages/guideline-themes/tsconfig.node.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "lib": ["ESNext"], + "target": "ESNext" + }, + "include": [".eslintrc.cjs", "vite.config.ts", "package.json"] +} diff --git a/packages/guideline-themes/vite.config.ts b/packages/guideline-themes/vite.config.ts new file mode 100644 index 000000000..35e00dcbc --- /dev/null +++ b/packages/guideline-themes/vite.config.ts @@ -0,0 +1,58 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { resolve } from 'node:path'; + +import dts from 'vite-plugin-dts'; +import { defineConfig } from 'vitest/config'; + +import { dependencies as dependenciesMap } from './package.json'; + +const dependencies = Object.keys(dependenciesMap); + +export default defineConfig({ + plugins: [dts({ insertTypesEntry: true, rollupTypes: true })], + resolve: { + mainFields: ['module', 'main'], + }, + test: { + environment: 'happy-dom', + deps: { + inline: ['clsx', '@juggle/resize-observer', '@frontify/fondue'], + }, + setupFiles: ['setupTests.ts'], + coverage: { + provider: 'v8', + all: true, + reporter: ['text', 'lcov'], + include: ['src/**/*.ts', 'src/**/*.tsx'], + exclude: ['src/**/test.ts', 'src/**/test.tsx', 'src/**/spec.ts', 'src/**/spec.tsx'], + }, + }, + build: { + lib: { + entry: resolve(__dirname, 'src/index.ts'), + fileName: (format: string) => `[name].${format}.js`, + }, + sourcemap: true, + minify: true, + rollupOptions: { + external: [...dependencies], + output: [ + { + name: 'GuidelineThemes', + format: 'es', + preserveModules: true, + preserveModulesRoot: 'src', + }, + { + name: 'GuidelineThemes', + format: 'umd', + }, + { + name: 'GuidelineThemes', + format: 'cjs', + }, + ], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abbf23dab..67ecc76fb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -479,6 +479,55 @@ importers: specifier: ^1.4.0 version: 1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) + packages/guideline-themes: + dependencies: + '@frontify/app-bridge-theme': + specifier: workspace:^ + version: link:../app-bridge-theme + '@frontify/sidebar-settings': + specifier: ^0.9.20 + version: 0.9.20(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + devDependencies: + '@frontify/eslint-config-react': + specifier: 0.17.6 + version: 0.17.6(eslint@8.57.0)(prettier@3.3.2)(react@18.3.1)(typescript@5.5.2) + '@types/node': + specifier: ^18.19.31 + version: 18.19.39 + '@types/react': + specifier: ^18.2.75 + version: 18.3.3 + '@vitest/coverage-v8': + specifier: ^1.4.0 + version: 1.4.0(vitest@1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1)) + '@vitest/ui': + specifier: ^1.4.0 + version: 1.6.0(vitest@1.6.0) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-plugin-notice: + specifier: ^0.9.10 + version: 0.9.10(eslint@8.57.0) + prettier: + specifier: ^3.2.5 + version: 3.3.2 + typescript: + specifier: ^5.4.4 + version: 5.5.2 + vite: + specifier: ^5.2.10 + version: 5.3.1(@types/node@18.19.39)(terser@5.31.1) + vite-plugin-dts: + specifier: ^3.8.1 + version: 3.9.1(@types/node@18.19.39)(rollup@4.18.0)(typescript@5.5.2)(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) + vite-plugin-externals: + specifier: ^0.6.2 + version: 0.6.2(vite@5.3.1(@types/node@18.19.39)(terser@5.31.1)) + vitest: + specifier: ^1.4.0 + version: 1.6.0(@types/node@18.19.39)(@vitest/ui@1.6.0)(happy-dom@13.10.1)(terser@5.31.1) + packages/platform-app: dependencies: '@frontify/sidebar-settings': @@ -1735,6 +1784,9 @@ packages: '@floating-ui/core@1.6.3': resolution: {integrity: sha512-1ZpCvYf788/ZXOhRQGFxnYQOVgeU+pi0i+d0Ow34La7qjIXETi6RNswGVKkA6KcDO8/+Ysu2E/CeUmmeEBDvTg==} + '@floating-ui/dom@1.6.10': + resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + '@floating-ui/dom@1.6.6': resolution: {integrity: sha512-qiTYajAnh3P+38kECeffMSQgbvXty2VB6rS+42iWR4FPIlZjLK84E9qtLnMTLIpPz2znD/TaFqaiavMUrS+Hcw==} @@ -1765,6 +1817,9 @@ packages: '@floating-ui/utils@0.2.3': resolution: {integrity: sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww==} + '@floating-ui/utils@0.2.7': + resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + '@formatjs/ecma402-abstract@2.0.0': resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} @@ -1801,6 +1856,14 @@ packages: prettier: ^3.0.0 react: ^18.2.0 + '@frontify/fondue-charts@1.8.12': + resolution: {integrity: sha512-3tlY5zEPFAx+XiAo0VvF4hBTe6Npiugm11eTTbfPJGE7ZgF032HMua9LCrPleMtGgTAtLPsgIF5gUa4mkE8B7g==} + engines: {node: '>=18'} + peerDependencies: + '@frontify/fondue-tokens': ^3.5.5 + react: ^18 + react-dom: ^18 + '@frontify/fondue-charts@1.8.5': resolution: {integrity: sha512-2qRghmVyQ/RHT4Rhw7BatnkkA1VUuk6RJi/3aJA1wDnQYHMRRDKowm9TFTVUZ1bTSC0h/hfHFZ6nEruj2DaV1w==} engines: {node: '>=18'} @@ -1818,17 +1881,37 @@ packages: react: ^18 react-dom: ^18 + '@frontify/fondue-components@3.2.0': + resolution: {integrity: sha512-bjpg09Lro6UfujxrtQBiz75SyVPy5b5/wOXMwXFC2cRg1nLIcYYZfJ5fDKT6e2dC2g1w5sfqx4G3fQC/gRdTww==} + engines: {node: '>=18'} + peerDependencies: + '@frontify/fondue-icons': ^0.4.0 + '@frontify/fondue-tokens': ^3.5.5 + react: ^18 + react-dom: ^18 + '@frontify/fondue-icons@0.2.2': resolution: {integrity: sha512-CxcQgwf5gl+IGUVz7svDhTQOSaMkIkaOmkIKuWXoMn1Mnor9+IivpEWalpzEZz5En2nPn2qTfyaAknGxvTKvAQ==} engines: {node: '>=18'} peerDependencies: react: ^18 + '@frontify/fondue-icons@0.4.0': + resolution: {integrity: sha512-SJKaj1pxRXNLgNoHOqKcMepm+fOzyMCaUip9mMpAPOMJv8Uzd1TM+I0tV3jyDpyZw01Z5Q4MgrWjpuG6PeAv2w==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 + '@frontify/fondue-tokens@3.5.2': resolution: {integrity: sha512-rDX0//3KcaE7Tf++42XYlf24m0DexQmnPgnXpqlZBBz/FR/lSULg7aT8EH0onYe2/o/9Le+JwE47EJwVTMpMHw==} peerDependencies: tailwindcss: ^3.0.0 + '@frontify/fondue-tokens@3.5.5': + resolution: {integrity: sha512-qNYpd120yGvCPvgaGzhK+OaDiZ2NzzZ+B7yF6dQjdxp1WbpiAYBiCbtX3t1ZiPcx9ntIssPpTvlseHV8q+J5QQ==} + peerDependencies: + tailwindcss: ^3.0.0 + '@frontify/fondue@12.1.9': resolution: {integrity: sha512-Fgu19h6QvdKzeVAU5PTs/84tl2mLH9TTx/HODHRhz2YWtaIDbw8K2W+BVy6fOjGbdUtE+uinDCkmlOroXMoF+A==} engines: {node: '>=18'} @@ -1836,6 +1919,19 @@ packages: react: ^18 react-dom: ^18 + '@frontify/fondue@12.2.6': + resolution: {integrity: sha512-9GQvAkU3IXhokc3r8P5NEPNORPRHvuszsWDHi9UDduD4iV1hhulEdoeRhmL+FxGQKNy02vynvuK92uCpCG80Lg==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 + react-dom: ^18 + + '@frontify/sidebar-settings@0.9.20': + resolution: {integrity: sha512-4aC3Av1GSTSmCTke4XyQ4D/AVEsSN8846b2rvk5W6hq8gonD5dXAAd/fikX0ysS9J1+Rq9zM/3MWSwMnPdvJBg==} + peerDependencies: + react: ^18 + react-dom: ^18 + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -2018,6 +2114,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-checkbox@1.1.1': + resolution: {integrity: sha512-0i/EKJ222Afa1FE0C6pNJxDq1itzcl3HChE9DwskA4th4KRse8ojx8a1nVcOjwJdbpDLcz7uol77yYnQNMHdKw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-collection@1.1.0': resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} peerDependencies: @@ -2271,6 +2380,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-slider@1.2.0': + resolution: {integrity: sha512-dAHCDA4/ySXROEPaRtaMV5WHL8+JB/DbtyTbJjYkY0RXmKMO2Ln8DFZhywG5/mVQ4WqHDBc8smc14yPXPqZHYA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-slot@1.1.0': resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} peerDependencies: @@ -2280,6 +2402,19 @@ packages: '@types/react': optional: true + '@radix-ui/react-switch@1.1.0': + resolution: {integrity: sha512-OBzy5WAj641k0AOSpKQtreDMe+isX0MQJ1IVyF03ucdF3DunOnROVrjWs8zsXUxC3zfZ6JL9HFVCUlMghz9dJw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-toggle-group@1.1.0': resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==} peerDependencies: @@ -2332,6 +2467,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-tooltip@1.1.2': + resolution: {integrity: sha512-9XRsLwe6Yb9B/tlnYCPVUd/TFS4J7HuOZW345DCeC6vKIxQGMZdx21RK4VoZauPD5frgkXTYVS5y90L+3YBn4w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-use-callback-ref@1.1.0': resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: @@ -7805,6 +7953,15 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwind-merge@2.5.2: + resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} + + tailwind-variants@0.2.1: + resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwindcss: '*' + tailwindcss@3.4.4: resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} @@ -9976,6 +10133,11 @@ snapshots: dependencies: '@floating-ui/utils': 0.2.3 + '@floating-ui/dom@1.6.10': + dependencies: + '@floating-ui/core': 1.6.3 + '@floating-ui/utils': 0.2.7 + '@floating-ui/dom@1.6.6': dependencies: '@floating-ui/core': 1.6.3 @@ -10011,6 +10173,8 @@ snapshots: '@floating-ui/utils@0.2.3': {} + '@floating-ui/utils@0.2.7': {} + '@formatjs/ecma402-abstract@2.0.0': dependencies: '@formatjs/intl-localematcher': 0.5.4 @@ -10087,6 +10251,27 @@ snapshots: - supports-color - typescript + '@frontify/fondue-charts@1.8.12(@frontify/fondue-tokens@3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@frontify/fondue-tokens': 3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@visx/axis': 3.10.1(react@18.3.1) + '@visx/glyph': 3.3.0(react@18.3.1) + '@visx/grid': 3.5.0(react@18.3.1) + '@visx/group': 3.3.0(react@18.3.1) + '@visx/hierarchy': 3.3.0(react@18.3.1) + '@visx/responsive': 3.10.2(react@18.3.1) + '@visx/scale': 3.5.0 + '@visx/shape': 3.5.0(react@18.3.1) + '@visx/text': 3.3.0(react@18.3.1) + '@visx/tooltip': 3.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/xychart': 3.11.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + lodash-es: 4.17.21 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-font-face-observer: 1.2.2(react@18.3.1) + transitivePeerDependencies: + - '@react-spring/web' + '@frontify/fondue-charts@1.8.5(@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(three@0.165.0)(zdog@1.1.3)': dependencies: '@frontify/fondue-tokens': 3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) @@ -10189,10 +10374,42 @@ snapshots: - '@types/react' - '@types/react-dom' + '@frontify/fondue-components@3.2.0(@frontify/fondue-icons@0.4.0(react@18.3.1))(@frontify/fondue-tokens@3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))': + dependencies: + '@frontify/fondue-icons': 0.4.0(react@18.3.1) + '@frontify/fondue-tokens': 3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@radix-ui/react-checkbox': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-progress': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slider': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-switch': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + downshift: 9.0.6(react@18.3.1) + react: 18.3.1 + react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + tailwind-merge: 2.5.2 + tailwind-variants: 0.2.1(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + - tailwindcss + '@frontify/fondue-icons@0.2.2(react@18.3.1)': dependencies: react: 18.3.1 + '@frontify/fondue-icons@0.4.0(react@18.3.1)': + dependencies: + react: 18.3.1 + '@frontify/fondue-tokens@3.5.2(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))': dependencies: tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) @@ -10201,6 +10418,10 @@ snapshots: dependencies: tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + '@frontify/fondue-tokens@3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))': + dependencies: + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) + '@frontify/fondue@12.1.9(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@react-three/fiber@8.16.8(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(three@0.165.0))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react-konva@18.2.10(konva@9.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react-zdog@1.2.2)(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(three@0.165.0)(zdog@1.1.3)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': dependencies: '@ctrl/tinycolor': 4.1.0 @@ -10431,6 +10652,135 @@ snapshots: - zdog - zustand + '@frontify/fondue@12.2.6(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': + dependencies: + '@ctrl/tinycolor': 4.1.0 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@floating-ui/dom': 1.6.10 + '@frontify/fondue-charts': 1.8.12(@frontify/fondue-tokens@3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-components': 3.2.0(@frontify/fondue-icons@0.4.0(react@18.3.1))(@frontify/fondue-tokens@3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@frontify/fondue-icons': 0.4.0(react@18.3.1) + '@frontify/fondue-tokens': 3.5.5(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@popperjs/core': 2.11.8 + '@radix-ui/react-popover': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/aria-modal-polyfill': 3.7.10(react@18.3.1) + '@react-aria/breadcrumbs': 3.5.13(react@18.3.1) + '@react-aria/button': 3.9.5(react@18.3.1) + '@react-aria/checkbox': 3.14.3(react@18.3.1) + '@react-aria/combobox': 3.9.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dialog': 3.5.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.17.1(react@18.3.1) + '@react-aria/interactions': 3.21.3(react@18.3.1) + '@react-aria/link': 3.7.1(react@18.3.1) + '@react-aria/listbox': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/radio': 3.10.4(react@18.3.1) + '@react-aria/select': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/table': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tooltip': 3.7.4(react@18.3.1) + '@react-aria/utils': 3.24.1(react@18.3.1) + '@react-aria/visually-hidden': 3.8.12(react@18.3.1) + '@react-stately/checkbox': 3.6.5(react@18.3.1) + '@react-stately/collections': 3.10.7(react@18.3.1) + '@react-stately/combobox': 3.8.4(react@18.3.1) + '@react-stately/list': 3.10.5(react@18.3.1) + '@react-stately/menu': 3.7.1(react@18.3.1) + '@react-stately/overlays': 3.6.7(react@18.3.1) + '@react-stately/radio': 3.10.4(react@18.3.1) + '@react-stately/select': 3.6.4(react@18.3.1) + '@react-stately/table': 3.11.8(react@18.3.1) + '@react-stately/toggle': 3.7.4(react@18.3.1) + '@react-stately/tooltip': 3.4.9(react@18.3.1) + '@react-stately/tree': 3.8.1(react@18.3.1) + '@react-types/dialog': 3.5.10(react@18.3.1) + '@react-types/shared': 3.23.1(react@18.3.1) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.4.0(patch_hash=qe3otflfq45s3qpehitpsd2wsy)(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 + '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + date-fns: 3.6.0 + escape-html: 1.0.3 + framer-motion: 10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + immer: 10.1.1 + is-hotkey: 0.2.0 + lodash-es: 4.17.21 + react: 18.3.1 + react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dnd: 16.0.1(@types/node@18.19.39)(@types/react@18.3.3)(react@18.3.1) + react-dnd-html5-backend: 16.0.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + react-is: 18.3.1 + react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-textarea-autosize: 8.5.3(@types/react@18.3.3)(react@18.3.1) + remark-gfm: 3.0.1 + remark-parse: 10.0.2 + slate: 0.102.0 + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + unified: 10.1.2 + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - '@react-spring/web' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - react-native + - scheduler + - slate-history + - slate-hyperscript + - supports-color + - tailwindcss + - zustand + + '@frontify/sidebar-settings@0.9.20(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': + dependencies: + '@frontify/fondue': 12.2.6(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@react-spring/web' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - react-native + - scheduler + - slate-history + - slate-hyperscript + - supports-color + - tailwindcss + - zustand + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -10696,6 +11046,22 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-checkbox@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) @@ -10970,6 +11336,25 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-slider@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/number': 1.1.0 + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-slot@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) @@ -10977,6 +11362,21 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 + '@radix-ui/react-switch@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 @@ -11038,6 +11438,26 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-tooltip@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.3)(react@18.3.1)': dependencies: react: 18.3.1 @@ -17930,6 +18350,13 @@ snapshots: tabbable@6.2.0: {} + tailwind-merge@2.5.2: {} + + tailwind-variants@0.2.1(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))): + dependencies: + tailwind-merge: 2.5.2 + tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)) + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)): dependencies: '@alloc/quick-lru': 5.2.0 From 5d3c34da8f34ab0bcfe9992a927ebd23a6f51a19 Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Fri, 30 Aug 2024 10:31:09 +0200 Subject: [PATCH 134/327] feat: update package.json with guideline-themes build scripts (#1090) --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 530a1a9a8..500949ce3 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,13 @@ "private": true, "packageManager": "pnpm@9.1.3+sha512.7c2ea089e1a6af306409c4fc8c4f0897bdac32b772016196c469d9428f1fe2d5a21daf8ad6512762654ac645b5d9136bb210ec9a00afa8dbc4677843ba362ecd", "scripts": { - "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli && pnpm build:app-bridge-theme && pnpm build:app-bridge-app", + "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli && pnpm build:app-bridge-theme && pnpm build:app-bridge-app && pnpm build:guideline-themes", "build:app-bridge": "pnpm --stream --filter {packages/app-bridge} build", "build:app-bridge-theme": "pnpm --stream --filter {packages/app-bridge-theme} build", "build:app-bridge-app": "pnpm --stream --filter {packages/app-bridge-app} build", "build:sidebar-settings": "pnpm --stream --filter {packages/sidebar-settings} build", "build:guideline-blocks-settings": "pnpm --stream --filter {packages/guideline-blocks-settings} build", + "build:guideline-themes": "pnpm --stream --filter {packages/guideline-themes} build", "build:platform-app": "pnpm --stream --filter {packages/platform-app} build", "build:cli": "pnpm --stream --filter {packages/cli} build", "lint": "pnpm --stream --filter {packages/**} --parallel lint --quiet", From 315c0a915d4bced4e0cb7ed2ff651813aa1c438c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 10:32:54 +0200 Subject: [PATCH 135/327] chore: release packages (alpha) (#1089) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 4 +++- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 packages/guideline-themes/CHANGELOG.md diff --git a/.changeset/pre.json b/.changeset/pre.json index e0cc63a58..2a0d798f3 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -8,7 +8,8 @@ "@frontify/sidebar-settings": "0.8.1", "@frontify/platform-app": "0.0.5", "@frontify/app-bridge-theme": "1.0.0-alpha.1", - "@frontify/app-bridge-app": "0.0.5" + "@frontify/app-bridge-app": "0.0.5", + "@frontify/guideline-themes": "0.0.0" }, "changesets": [ "angry-dolphins-fry", @@ -18,6 +19,7 @@ "clever-suns-laugh", "cuddly-pets-hammer", "curly-pots-scream", + "cyan-cougars-invite", "dry-mangos-fix", "early-masks-appear", "eighty-ants-happen", diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md new file mode 100644 index 000000000..948f1ad1c --- /dev/null +++ b/packages/guideline-themes/CHANGELOG.md @@ -0,0 +1,7 @@ +# @frontify/guideline-themes + +## 0.0.1-alpha.0 + +### Patch Changes + +- [#1087](https://github.com/Frontify/brand-sdk/pull/1087) [`fc3ee83`](https://github.com/Frontify/brand-sdk/commit/fc3ee83b7a4dd406c386431d0b72cf9873e9dfed) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: starting guideline-themes package diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 1c4b7c72b..b86eb1ce9 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.0", + "version": "0.0.1-alpha.0", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From a70a9fe0932e1a40c5d4d85e4fdcb3f008947b74 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Mon, 2 Sep 2024 16:32:42 +0200 Subject: [PATCH 136/327] refactor(AppBridgeTheme): remove EventRegistry (#1095) * refactor(AppBridgeTheme): remove EventRegistry * Create twenty-pumas-pump.md --- .changeset/twenty-pumas-pump.md | 5 +++++ .../src/registries/EventRegistry.ts | 7 ------- packages/app-bridge-theme/src/registries/index.ts | 1 - packages/app-bridge-theme/src/types/Event.ts | 13 +++++-------- 4 files changed, 10 insertions(+), 16 deletions(-) create mode 100644 .changeset/twenty-pumas-pump.md delete mode 100644 packages/app-bridge-theme/src/registries/EventRegistry.ts diff --git a/.changeset/twenty-pumas-pump.md b/.changeset/twenty-pumas-pump.md new file mode 100644 index 000000000..f92ebc2d7 --- /dev/null +++ b/.changeset/twenty-pumas-pump.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +refactor(AppBridgeTheme): remove EventRegistry diff --git a/packages/app-bridge-theme/src/registries/EventRegistry.ts b/packages/app-bridge-theme/src/registries/EventRegistry.ts deleted file mode 100644 index 3f541f39d..000000000 --- a/packages/app-bridge-theme/src/registries/EventRegistry.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type Asset, type EventNameValidator } from '../types'; - -export type EventRegistry = EventNameValidator<{ - assetsChosen: { assets: Asset[] }; -}>; diff --git a/packages/app-bridge-theme/src/registries/index.ts b/packages/app-bridge-theme/src/registries/index.ts index 983ed724d..bd3a2d9d4 100644 --- a/packages/app-bridge-theme/src/registries/index.ts +++ b/packages/app-bridge-theme/src/registries/index.ts @@ -1,5 +1,4 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './CommandRegistry'; -export * from './EventRegistry'; export * from './commands'; diff --git a/packages/app-bridge-theme/src/types/Event.ts b/packages/app-bridge-theme/src/types/Event.ts index 3d3dd74b7..f8e9b7539 100644 --- a/packages/app-bridge-theme/src/types/Event.ts +++ b/packages/app-bridge-theme/src/types/Event.ts @@ -2,8 +2,6 @@ import { type Simplify } from 'type-fest'; -import { type EventRegistry } from '../registries'; - import { type ObjectNameValidator, type WrongNamePattern } from './Common'; import { type Context } from './Context'; @@ -21,12 +19,11 @@ type ContextAsEventName = { }; export type AppBridgeThemeEvent = EventNameValidator< - Pick & - ContextAsEventName< - Context & { - '*': Context; - } - > + ContextAsEventName< + Context & { + '*': Context; + } + > >; export type EventNamePattern = { From babd5581bbb8ca45abe70d2f08fcbdaab16cfc0c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 16:45:41 +0200 Subject: [PATCH 137/327] chore: release packages (alpha) (#1097) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 2a0d798f3..543d2693a 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -73,6 +73,7 @@ "tough-nails-shout", "tricky-boats-sip", "twelve-keys-begin", + "twenty-pumas-pump", "warm-hounds-refuse", "wild-bags-judge", "witty-rivers-smile", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 181435ce3..810c99c9a 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.18 + +### Patch Changes + +- [#1095](https://github.com/Frontify/brand-sdk/pull/1095) [`a70a9fe`](https://github.com/Frontify/brand-sdk/commit/a70a9fe0932e1a40c5d4d85e4fdcb3f008947b74) Thanks [@mike85](https://github.com/mike85)! - refactor(AppBridgeTheme): remove EventRegistry + ## 0.0.0-alpha.17 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index ac4e728c2..c6048e1d9 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.17", + "version": "0.0.0-alpha.18", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 948f1ad1c..ed46901d3 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.1 + +### Patch Changes + +- Updated dependencies [[`a70a9fe`](https://github.com/Frontify/brand-sdk/commit/a70a9fe0932e1a40c5d4d85e4fdcb3f008947b74)]: + - @frontify/app-bridge-theme@0.0.0-alpha.18 + ## 0.0.1-alpha.0 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index b86eb1ce9..ef0ba2b00 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.0", + "version": "0.0.1-alpha.1", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 024b9089f68482aa908f08936c6a0c33cdaafb6c Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Mon, 2 Sep 2024 16:49:19 +0200 Subject: [PATCH 138/327] refactor(appBridgeThemes): remove utilities folder (#1092) * refactor(appBridgeThemes): remove utilities folder * Create poor-files-press.md --- .changeset/poor-files-press.md | 5 +++ packages/app-bridge-theme/src/index.ts | 1 - .../src/utilities/color.spec.ts | 39 ------------------- .../app-bridge-theme/src/utilities/color.ts | 9 ----- .../app-bridge-theme/src/utilities/index.ts | 3 -- 5 files changed, 5 insertions(+), 52 deletions(-) create mode 100644 .changeset/poor-files-press.md delete mode 100644 packages/app-bridge-theme/src/utilities/color.spec.ts delete mode 100644 packages/app-bridge-theme/src/utilities/color.ts delete mode 100644 packages/app-bridge-theme/src/utilities/index.ts diff --git a/.changeset/poor-files-press.md b/.changeset/poor-files-press.md new file mode 100644 index 000000000..4bf58e24f --- /dev/null +++ b/.changeset/poor-files-press.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +refactor(appBridgeThemes): remove utilities folder diff --git a/packages/app-bridge-theme/src/index.ts b/packages/app-bridge-theme/src/index.ts index bcf9ae096..4ad8c9eff 100644 --- a/packages/app-bridge-theme/src/index.ts +++ b/packages/app-bridge-theme/src/index.ts @@ -4,4 +4,3 @@ export * from './AppBridgeTheme'; export * from './react'; export * from './registries'; export * from './types'; -export * from './utilities'; diff --git a/packages/app-bridge-theme/src/utilities/color.spec.ts b/packages/app-bridge-theme/src/utilities/color.spec.ts deleted file mode 100644 index 504caa867..000000000 --- a/packages/app-bridge-theme/src/utilities/color.spec.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { rgbObjectToRgbString } from './color'; - -describe('Color', () => { - describe('rgbObjectToRgbString', () => { - it('should return a valid RGB string when given an object with R, G, and B.', () => { - const color = { red: 255, green: 99, blue: 71 }; - expect(rgbObjectToRgbString(color)).toBe('rgb(255, 99, 71)'); - }); - - it('should return a valid RGBA string when given an object with R, G, B, and A.', () => { - const color = { red: 255, green: 99, blue: 71, alpha: 0.5 }; - expect(rgbObjectToRgbString(color)).toBe('rgba(255, 99, 71, 0.5)'); - }); - - it('should return a valid RGB string when given an object with 255 R, G, and B.', () => { - const color = { red: 255, green: 255, blue: 255 }; - expect(rgbObjectToRgbString(color)).toBe('rgb(255, 255, 255)'); - }); - - it('should return a valid RGB string when given an object with 0 R, G, and B.', () => { - const color = { red: 0, green: 0, blue: 0 }; - expect(rgbObjectToRgbString(color)).toBe('rgb(0, 0, 0)'); - }); - - it('should return a valid RGBA string when given an object with 255 R, G, B and a valid A.', () => { - const color = { red: 255, green: 255, blue: 255, alpha: 1 }; - expect(rgbObjectToRgbString(color)).toBe('rgba(255, 255, 255, 1)'); - }); - - it('should return a valid RGBA string when given an object with 0 R, G, B and a valid A.', () => { - const color = { red: 0, green: 0, blue: 0, alpha: 1 }; - expect(rgbObjectToRgbString(color)).toBe('rgba(0, 0, 0, 1)'); - }); - }); -}); diff --git a/packages/app-bridge-theme/src/utilities/color.ts b/packages/app-bridge-theme/src/utilities/color.ts deleted file mode 100644 index 0cb0f39f2..000000000 --- a/packages/app-bridge-theme/src/utilities/color.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export const rgbObjectToRgbString = (color: { red: number; green: number; blue: number; alpha?: number }): string => { - if ('alpha' in color) { - return `rgba(${color.red}, ${color.green}, ${color.blue}, ${color.alpha})`; - } - - return `rgb(${color.red}, ${color.green}, ${color.blue})`; -}; diff --git a/packages/app-bridge-theme/src/utilities/index.ts b/packages/app-bridge-theme/src/utilities/index.ts deleted file mode 100644 index 6f3fbde03..000000000 --- a/packages/app-bridge-theme/src/utilities/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export * from './color'; From 7e0fb17ba9e2fd82cb8a3b86771ef144a7bd9118 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:26:26 +0200 Subject: [PATCH 139/327] chore: release packages (alpha) (#1098) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 543d2693a..58c0883f7 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -51,6 +51,7 @@ "pink-geckos-change", "pink-lobsters-beg", "polite-eels-shake", + "poor-files-press", "pretty-items-marry", "real-jeans-guess", "red-islands-report", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 810c99c9a..73dfc0f5d 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.19 + +### Patch Changes + +- [#1092](https://github.com/Frontify/brand-sdk/pull/1092) [`024b908`](https://github.com/Frontify/brand-sdk/commit/024b9089f68482aa908f08936c6a0c33cdaafb6c) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor(appBridgeThemes): remove utilities folder + ## 0.0.0-alpha.18 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index c6048e1d9..ed962e9e4 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.18", + "version": "0.0.0-alpha.19", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index ed46901d3..3f8398a06 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.2 + +### Patch Changes + +- Updated dependencies [[`024b908`](https://github.com/Frontify/brand-sdk/commit/024b9089f68482aa908f08936c6a0c33cdaafb6c)]: + - @frontify/app-bridge-theme@0.0.0-alpha.19 + ## 0.0.1-alpha.1 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index ef0ba2b00..ab6c48f93 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.1", + "version": "0.0.1-alpha.2", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 6a57f04c75a05ef177fe4185f9e768ad72dafd89 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Thu, 5 Sep 2024 14:36:18 +0200 Subject: [PATCH 140/327] refactor(GuidelineThemes): type cleanup (#1103) * refactor(GuidelineThemes): type cleanup * Create sour-cheetahs-buy.md --- .changeset/sour-cheetahs-buy.md | 5 +++++ packages/guideline-themes/src/index.ts | 20 ++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 .changeset/sour-cheetahs-buy.md diff --git a/.changeset/sour-cheetahs-buy.md b/.changeset/sour-cheetahs-buy.md new file mode 100644 index 000000000..0398a1580 --- /dev/null +++ b/.changeset/sour-cheetahs-buy.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-themes": patch +--- + +refactor(GuidelineThemes): type cleanup diff --git a/packages/guideline-themes/src/index.ts b/packages/guideline-themes/src/index.ts index 6477abfa7..d95bff5e1 100644 --- a/packages/guideline-themes/src/index.ts +++ b/packages/guideline-themes/src/index.ts @@ -55,23 +55,27 @@ export type TemplateInputBlock = TemplateInputBlockSidebarSettings; export type ValueOrPromisedValue = ValueOrPromisedValueSidebarSettings; -export type ContentAreaWidthChoice = '1200px' | '1000px' | '800px'; -export type ContentAreaWidthTemplateSettings = { +export type ContentAreaWidthChoice = `${number}${'px' | '%' | 'vw'}`; +type ContentAreaWidthTemplateSettings = { contentAreaWidthChoice?: ContentAreaWidthChoice; - contentAreaWidthCustom?: string; + contentAreaWidthCustom?: `${number}${string}`; contentAreaWidthCustomEnabled?: boolean; }; -export type ContentAreaPaddingChoice = '25px' | '50px' | '75px'; -export type ContentAreaPaddingTemplateSettings = { +export type ContentAreaPaddingChoice = `${number}${'px' | '%' | 'vw'}`; +type ContentAreaPaddingTemplateSettings = { contentAreaPaddingChoice?: ContentAreaPaddingChoice; - contentAreaPaddingCustom?: string; + contentAreaPaddingCustom?: `${number}${string}`; contentAreaPaddingCustomEnabled?: boolean; }; export type ContentAreaAlignmentChoice = 'left' | 'center' | 'right'; -export type ContentAreaAlignmentSetting = { contentAreaAlignmentChoice?: ContentAreaAlignmentChoice }; +type ContentAreaAlignmentSetting = { contentAreaAlignmentChoice?: ContentAreaAlignmentChoice }; + +export type ContentAreaSettings = ContentAreaWidthTemplateSettings & + ContentAreaPaddingTemplateSettings & + ContentAreaAlignmentSetting; -export type ThemeSettingsStructure = Record; export type ThemeSettingsStructureExport = { [customSectionName: string]: SettingBlock[] }; +export type ThemeSettingsStructure = Record; export type ThemeProps = { appBridge: AppBridgeTheme; From de6e63df7e0dd47e119f0e7369015b985fd08bdd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 15:01:15 +0200 Subject: [PATCH 141/327] chore: release packages (alpha) (#1104) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/guideline-themes/CHANGELOG.md | 6 ++++++ packages/guideline-themes/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 58c0883f7..58aa1c4c5 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -64,6 +64,7 @@ "smart-suns-type", "smooth-planets-pay", "soft-mugs-peel", + "sour-cheetahs-buy", "spicy-books-shout", "stale-hairs-wash", "strong-tools-check", diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 3f8398a06..225a59423 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-themes +## 0.0.1-alpha.3 + +### Patch Changes + +- [#1103](https://github.com/Frontify/brand-sdk/pull/1103) [`6a57f04`](https://github.com/Frontify/brand-sdk/commit/6a57f04c75a05ef177fe4185f9e768ad72dafd89) Thanks [@mike85](https://github.com/mike85)! - refactor(GuidelineThemes): type cleanup + ## 0.0.1-alpha.2 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index ab6c48f93..f6fa3c9d7 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.2", + "version": "0.0.1-alpha.3", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 35e5f5d928de04b4884629a2586e448587ac2c9d Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Fri, 6 Sep 2024 10:32:17 +0200 Subject: [PATCH 142/327] fix(guideline-themes): export types ungroupped (#1105) * fix(guideline-themes): export types ungroupped * add pnpm dev * Create four-ravens-try.md --- .changeset/four-ravens-try.md | 5 +++++ packages/guideline-themes/package.json | 1 + packages/guideline-themes/src/index.ts | 10 +++------- 3 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 .changeset/four-ravens-try.md diff --git a/.changeset/four-ravens-try.md b/.changeset/four-ravens-try.md new file mode 100644 index 000000000..e64c4f358 --- /dev/null +++ b/.changeset/four-ravens-try.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-themes": patch +--- + +fix(guideline-themes): export types ungroupped diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index f6fa3c9d7..042395e5c 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -27,6 +27,7 @@ ], "scripts": { "build": "vite build", + "dev": "vite build --watch", "lint": "eslint .", "lint:fix": "eslint --fix .", "prettier": "prettier --check .", diff --git a/packages/guideline-themes/src/index.ts b/packages/guideline-themes/src/index.ts index d95bff5e1..28fb1fc49 100644 --- a/packages/guideline-themes/src/index.ts +++ b/packages/guideline-themes/src/index.ts @@ -56,23 +56,19 @@ export type TextareaBlock = TextareaBlockSidebarSettings; export type ValueOrPromisedValue = ValueOrPromisedValueSidebarSettings; export type ContentAreaWidthChoice = `${number}${'px' | '%' | 'vw'}`; -type ContentAreaWidthTemplateSettings = { +export type ContentAreaWidthTemplateSettings = { contentAreaWidthChoice?: ContentAreaWidthChoice; contentAreaWidthCustom?: `${number}${string}`; contentAreaWidthCustomEnabled?: boolean; }; export type ContentAreaPaddingChoice = `${number}${'px' | '%' | 'vw'}`; -type ContentAreaPaddingTemplateSettings = { +export type ContentAreaPaddingTemplateSettings = { contentAreaPaddingChoice?: ContentAreaPaddingChoice; contentAreaPaddingCustom?: `${number}${string}`; contentAreaPaddingCustomEnabled?: boolean; }; export type ContentAreaAlignmentChoice = 'left' | 'center' | 'right'; -type ContentAreaAlignmentSetting = { contentAreaAlignmentChoice?: ContentAreaAlignmentChoice }; - -export type ContentAreaSettings = ContentAreaWidthTemplateSettings & - ContentAreaPaddingTemplateSettings & - ContentAreaAlignmentSetting; +export type ContentAreaAlignmentSetting = { contentAreaAlignmentChoice?: ContentAreaAlignmentChoice }; export type ThemeSettingsStructureExport = { [customSectionName: string]: SettingBlock[] }; export type ThemeSettingsStructure = Record; From 93d88469ffee3c985fbde8d03f6115d1f363ec25 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 10:44:41 +0200 Subject: [PATCH 143/327] chore: release packages (alpha) (#1106) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/guideline-themes/CHANGELOG.md | 6 ++++++ packages/guideline-themes/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 58aa1c4c5..ca355e0aa 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -28,6 +28,7 @@ "few-islands-build", "five-mangos-search", "four-crabs-bake", + "four-ravens-try", "fuzzy-walls-repeat", "giant-shrimps-dream", "gorgeous-seas-search", diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 225a59423..e0c164e63 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-themes +## 0.0.1-alpha.4 + +### Patch Changes + +- [#1105](https://github.com/Frontify/brand-sdk/pull/1105) [`35e5f5d`](https://github.com/Frontify/brand-sdk/commit/35e5f5d928de04b4884629a2586e448587ac2c9d) Thanks [@anxobotana](https://github.com/anxobotana)! - fix(guideline-themes): export types ungroupped + ## 0.0.1-alpha.3 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 042395e5c..cbe99cb13 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.3", + "version": "0.0.1-alpha.4", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 22102926eb3dab9d611491ec2bb6fb4b9a607043 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Tue, 10 Sep 2024 15:56:20 +0200 Subject: [PATCH 144/327] Revert "refactor(AppBridgeTheme): remove EventRegistry (#1095)" This reverts commit a70a9fe0932e1a40c5d4d85e4fdcb3f008947b74. --- .changeset/twenty-pumas-pump.md | 5 ----- .../src/registries/EventRegistry.ts | 7 +++++++ packages/app-bridge-theme/src/registries/index.ts | 1 + packages/app-bridge-theme/src/types/Event.ts | 13 ++++++++----- 4 files changed, 16 insertions(+), 10 deletions(-) delete mode 100644 .changeset/twenty-pumas-pump.md create mode 100644 packages/app-bridge-theme/src/registries/EventRegistry.ts diff --git a/.changeset/twenty-pumas-pump.md b/.changeset/twenty-pumas-pump.md deleted file mode 100644 index f92ebc2d7..000000000 --- a/.changeset/twenty-pumas-pump.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@frontify/app-bridge-theme": patch ---- - -refactor(AppBridgeTheme): remove EventRegistry diff --git a/packages/app-bridge-theme/src/registries/EventRegistry.ts b/packages/app-bridge-theme/src/registries/EventRegistry.ts new file mode 100644 index 000000000..3f541f39d --- /dev/null +++ b/packages/app-bridge-theme/src/registries/EventRegistry.ts @@ -0,0 +1,7 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type Asset, type EventNameValidator } from '../types'; + +export type EventRegistry = EventNameValidator<{ + assetsChosen: { assets: Asset[] }; +}>; diff --git a/packages/app-bridge-theme/src/registries/index.ts b/packages/app-bridge-theme/src/registries/index.ts index bd3a2d9d4..983ed724d 100644 --- a/packages/app-bridge-theme/src/registries/index.ts +++ b/packages/app-bridge-theme/src/registries/index.ts @@ -1,4 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './CommandRegistry'; +export * from './EventRegistry'; export * from './commands'; diff --git a/packages/app-bridge-theme/src/types/Event.ts b/packages/app-bridge-theme/src/types/Event.ts index f8e9b7539..3d3dd74b7 100644 --- a/packages/app-bridge-theme/src/types/Event.ts +++ b/packages/app-bridge-theme/src/types/Event.ts @@ -2,6 +2,8 @@ import { type Simplify } from 'type-fest'; +import { type EventRegistry } from '../registries'; + import { type ObjectNameValidator, type WrongNamePattern } from './Common'; import { type Context } from './Context'; @@ -19,11 +21,12 @@ type ContextAsEventName = { }; export type AppBridgeThemeEvent = EventNameValidator< - ContextAsEventName< - Context & { - '*': Context; - } - > + Pick & + ContextAsEventName< + Context & { + '*': Context; + } + > >; export type EventNamePattern = { From 18560dbd1bbfa3a76fdda0db5ed520b670c41979 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Wed, 11 Sep 2024 08:02:37 +0200 Subject: [PATCH 145/327] chore(AppBridgeTheme): add changeset (#1110) --- .changeset/violet-elephants-tan.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/violet-elephants-tan.md diff --git a/.changeset/violet-elephants-tan.md b/.changeset/violet-elephants-tan.md new file mode 100644 index 000000000..bce8889d1 --- /dev/null +++ b/.changeset/violet-elephants-tan.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat(AppBridgeTheme): add EventRegistry From be95918c8abb5c5c1532576cb74be6af1fd0e9ae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Sep 2024 09:47:10 +0200 Subject: [PATCH 146/327] chore: release packages (alpha) (#1111) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 2 +- packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index ca355e0aa..a533a55b9 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -76,7 +76,7 @@ "tough-nails-shout", "tricky-boats-sip", "twelve-keys-begin", - "twenty-pumas-pump", + "violet-elephants-tan", "warm-hounds-refuse", "wild-bags-judge", "witty-rivers-smile", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 73dfc0f5d..aa187b7ab 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.20 + +### Patch Changes + +- [#1110](https://github.com/Frontify/brand-sdk/pull/1110) [`18560db`](https://github.com/Frontify/brand-sdk/commit/18560dbd1bbfa3a76fdda0db5ed520b670c41979) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add EventRegistry + ## 0.0.0-alpha.19 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index ed962e9e4..2bb9504a6 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.19", + "version": "0.0.0-alpha.20", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index e0c164e63..7b68b07a7 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.5 + +### Patch Changes + +- Updated dependencies [[`18560db`](https://github.com/Frontify/brand-sdk/commit/18560dbd1bbfa3a76fdda0db5ed520b670c41979)]: + - @frontify/app-bridge-theme@0.0.0-alpha.20 + ## 0.0.1-alpha.4 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index cbe99cb13..67368a99d 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.4", + "version": "0.0.1-alpha.5", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From e70ff9ffb3bb1001d79cf7046a27f7230a491e04 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 16:37:55 +0200 Subject: [PATCH 147/327] chore: release packages (alpha) (#1143) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index a533a55b9..fe3d9b6ac 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -31,6 +31,7 @@ "four-ravens-try", "fuzzy-walls-repeat", "giant-shrimps-dream", + "good-forks-repair", "gorgeous-seas-search", "great-dolls-enjoy", "hip-days-applaud", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 7a7ff668e..63446722d 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.37 + +### Patch Changes + +- chore: merge main to dev + ## 4.0.0-alpha.36 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index d2a7813c2..24b1f62bd 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.36", + "version": "4.0.0-alpha.37", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From ddf65a69e43d127213486f6f1a45394bc05eb0cf Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Mon, 21 Oct 2024 15:52:14 +0200 Subject: [PATCH 148/327] refactor(guideline-themes): removes themeConfigExport.settings (#1145) * refactor(guideline-themes): deprecate ThemeConfigExport.settings * Create empty-jobs-add.md * removes it * Update .changeset/empty-jobs-add.md Co-authored-by: Mike Trummer --------- Co-authored-by: Mike Trummer --- .changeset/empty-jobs-add.md | 5 +++++ packages/guideline-themes/src/index.ts | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .changeset/empty-jobs-add.md diff --git a/.changeset/empty-jobs-add.md b/.changeset/empty-jobs-add.md new file mode 100644 index 000000000..81e06a474 --- /dev/null +++ b/.changeset/empty-jobs-add.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-themes": patch +--- + +refactor(guideline-themes): removes themeConfigExport.settings diff --git a/packages/guideline-themes/src/index.ts b/packages/guideline-themes/src/index.ts index 28fb1fc49..84eed249f 100644 --- a/packages/guideline-themes/src/index.ts +++ b/packages/guideline-themes/src/index.ts @@ -90,7 +90,6 @@ export type ThemeConfigExport = { documentPage: { default: ThemeTemplateExport } & Record; library: { default: ThemeTemplateExport } & Record; }; - settings: ThemeSettingsStructure; }; /** From ae07b3fb7ac49b48989839b0bcf03ee0f3cc6184 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 16:05:07 +0200 Subject: [PATCH 149/327] chore: release packages (alpha) (#1146) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/guideline-themes/CHANGELOG.md | 6 ++++++ packages/guideline-themes/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index fe3d9b6ac..fe4cdd787 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -24,6 +24,7 @@ "early-masks-appear", "eighty-ants-happen", "eleven-shrimps-jog", + "empty-jobs-add", "fast-houses-hunt", "few-islands-build", "five-mangos-search", diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 7b68b07a7..4fcfd9d1f 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-themes +## 0.0.1-alpha.6 + +### Patch Changes + +- [#1145](https://github.com/Frontify/brand-sdk/pull/1145) [`ddf65a6`](https://github.com/Frontify/brand-sdk/commit/ddf65a69e43d127213486f6f1a45394bc05eb0cf) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor(guideline-themes): removes themeConfigExport.settings + ## 0.0.1-alpha.5 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 67368a99d..ecd67adef 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.5", + "version": "0.0.1-alpha.6", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From cd6ac0b022bca6a3ca663be801f0dbe62d129728 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Fri, 22 Nov 2024 17:52:49 +0100 Subject: [PATCH 150/327] chore: changeset --- .changeset/mighty-brooms-lay.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/mighty-brooms-lay.md diff --git a/.changeset/mighty-brooms-lay.md b/.changeset/mighty-brooms-lay.md new file mode 100644 index 000000000..782101f06 --- /dev/null +++ b/.changeset/mighty-brooms-lay.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +chore: merge main into dev From 29f49d580db70be138d02cab3713af3ab36a3126 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 18:35:50 +0100 Subject: [PATCH 151/327] chore: release packages (alpha) (#1159) Co-authored-by: github-actions[bot] --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index fe4cdd787..a2b679e3c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -42,6 +42,7 @@ "light-crews-report", "lovely-books-hear", "lucky-taxis-kneel", + "mighty-brooms-lay", "modern-experts-dream", "nasty-feet-repair", "neat-plants-smile", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index 426381dae..fa4ec5051 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.38 + +### Patch Changes + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`cd6ac0b`](https://github.com/Frontify/brand-sdk/commit/cd6ac0b022bca6a3ca663be801f0dbe62d129728) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: merge main into dev + ## 4.0.0-alpha.37 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 24b1f62bd..2baf40e74 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.37", + "version": "4.0.0-alpha.38", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From d3f4ac4385770dcfe6672dfd2f256f39d1473563 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Mon, 17 Mar 2025 14:23:36 +0100 Subject: [PATCH 152/327] feat: add isPublished to DocumentPage interface (#1182) * feat: add isPublished to DocumentPage interface * changeset --- .changeset/six-snails-carry.md | 5 +++++ packages/app-bridge-theme/src/types/Guideline.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/six-snails-carry.md diff --git a/.changeset/six-snails-carry.md b/.changeset/six-snails-carry.md new file mode 100644 index 000000000..bceeaab7f --- /dev/null +++ b/.changeset/six-snails-carry.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": minor +--- + +extend DocumentPage interface with isPublished property diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts index 816bb29d8..1ea5dad84 100644 --- a/packages/app-bridge-theme/src/types/Guideline.ts +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -79,6 +79,7 @@ export interface PageCategoryNavigationItem { interface DocumentPageBase { id(): number; + isPublished(): boolean; title(language?: string): string; slug(language?: string): string; url(language?: string): string; From a12f0604df43b927b45f98cf3663e705459d48f5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 17 Mar 2025 14:01:54 +0000 Subject: [PATCH 153/327] chore: release packages (alpha) (#1183) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index a2b679e3c..bb89690cf 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -64,6 +64,7 @@ "shiny-beds-thank", "shiny-poets-enjoy", "shy-jobs-protect", + "six-snails-carry", "slimy-cats-repeat", "smart-suns-type", "smooth-planets-pay", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index aa187b7ab..94cd8f859 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.21 + +### Minor Changes + +- [#1182](https://github.com/Frontify/brand-sdk/pull/1182) [`d3f4ac4`](https://github.com/Frontify/brand-sdk/commit/d3f4ac4385770dcfe6672dfd2f256f39d1473563) Thanks [@Kenny806](https://github.com/Kenny806)! - extend DocumentPage interface with isPublished property + ## 0.0.0-alpha.20 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 2bb9504a6..946eb58ac 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.20", + "version": "0.0.0-alpha.21", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 4fcfd9d1f..7b89627a3 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.7 + +### Patch Changes + +- Updated dependencies [[`d3f4ac4`](https://github.com/Frontify/brand-sdk/commit/d3f4ac4385770dcfe6672dfd2f256f39d1473563)]: + - @frontify/app-bridge-theme@0.0.0-alpha.21 + ## 0.0.1-alpha.6 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index ecd67adef..12b966a3e 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.6", + "version": "0.0.1-alpha.7", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 6b4483b9ccb886dd139002b2a51ca0054736c8b3 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Fri, 11 Apr 2025 14:23:02 +0200 Subject: [PATCH 154/327] feat(sidebar-settings): add optional aria-label to Choice type (#1194) * feat(sidebar-settings): add optional aria-label to Choice type * changeset --- .changeset/eight-candles-agree.md | 5 +++++ packages/sidebar-settings/src/blocks/choices.ts | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/eight-candles-agree.md diff --git a/.changeset/eight-candles-agree.md b/.changeset/eight-candles-agree.md new file mode 100644 index 000000000..a99f0c3c1 --- /dev/null +++ b/.changeset/eight-candles-agree.md @@ -0,0 +1,5 @@ +--- +"@frontify/sidebar-settings": patch +--- + +add optional ariaLabel to Choice type diff --git a/packages/sidebar-settings/src/blocks/choices.ts b/packages/sidebar-settings/src/blocks/choices.ts index 71fec3305..18027b7ca 100644 --- a/packages/sidebar-settings/src/blocks/choices.ts +++ b/packages/sidebar-settings/src/blocks/choices.ts @@ -8,10 +8,15 @@ import { type IconEnum } from '.'; export type Choice = { /** - * The label of the item. + * The text label of the item. */ label?: string | number; + /** + * The aria label of the item. + */ + ariaLabel?: string; + /** * The icon of the item. * From d042b5a30ab8ee15ab7756c9caf93206d1c88ad5 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Fri, 11 Apr 2025 14:36:26 +0200 Subject: [PATCH 155/327] Revert "feat(sidebar-settings): add optional aria-label to Choice type (#1194)" (#1198) This reverts commit 6b4483b9ccb886dd139002b2a51ca0054736c8b3. --- .changeset/eight-candles-agree.md | 5 ----- packages/sidebar-settings/src/blocks/choices.ts | 7 +------ 2 files changed, 1 insertion(+), 11 deletions(-) delete mode 100644 .changeset/eight-candles-agree.md diff --git a/.changeset/eight-candles-agree.md b/.changeset/eight-candles-agree.md deleted file mode 100644 index a99f0c3c1..000000000 --- a/.changeset/eight-candles-agree.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@frontify/sidebar-settings": patch ---- - -add optional ariaLabel to Choice type diff --git a/packages/sidebar-settings/src/blocks/choices.ts b/packages/sidebar-settings/src/blocks/choices.ts index 18027b7ca..71fec3305 100644 --- a/packages/sidebar-settings/src/blocks/choices.ts +++ b/packages/sidebar-settings/src/blocks/choices.ts @@ -8,15 +8,10 @@ import { type IconEnum } from '.'; export type Choice = { /** - * The text label of the item. + * The label of the item. */ label?: string | number; - /** - * The aria label of the item. - */ - ariaLabel?: string; - /** * The icon of the item. * From 265c4d48a76cf5bd6e257123f0d793bd930f91da Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Thu, 24 Apr 2025 13:31:04 +0200 Subject: [PATCH 156/327] feat: app bridge theme active section heading context (#1203) * feat(AppBridgetheme): add activeSectionHeadingId context * react/index update * changeset --- .changeset/purple-seahorses-watch.md | 5 ++ packages/app-bridge-theme/src/react/index.ts | 1 + .../react/useActiveSectionHeadingId.spec.ts | 81 +++++++++++++++++++ .../src/react/useActiveSectionHeadingId.ts | 12 +++ .../app-bridge-theme/src/types/Context.ts | 1 + 5 files changed, 100 insertions(+) create mode 100644 .changeset/purple-seahorses-watch.md create mode 100644 packages/app-bridge-theme/src/react/useActiveSectionHeadingId.spec.ts create mode 100644 packages/app-bridge-theme/src/react/useActiveSectionHeadingId.ts diff --git a/.changeset/purple-seahorses-watch.md b/.changeset/purple-seahorses-watch.md new file mode 100644 index 000000000..0baea1220 --- /dev/null +++ b/.changeset/purple-seahorses-watch.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: add activeSectionHeadingId to context diff --git a/packages/app-bridge-theme/src/react/index.ts b/packages/app-bridge-theme/src/react/index.ts index b448e7857..5029be10b 100644 --- a/packages/app-bridge-theme/src/react/index.ts +++ b/packages/app-bridge-theme/src/react/index.ts @@ -4,6 +4,7 @@ export * from './useDocumentNavigation'; export * from './useIsEditing'; export * from './useCurrentLanguage'; export * from './useDefaultLanguage'; +export * from './useActiveSectionHeadingId'; export * from './useLanguages'; export * from './usePortalNavigation'; export * from './useSettings'; diff --git a/packages/app-bridge-theme/src/react/useActiveSectionHeadingId.spec.ts b/packages/app-bridge-theme/src/react/useActiveSectionHeadingId.spec.ts new file mode 100644 index 000000000..6681bb5e7 --- /dev/null +++ b/packages/app-bridge-theme/src/react/useActiveSectionHeadingId.spec.ts @@ -0,0 +1,81 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { renderHook } from '@testing-library/react'; +import { act } from 'react'; +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +import { type AppBridgeTheme } from '../AppBridgeTheme'; + +import { useActiveSectionHeadingId } from './useActiveSectionHeadingId'; + +const UPDATED_HEADING_ID = 321; + +const stubs = vi.hoisted(() => ({ + contextStub: vi.fn(), + contextGetStub: vi.fn(), + subscribeStub: vi.fn(), + unsubscribeObserverStub: vi.fn(), +})); + +const stubbedAppBridgeTheme = () => + ({ + context: stubs.contextStub.mockReturnValue({ + get: stubs.contextGetStub.mockReturnValue(null), + subscribe: stubs.subscribeStub.mockReturnValue(stubs.unsubscribeObserverStub), + }), + }) as unknown as AppBridgeTheme; + +describe('useActiveSectionHeadingId', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('should call the context with ActiveSectionHeadingId', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useActiveSectionHeadingId(appBridgeTheme)); + + expect(stubs.contextStub).toHaveBeenCalledWith('activeSectionHeadingId'); + }); + + it('should subscribe to context updates', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + renderHook(() => useActiveSectionHeadingId(appBridgeTheme)); + + expect(stubs.subscribeStub).toHaveBeenCalledOnce(); + }); + + it('should return the correct initial ActiveSectionHeadingId', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useActiveSectionHeadingId(appBridgeTheme)); + + expect(result.current).toBeNull(); + }); + + it('should update the ActiveSectionHeadingId on change', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { result } = renderHook(() => useActiveSectionHeadingId(appBridgeTheme)); + + act(() => { + if (vi.isMockFunction(stubs.subscribeStub)) { + stubs.contextGetStub.mockReturnValue(UPDATED_HEADING_ID); + stubs.subscribeStub.mock.calls[0][0](UPDATED_HEADING_ID); + } + }); + + expect(result.current).toEqual(UPDATED_HEADING_ID); + }); + + it('should unsubscribe on unmount', () => { + const appBridgeTheme = stubbedAppBridgeTheme(); + + const { unmount } = renderHook(() => useActiveSectionHeadingId(appBridgeTheme)); + + unmount(); + + expect(stubs.unsubscribeObserverStub).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/app-bridge-theme/src/react/useActiveSectionHeadingId.ts b/packages/app-bridge-theme/src/react/useActiveSectionHeadingId.ts new file mode 100644 index 000000000..f3251283c --- /dev/null +++ b/packages/app-bridge-theme/src/react/useActiveSectionHeadingId.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { useSyncExternalStore } from 'react'; + +import { type AppBridgeTheme } from '../AppBridgeTheme.ts'; + +export const useActiveSectionHeadingId = (appBridge: AppBridgeTheme) => { + return useSyncExternalStore( + appBridge.context('activeSectionHeadingId').subscribe, + appBridge.context('activeSectionHeadingId').get, + ); +}; diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index 38bd3ee94..a6d6de3c0 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -36,6 +36,7 @@ export type Context = { isAuthenticated: boolean; isAiBrandAssistantDialogOpen: boolean; isSearchDialogOpen: boolean; + activeSectionHeadingId: number | null; languages: Language[]; template: TemplateContext | null; settings: { From 527c0b99993e72baf8f1021c6602685089d0e6e6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 13:42:26 +0200 Subject: [PATCH 157/327] chore: release packages (alpha) (#1204) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index bb89690cf..92d86496e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -57,6 +57,7 @@ "polite-eels-shake", "poor-files-press", "pretty-items-marry", + "purple-seahorses-watch", "real-jeans-guess", "red-islands-report", "rich-olives-repeat", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 94cd8f859..620190b3e 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.22 + +### Patch Changes + +- [#1203](https://github.com/Frontify/brand-sdk/pull/1203) [`265c4d4`](https://github.com/Frontify/brand-sdk/commit/265c4d48a76cf5bd6e257123f0d793bd930f91da) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add activeSectionHeadingId to context + ## 0.0.0-alpha.21 ### Minor Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 946eb58ac..b77228a53 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.21", + "version": "0.0.0-alpha.22", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 7b89627a3..2dc862ba4 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.8 + +### Patch Changes + +- Updated dependencies [[`265c4d4`](https://github.com/Frontify/brand-sdk/commit/265c4d48a76cf5bd6e257123f0d793bd930f91da)]: + - @frontify/app-bridge-theme@0.0.0-alpha.22 + ## 0.0.1-alpha.7 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 12b966a3e..f3f47bfc6 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.7", + "version": "0.0.1-alpha.8", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From fe50098c54a70178b4804a882b38e6f5de4fe37f Mon Sep 17 00:00:00 2001 From: ragi96 Date: Thu, 1 May 2025 13:21:49 +0200 Subject: [PATCH 158/327] install --- pnpm-lock.yaml | 112 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f270054f7..02437bc52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10503,6 +10503,116 @@ snapshots: react-dom: 18.3.1(react@18.3.1) tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.5.2)) + '@frontify/fondue@12.9.3(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': + dependencies: + '@ctrl/tinycolor': 4.1.0 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + '@floating-ui/dom': 1.6.13 + '@frontify/fondue-charts': 5.0.3(@frontify/fondue-tokens@4.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-components': 16.0.4(@frontify/fondue-icons@0.15.2(react@18.3.1))(@frontify/fondue-tokens@4.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))))(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@frontify/fondue-icons': 0.15.2(react@18.3.1) + '@frontify/fondue-tokens': 4.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@popperjs/core': 2.11.8 + '@radix-ui/react-popover': 1.1.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/aria-modal-polyfill': 3.7.13(react@18.3.1) + '@react-aria/breadcrumbs': 3.5.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/button': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/checkbox': 3.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/combobox': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/dialog': 3.5.23(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.20.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.24.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/link': 3.7.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.26.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/radio': 3.11.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/select': 3.15.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/table': 3.17.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/tooltip': 3.8.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/checkbox': 3.6.12(react@18.3.1) + '@react-stately/collections': 3.12.2(react@18.3.1) + '@react-stately/combobox': 3.10.3(react@18.3.1) + '@react-stately/list': 3.12.0(react@18.3.1) + '@react-stately/menu': 3.9.2(react@18.3.1) + '@react-stately/overlays': 3.6.14(react@18.3.1) + '@react-stately/radio': 3.10.11(react@18.3.1) + '@react-stately/select': 3.6.11(react@18.3.1) + '@react-stately/table': 3.14.0(react@18.3.1) + '@react-stately/toggle': 3.8.2(react@18.3.1) + '@react-stately/tooltip': 3.5.2(react@18.3.1) + '@react-stately/tree': 3.8.8(react@18.3.1) + '@react-types/dialog': 3.5.16(react@18.3.1) + '@react-types/shared': 3.28.0(react@18.3.1) + '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2))) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.4.0(patch_hash=qe3otflfq45s3qpehitpsd2wsy)(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 + '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + date-fns: 3.6.0 + escape-html: 1.0.3 + framer-motion: 10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + immer: 10.1.1 + is-hotkey: 0.2.0 + lodash-es: 4.17.21 + react: 18.3.1 + react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dnd: 16.0.1(@types/node@18.19.39)(@types/react@18.3.3)(react@18.3.1) + react-dnd-html5-backend: 16.0.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + react-is: 18.3.1 + react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-textarea-autosize: 8.5.9(@types/react@18.3.3)(react@18.3.1) + remark-gfm: 3.0.1 + remark-parse: 10.0.2 + slate: 0.102.0 + slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + unified: 10.1.2 + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - '@react-spring/web' + - '@types/hoist-non-react-statics' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - react-native + - scheduler + - slate-history + - slate-hyperscript + - supports-color + - tailwindcss + - zustand + '@frontify/fondue@12.9.3(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.26.0)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': dependencies: '@ctrl/tinycolor': 4.1.0 @@ -10835,7 +10945,7 @@ snapshots: '@frontify/sidebar-settings@0.9.23(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': dependencies: - '@frontify/fondue': 12.2.14(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + '@frontify/fondue': 12.9.3(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: From 7abe2d7635dd7f319497fd4e6e422873d7075489 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Tue, 6 May 2025 15:16:55 +0200 Subject: [PATCH 159/327] refactor: remove AppBridgeCreateAsset (#1206) * refactor: remove AppBridgeCreateAsset from v4 * adjust owner --- .changeset/angry-hairs-enjoy.md | 5 + CODEOWNERS | 39 +--- .../src/AppBridgeCreateAsset.spec.ts | 186 ------------------ .../app-bridge/src/AppBridgeCreateAsset.ts | 60 ------ packages/app-bridge/src/errors/NotifyError.ts | 8 - .../src/errors/TimeoutReachedError.ts | 8 - packages/app-bridge/src/errors/index.ts | 2 - packages/app-bridge/src/index.ts | 1 - .../src/types/CrossDocumentMessage.ts | 9 - .../src/types/CrossDocumentMessageResponse.ts | 10 - packages/app-bridge/src/types/Notify.ts | 7 - packages/app-bridge/src/types/OauthTokens.ts | 9 - .../src/types/PostExternalAssetParams.ts | 8 - packages/app-bridge/src/types/index.ts | 5 - packages/app-bridge/src/utilities/hash.ts | 5 - packages/app-bridge/src/utilities/index.ts | 3 - packages/app-bridge/src/utilities/notify.ts | 15 -- .../app-bridge/src/utilities/subscribe.ts | 33 ---- 18 files changed, 12 insertions(+), 401 deletions(-) create mode 100644 .changeset/angry-hairs-enjoy.md delete mode 100644 packages/app-bridge/src/AppBridgeCreateAsset.spec.ts delete mode 100644 packages/app-bridge/src/AppBridgeCreateAsset.ts delete mode 100644 packages/app-bridge/src/errors/NotifyError.ts delete mode 100644 packages/app-bridge/src/errors/TimeoutReachedError.ts delete mode 100644 packages/app-bridge/src/types/CrossDocumentMessage.ts delete mode 100644 packages/app-bridge/src/types/CrossDocumentMessageResponse.ts delete mode 100644 packages/app-bridge/src/types/Notify.ts delete mode 100644 packages/app-bridge/src/types/OauthTokens.ts delete mode 100644 packages/app-bridge/src/types/PostExternalAssetParams.ts delete mode 100644 packages/app-bridge/src/utilities/hash.ts delete mode 100644 packages/app-bridge/src/utilities/notify.ts delete mode 100644 packages/app-bridge/src/utilities/subscribe.ts diff --git a/.changeset/angry-hairs-enjoy.md b/.changeset/angry-hairs-enjoy.md new file mode 100644 index 000000000..78c9d7ca4 --- /dev/null +++ b/.changeset/angry-hairs-enjoy.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +refactor: remove AppBridgeCreateAsset, please use `@frontify/app-bridge-app` diff --git a/CODEOWNERS b/CODEOWNERS index fca9d5d4f..4173bede7 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,11 +3,7 @@ packages/app-bridge/src/types @Frontify/frontend-platform ## App Bridge Errors -packages/app-bridge/src/errors/HttpClientError.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations -packages/app-bridge/src/errors/InitializationError.ts @Frontify/apps-and-integrations -packages/app-bridge/src/errors/NotifyError.ts @Frontify/apps-and-integrations -packages/app-bridge/src/errors/TimeoutReachedError.ts @Frontify/apps-and-integrations -packages/app-bridge/src/errors/ValidationError.ts @Frontify/apps-and-integrations +packages/app-bridge/src/errors/HttpClientError.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation ## App Bridge Helpers @@ -60,8 +56,6 @@ packages/app-bridge/src/react/useNavigationManager.spec.ts @Frontify/themes-and- packages/app-bridge/src/react/useNavigationManager.ts @Frontify/themes-and-navigation packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @Frontify/themes-and-navigation packages/app-bridge/src/react/usePageTemplateSettings.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/usePlatformAppBridge.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/react/usePlatformAppBridge.ts @Frontify/apps-and-integrations packages/app-bridge/src/react/usePrivacySettings.spec.ts @Frontify/content-and-blocks packages/app-bridge/src/react/usePrivacySettings.ts @Frontify/content-and-blocks packages/app-bridge/src/react/useReadyForPrint.spec.tsx @Frontify/content-and-blocks @@ -81,20 +75,13 @@ packages/app-bridge/src/react/useUngroupedDocuments.ts @Frontify/content-and-blo ### App Bridge registries api -packages/app-bridge/src/registries/api/CreateAsset.ts @Frontify/apps-and-integrations -packages/app-bridge/src/registries/api/CreateAsset.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/registries/api/GetAssetResourceInformation.ts @Frontify/apps-and-integrations -packages/app-bridge/src/registries/api/GetAssetResourceInformation.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/registries/api/GetProxyNetworkCall.ts @Frontify/apps-and-integrations -packages/app-bridge/src/registries/api/GetProxyNetworkCall.spec.ts @Frontify/apps-and-integrations packages/app-bridge/src/registries/api/GetAssetBulkDownloadToken.ts @Frontify/content-and-blocks -packages/app-bridge/src/registries/api/GetCurrentUser.ts @Frontify/content-and-blocks @Frontify/apps-and-integrations @Frontify/themes-and-navigation -packages/app-bridge/src/registries/api/GetCurrentUser.spec.ts @Frontify/content-and-blocks @Frontify/apps-and-integrations @Frontify/themes-and-navigation +packages/app-bridge/src/registries/api/GetCurrentUser.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +packages/app-bridge/src/registries/api/GetCurrentUser.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation ### App Bridge registries commands packages/app-bridge/src/registries/commands/AssetChooser.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation packages/app-bridge/src/registries/commands/AssetViewer.ts @Frontify/content-and-blocks -packages/app-bridge/src/registries/commands/Connection.ts @Frontify/apps-and-integrations packages/app-bridge/src/registries/commands/DownloadAsset.ts @Frontify/content-and-blocks packages/app-bridge/src/registries/commands/NavigationManager.ts @Frontify/themes-and-navigation packages/app-bridge/src/registries/commands/NewPublication.ts @Frontify/content-and-blocks @@ -106,7 +93,7 @@ packages/app-bridge/src/registries/events/ @Frontify/content-and-blocks @Frontif ### App Bridge registries verbs -packages/app-bridge/src/registries/verbs/ @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/app-bridge/src/registries/verbs/ @Frontify/content-and-blocks @Frontify/themes-and-navigation ## App Bridge repositories @@ -115,23 +102,15 @@ packages/app-bridge/src/repositories/ @Frontify/content-and-blocks ## App Bridge Tests packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/content-and-blocks -packages/app-bridge/src/tests/AppBridgePlatformAppStub.ts @Frontify/apps-and-integrations packages/app-bridge/src/tests/AppBridgeThemeStub.ts @Frontify/themes-and-navigation packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/content-and-blocks packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx @Frontify/themes-and-navigation ## App Bridge Utilities -packages/app-bridge/src/utilities/hash.ts @Frontify/apps-and-integrations -packages/app-bridge/src/utilities/httpClient.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations -packages/app-bridge/src/utilities/MessageBus.ts @Frontify/apps-and-integrations -packages/app-bridge/src/utilities/MessageBus.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/utilities/notify.ts @Frontify/apps-and-integrations +packages/app-bridge/src/utilities/httpClient.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation packages/app-bridge/src/utilities/object.spec.ts @Frontify/content-and-blocks packages/app-bridge/src/utilities/object.ts @Frontify/content-and-blocks -packages/app-bridge/src/utilities/queryParams.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/utilities/queryParams.ts @Frontify/apps-and-integrations -packages/app-bridge/src/utilities/subscribe.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations ## App Bridge Worker @@ -139,14 +118,10 @@ packages/app-bridge/src/worker/ @Frontify/content-and-blocks ## App Bridge Interfaces -packages/app-bridge/src/AppBridge.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/app-bridge/src/AppBridge.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation packages/app-bridge/src/AppBridgeBlock.ts @Frontify/content-and-blocks -packages/app-bridge/src/AppBridgeCreateAsset.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/AppBridgeCreateAsset.ts @Frontify/apps-and-integrations -packages/app-bridge/src/AppBridgePlatformApp.spec.ts @Frontify/apps-and-integrations -packages/app-bridge/src/AppBridgePlatformApp.ts @Frontify/apps-and-integrations packages/app-bridge/src/AppBridgeTheme.ts @Frontify/themes-and-navigation -packages/app-bridge/src/window.d.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation @Frontify/apps-and-integrations +packages/app-bridge/src/window.d.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation # CLI diff --git a/packages/app-bridge/src/AppBridgeCreateAsset.spec.ts b/packages/app-bridge/src/AppBridgeCreateAsset.spec.ts deleted file mode 100644 index adf22ad17..000000000 --- a/packages/app-bridge/src/AppBridgeCreateAsset.spec.ts +++ /dev/null @@ -1,186 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { afterEach, beforeAll, describe, expect, it, test, vi } from 'vitest'; - -import { AppBridgeCreateAsset } from './AppBridgeCreateAsset'; -import { Topic } from './types'; -import { generateRandomString } from './utilities/hash'; -import { notify } from './utilities/notify'; -import { subscribe } from './utilities/subscribe'; - -const TOKEN = 'AjY34F87Dsat^J'; -const EXPECTED_RESULT = { test: 'passed' }; - -const DEFAULT_TIMEOUT = 3 * 1000; -const LONG_TIMEOUT = 5 * 60 * 1000; - -describe('AppBridgeCreateAssetTest', () => { - beforeAll(() => { - vi.mock('./utilities/subscribe', () => { - return { - subscribe: vi.fn().mockResolvedValue({ test: 'passed' }), - }; - }); - - vi.mock('./utilities/hash', () => { - return { - generateRandomString: vi.fn().mockReturnValue('AjY34F87Dsat^J'), - }; - }); - - vi.mock('./utilities/notify', () => { - return { - notify: vi.fn(), - }; - }); - - expect(generateRandomString).toHaveBeenCalledTimes(1); - expect(generateRandomString).toHaveReturnedWith('AjY34F87Dsat^J'); - }); - - afterEach(() => { - vi.clearAllMocks(); - }); - - it('should be instantiable', () => { - expect(new AppBridgeCreateAsset()).toBeInstanceOf(AppBridgeCreateAsset); - }); - - test('getAppState', () => { - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.getAppState(); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.GetAppState, TOKEN); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.GetAppState, TOKEN); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('putAppState', () => { - const newState = { new: 'state' }; - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.putAppState(newState); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.PutAppState, TOKEN, newState); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.PutAppState, TOKEN); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('deleteAppState', () => { - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.deleteAppState(); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.DeleteAppState, TOKEN); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.DeleteAppState, TOKEN); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('getAssetById', () => { - const assetId = 4076; - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.getAssetById(assetId); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.GetAssetById, TOKEN, { assetId }); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.GetAssetById, TOKEN); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('postExternalAssetWithPreview', () => { - const assets = [ - { - title: 'My external asset', - url: 'https://www.post-external-asset.test', - previewUrl: 'https://www.preview-url.test', - }, - { - title: 'My external asset', - url: 'https://www.post-external-asset.test', - previewUrl: 'https://www.preview-url.test', - }, - ]; - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.postExternalAssets(assets); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.PostExternalAssets, TOKEN, assets); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.PostExternalAssets, TOKEN, { timeout: LONG_TIMEOUT }); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('postExternalAssetWithoutPreview', () => { - const assets = [ - { - title: 'My external asset', - url: 'https://www.post-external-asset.test', - }, - { - title: 'My external asset', - url: 'https://www.post-external-asset.test', - }, - ]; - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.postExternalAssets(assets); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.PostExternalAssets, TOKEN, assets); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.PostExternalAssets, TOKEN, { timeout: DEFAULT_TIMEOUT }); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('getThirdPartyOauth2Tokens', async () => { - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.getThirdPartyOauth2Tokens(); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.GetThirdPartyOauth2Tokens, TOKEN); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.GetThirdPartyOauth2Tokens, TOKEN, { - timeout: LONG_TIMEOUT, - }); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('getRefreshedThirdpartyOauth2Tokens', () => { - const refreshToken = '8raSsn0nG5v4'; - const appBridge = new AppBridgeCreateAsset(); - const result = appBridge.getRefreshedThirdpartyOauth2Tokens(refreshToken); - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.GetRefreshedThirdpartyOauth2Token, TOKEN, { refreshToken }); - - expect(subscribe).toHaveBeenCalledTimes(1); - expect(subscribe).toHaveBeenCalledWith(Topic.GetRefreshedThirdpartyOauth2Token, TOKEN); - expect(result).resolves.toEqual(EXPECTED_RESULT); - }); - - test('closeApp', () => { - const appBridge = new AppBridgeCreateAsset(); - appBridge.closeApp(); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.CloseApp, TOKEN); - }); - - test('openAssetChooser', () => { - const appBridge = new AppBridgeCreateAsset(); - appBridge.openAssetChooser(); - - expect(notify).toHaveBeenCalledTimes(1); - expect(notify).toHaveBeenCalledWith(Topic.OpenAssetChooser, TOKEN); - }); -}); diff --git a/packages/app-bridge/src/AppBridgeCreateAsset.ts b/packages/app-bridge/src/AppBridgeCreateAsset.ts deleted file mode 100644 index b7528deac..000000000 --- a/packages/app-bridge/src/AppBridgeCreateAsset.ts +++ /dev/null @@ -1,60 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { Topic, type AssetApi, type NotifyData, type OauthTokens, type PostExternalAssetParams } from './types'; -import { generateRandomString, notify, subscribe } from './utilities'; - -const PUBSUB_TOKEN = generateRandomString(); -const DEFAULT_TIMEOUT = 3 * 1000; -const LONG_TIMEOUT = 5 * 60 * 1000; - -export class AppBridgeCreateAsset { - getAppState>(): Promise { - notify(Topic.GetAppState, PUBSUB_TOKEN); - return subscribe(Topic.GetAppState, PUBSUB_TOKEN); - } - - async putAppState(newState: NotifyData): Promise { - notify(Topic.PutAppState, PUBSUB_TOKEN, newState); - return subscribe(Topic.PutAppState, PUBSUB_TOKEN); - } - - async deleteAppState(): Promise { - notify(Topic.DeleteAppState, PUBSUB_TOKEN); - return subscribe(Topic.DeleteAppState, PUBSUB_TOKEN); - } - - getAssetById(assetId: number): Promise { - notify(Topic.GetAssetById, PUBSUB_TOKEN, { assetId }); - return subscribe(Topic.GetAssetById, PUBSUB_TOKEN); - } - - async postExternalAssets(assets: PostExternalAssetParams[]): Promise { - const assetsWithPreview = assets.filter((asset) => asset.previewUrl); - const timeout = assetsWithPreview.length > 0 ? LONG_TIMEOUT : DEFAULT_TIMEOUT; - - notify(Topic.PostExternalAssets, PUBSUB_TOKEN, assets); - return subscribe(Topic.PostExternalAssets, PUBSUB_TOKEN, { - timeout, - }); - } - - getThirdPartyOauth2Tokens(): Promise { - notify(Topic.GetThirdPartyOauth2Tokens, PUBSUB_TOKEN); - return subscribe(Topic.GetThirdPartyOauth2Tokens, PUBSUB_TOKEN, { - timeout: LONG_TIMEOUT, - }); - } - - getRefreshedThirdpartyOauth2Tokens(refreshToken: string): Promise { - notify(Topic.GetRefreshedThirdpartyOauth2Token, PUBSUB_TOKEN, { refreshToken }); - return subscribe(Topic.GetRefreshedThirdpartyOauth2Token, PUBSUB_TOKEN); - } - - closeApp(): void { - notify(Topic.CloseApp, PUBSUB_TOKEN); - } - - openAssetChooser(): void { - notify(Topic.OpenAssetChooser, PUBSUB_TOKEN); - } -} diff --git a/packages/app-bridge/src/errors/NotifyError.ts b/packages/app-bridge/src/errors/NotifyError.ts deleted file mode 100644 index 0057a78fd..000000000 --- a/packages/app-bridge/src/errors/NotifyError.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export class FetchError extends Error { - constructor(topic: string) { - super(`Call with topic ${topic} failed.`); - this.name = 'FetchError'; - } -} diff --git a/packages/app-bridge/src/errors/TimeoutReachedError.ts b/packages/app-bridge/src/errors/TimeoutReachedError.ts deleted file mode 100644 index 0044ca987..000000000 --- a/packages/app-bridge/src/errors/TimeoutReachedError.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export class TimeoutReachedError extends Error { - constructor(topic: string) { - super(`Timeout for call with topic "${topic}" expired. Call was aborted.`); - this.name = 'TimeoutReachedError'; - } -} diff --git a/packages/app-bridge/src/errors/index.ts b/packages/app-bridge/src/errors/index.ts index 4c69461f7..426eb42d8 100644 --- a/packages/app-bridge/src/errors/index.ts +++ b/packages/app-bridge/src/errors/index.ts @@ -1,5 +1,3 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './HttpClientError'; -export * from './NotifyError'; -export * from './TimeoutReachedError'; diff --git a/packages/app-bridge/src/index.ts b/packages/app-bridge/src/index.ts index 52f015459..7d3cd7209 100644 --- a/packages/app-bridge/src/index.ts +++ b/packages/app-bridge/src/index.ts @@ -6,7 +6,6 @@ enableMapSet(); export * from './AppBridge'; export * from './AppBridgeBlock'; -export * from './AppBridgeCreateAsset'; export * from './AppBridgeTheme'; export * from './errors'; export * from './helpers'; diff --git a/packages/app-bridge/src/types/CrossDocumentMessage.ts b/packages/app-bridge/src/types/CrossDocumentMessage.ts deleted file mode 100644 index 431189471..000000000 --- a/packages/app-bridge/src/types/CrossDocumentMessage.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type Topic } from './Topic'; - -export type CrossDocumentMessage> = { - topic: Topic; - token: string; - data?: T; -}; diff --git a/packages/app-bridge/src/types/CrossDocumentMessageResponse.ts b/packages/app-bridge/src/types/CrossDocumentMessageResponse.ts deleted file mode 100644 index 0b171d6b0..000000000 --- a/packages/app-bridge/src/types/CrossDocumentMessageResponse.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type Topic } from './Topic'; - -export type CrossDocumentMessageResponse = { - success: boolean; - topic: Topic; - token: string; - data?: T; -}; diff --git a/packages/app-bridge/src/types/Notify.ts b/packages/app-bridge/src/types/Notify.ts deleted file mode 100644 index 0b619a4f0..000000000 --- a/packages/app-bridge/src/types/Notify.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type NotifyOptions = { - origin?: string; -}; - -export type NotifyData> = T; diff --git a/packages/app-bridge/src/types/OauthTokens.ts b/packages/app-bridge/src/types/OauthTokens.ts deleted file mode 100644 index 93c3baa1f..000000000 --- a/packages/app-bridge/src/types/OauthTokens.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type OauthTokens = { - access_token: string; - refresh_token: string; - expires_in: number; - name: string; - token_type: 'Bearer'; -}; diff --git a/packages/app-bridge/src/types/PostExternalAssetParams.ts b/packages/app-bridge/src/types/PostExternalAssetParams.ts deleted file mode 100644 index 13af5588d..000000000 --- a/packages/app-bridge/src/types/PostExternalAssetParams.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type PostExternalAssetParams = { - title: string; - url: string; - previewUrl?: string; - data?: Record; -}; diff --git a/packages/app-bridge/src/types/index.ts b/packages/app-bridge/src/types/index.ts index 6085cd036..c9995b19a 100644 --- a/packages/app-bridge/src/types/index.ts +++ b/packages/app-bridge/src/types/index.ts @@ -6,8 +6,6 @@ export * from './BulkDownload'; export * from './Color'; export * from './ColorPalette'; export * from './CoverPage'; -export * from './CrossDocumentMessage'; -export * from './CrossDocumentMessageResponse'; export * from './DispatchHandler'; export * from './Document'; export * from './DocumentBlockTemplate'; @@ -23,11 +21,8 @@ export * from './FileType'; export * from './Guideline'; export * from './GuidelineSearchResult'; export * from './Language'; -export * from './Notify'; -export * from './OauthTokens'; export * from './PageTemplateAsset'; export * from './PrivacySettings'; -export * from './PostExternalAssetParams'; export * from './Project'; export * from './SubscriptionHandler'; export * from './Targets'; diff --git a/packages/app-bridge/src/utilities/hash.ts b/packages/app-bridge/src/utilities/hash.ts deleted file mode 100644 index bcbceb84a..000000000 --- a/packages/app-bridge/src/utilities/hash.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export const generateRandomString = (length = 6): string => { - return Math.random().toString(20).substr(2, length); -}; diff --git a/packages/app-bridge/src/utilities/index.ts b/packages/app-bridge/src/utilities/index.ts index d63b7c1ae..50afb9aee 100644 --- a/packages/app-bridge/src/utilities/index.ts +++ b/packages/app-bridge/src/utilities/index.ts @@ -3,8 +3,5 @@ export * from './color'; export * from './dom'; export * from './file'; -export * from './hash'; export * from './httpClient'; -export * from './notify'; export * from './object'; -export * from './subscribe'; diff --git a/packages/app-bridge/src/utilities/notify.ts b/packages/app-bridge/src/utilities/notify.ts deleted file mode 100644 index 7a08cdb4f..000000000 --- a/packages/app-bridge/src/utilities/notify.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type NotifyData, type NotifyOptions } from '../types'; - -export function notify(topic: string, token: string, data?: NotifyData, options?: NotifyOptions): void { - const parentWindow = window.top; - parentWindow?.postMessage( - { - topic, - token, - data, - }, - options?.origin || '*', - ); -} diff --git a/packages/app-bridge/src/utilities/subscribe.ts b/packages/app-bridge/src/utilities/subscribe.ts deleted file mode 100644 index 902e37812..000000000 --- a/packages/app-bridge/src/utilities/subscribe.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { FetchError } from '../errors/NotifyError'; -import { TimeoutReachedError } from '../errors/TimeoutReachedError'; -import { type CrossDocumentMessageResponse, type Topic } from '../types'; - -export type SubscribeOptions = { - timeout?: number; -}; - -export const SUBSCRIBE_TIMEOUT = 3 * 1000; - -export function subscribe(topic: Topic, token: string, options?: SubscribeOptions): Promise { - return new Promise((resolve, reject) => { - const subscribeResponseCallback = (event: MessageEvent) => { - const response: CrossDocumentMessageResponse = event.data; - - if (response.token === token && response.topic === topic && response.success) { - resolve((response.data || true)); - } else { - reject(new FetchError(topic)); - } - - window.removeEventListener('message', subscribeResponseCallback); - }; - - window.addEventListener('message', subscribeResponseCallback); - - setTimeout(() => { - reject(new TimeoutReachedError(topic)); - }, options?.timeout || SUBSCRIBE_TIMEOUT); - }); -} From a9d08d5ea9c9d82f6659289b0c27f835de5a6654 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 15:33:44 +0200 Subject: [PATCH 160/327] chore: release packages (alpha) (#1207) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 92d86496e..dafb9bc84 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -13,6 +13,7 @@ }, "changesets": [ "angry-dolphins-fry", + "angry-hairs-enjoy", "brave-queens-smile", "brave-queens-work", "calm-candles-wink", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index fa4ec5051..f36c2d0e7 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.39 + +### Patch Changes + +- [#1206](https://github.com/Frontify/brand-sdk/pull/1206) [`7abe2d7`](https://github.com/Frontify/brand-sdk/commit/7abe2d7635dd7f319497fd4e6e422873d7075489) Thanks [@ragi96](https://github.com/ragi96)! - refactor: remove AppBridgeCreateAsset, please use `@frontify/app-bridge-app` + ## 4.0.0-alpha.38 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 2baf40e74..e68592c16 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.38", + "version": "4.0.0-alpha.39", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From b8d3922f5e10445426e9c9930ab004e41d8c3fb7 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Fri, 9 May 2025 11:30:03 +0200 Subject: [PATCH 161/327] feat: introduce state to AppBridgeTheme (#1208) * feat: introduce state to AppBridgeTheme * Update .changeset/strange-radios-bow.md Co-authored-by: Anxo Botana --------- Co-authored-by: Anxo Botana --- .changeset/strange-radios-bow.md | 5 +++ .../app-bridge-theme/src/AppBridgeTheme.ts | 6 +++ packages/app-bridge-theme/src/types/State.ts | 42 +++++++++++++++++++ packages/app-bridge-theme/src/types/index.ts | 1 + 4 files changed, 54 insertions(+) create mode 100644 .changeset/strange-radios-bow.md create mode 100644 packages/app-bridge-theme/src/types/State.ts diff --git a/.changeset/strange-radios-bow.md b/.changeset/strange-radios-bow.md new file mode 100644 index 000000000..1576b2898 --- /dev/null +++ b/.changeset/strange-radios-bow.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: Introduced a State for AppBridgeTheme diff --git a/packages/app-bridge-theme/src/AppBridgeTheme.ts b/packages/app-bridge-theme/src/AppBridgeTheme.ts index 7574e165c..4c6880004 100644 --- a/packages/app-bridge-theme/src/AppBridgeTheme.ts +++ b/packages/app-bridge-theme/src/AppBridgeTheme.ts @@ -10,6 +10,8 @@ import { type EventNameParameter, type EventUnsubscribeFunction, type GuidelineSearchResult, + type State, + type StateReturn, } from './types'; export interface AppBridgeTheme { @@ -21,6 +23,10 @@ export interface AppBridgeTheme { context(key: Key): ContextReturn; context(key?: keyof Context | void): unknown; + state(): StateReturn; + state(key: Key): StateReturn; + state(key?: keyof State | void): unknown; + subscribe( eventName: EventNameParameter, callback: EventCallbackParameter, diff --git a/packages/app-bridge-theme/src/types/State.ts b/packages/app-bridge-theme/src/types/State.ts new file mode 100644 index 000000000..335a6687d --- /dev/null +++ b/packages/app-bridge-theme/src/types/State.ts @@ -0,0 +1,42 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type EventUnsubscribeFunction } from './Event.ts'; + +export type State = { + /** + * The total height of any sticky elements at the top of the document in pixels. + */ + scrollTopOffset: number; +}; + +export type StateReturn = Key extends keyof State + ? { + /** + * Gets the current value of the state object at the given key. + */ + get(): Readonly; + /** + * Sets a new value of the state object at the given key. + */ + set(nextState: State[Key]): void; + /** + * Subscribes to changes in the state object at the given key. + */ + subscribe( + callbackFunction: (nextState: State[Key], previousState: State[Key]) => void, + ): EventUnsubscribeFunction; + } + : { + /** + * Gets the current value of the state object. + */ + get(): Readonly; + /** + * Sets a new value of the state object. + */ + set(nextState: State): void; + /** + * Subscribes to changes in the state object. + */ + subscribe(callbackFunction: (nextState: State, previousState: State) => void): EventUnsubscribeFunction; + }; diff --git a/packages/app-bridge-theme/src/types/index.ts b/packages/app-bridge-theme/src/types/index.ts index cc7fcfe16..1860dce5e 100644 --- a/packages/app-bridge-theme/src/types/index.ts +++ b/packages/app-bridge-theme/src/types/index.ts @@ -8,4 +8,5 @@ export * from './Event'; export * from './Guideline'; export * from './GuidelineSearchResult'; export * from './Language'; +export * from './State'; export * from './ThemeTemplate'; From 25fd5d4b69a2cf8c1acc63d6f02731b7403a4e87 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 11:41:25 +0200 Subject: [PATCH 162/327] chore: release packages (alpha) (#1209) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index dafb9bc84..2abbead37 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -74,6 +74,7 @@ "sour-cheetahs-buy", "spicy-books-shout", "stale-hairs-wash", + "strange-radios-bow", "strong-tools-check", "tasty-coins-jam", "tasty-vans-cough", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 620190b3e..e98172f65 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.23 + +### Patch Changes + +- [#1208](https://github.com/Frontify/brand-sdk/pull/1208) [`b8d3922`](https://github.com/Frontify/brand-sdk/commit/b8d3922f5e10445426e9c9930ab004e41d8c3fb7) Thanks [@Kenny806](https://github.com/Kenny806)! - feat: Introduced a State for AppBridgeTheme + ## 0.0.0-alpha.22 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index b77228a53..57ee86b37 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.22", + "version": "0.0.0-alpha.23", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 2dc862ba4..cd8a3fe7e 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.9 + +### Patch Changes + +- Updated dependencies [[`b8d3922`](https://github.com/Frontify/brand-sdk/commit/b8d3922f5e10445426e9c9930ab004e41d8c3fb7)]: + - @frontify/app-bridge-theme@0.0.0-alpha.23 + ## 0.0.1-alpha.8 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index f3f47bfc6..e69882c52 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.8", + "version": "0.0.1-alpha.9", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 0324ffb2b108d33a83403cfd796c3445626f230a Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Fri, 9 May 2025 14:18:21 +0200 Subject: [PATCH 163/327] feat: extend AppBridgeTheme Event types to include state (#1210) * feat: extend AppBridgeTheme Event types to include state * changeset * chore: update import path --- .changeset/three-avocados-push.md | 5 +++++ packages/app-bridge-theme/src/types/Event.ts | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 .changeset/three-avocados-push.md diff --git a/.changeset/three-avocados-push.md b/.changeset/three-avocados-push.md new file mode 100644 index 000000000..073519f5e --- /dev/null +++ b/.changeset/three-avocados-push.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: extend AppBridgeTheme Event types to include State diff --git a/packages/app-bridge-theme/src/types/Event.ts b/packages/app-bridge-theme/src/types/Event.ts index 3d3dd74b7..917b74828 100644 --- a/packages/app-bridge-theme/src/types/Event.ts +++ b/packages/app-bridge-theme/src/types/Event.ts @@ -6,6 +6,7 @@ import { type EventRegistry } from '../registries'; import { type ObjectNameValidator, type WrongNamePattern } from './Common'; import { type Context } from './Context'; +import { type State } from './State'; type EventVerb = 'chosen'; @@ -20,17 +21,29 @@ type ContextAsEventName = { ]; }; +type StateAsEventName = { + [StateKey in keyof State as StateKey extends string ? `State.${StateKey}` : never]: [ + State[StateKey], + State[StateKey], + ]; +}; + export type AppBridgeThemeEvent = EventNameValidator< Pick & ContextAsEventName< Context & { '*': Context; } + > & + StateAsEventName< + State & { + '*': State; + } > >; export type EventNamePattern = { - [eventName: `Context.${string}` | `${string}${Capitalize}`]: unknown; + [eventName: `Context.${string}` | `State.${string}` | `${string}${Capitalize}`]: unknown; }; export type EventNameParameter< EventName, From a3c186b16f0d0c2482137d3ec4dc74d32084bbc1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 14:29:09 +0200 Subject: [PATCH 164/327] chore: release packages (alpha) (#1211) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 2abbead37..ec216c268 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -80,6 +80,7 @@ "tasty-vans-cough", "ten-guests-wash", "thirty-pears-lay", + "three-avocados-push", "tough-nails-shout", "tricky-boats-sip", "twelve-keys-begin", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index e98172f65..17a17017f 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.24 + +### Patch Changes + +- [#1210](https://github.com/Frontify/brand-sdk/pull/1210) [`0324ffb`](https://github.com/Frontify/brand-sdk/commit/0324ffb2b108d33a83403cfd796c3445626f230a) Thanks [@Kenny806](https://github.com/Kenny806)! - feat: extend AppBridgeTheme Event types to include State + ## 0.0.0-alpha.23 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 57ee86b37..21a3faa2c 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.23", + "version": "0.0.0-alpha.24", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index cd8a3fe7e..1ddfcce1f 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.10 + +### Patch Changes + +- Updated dependencies [[`0324ffb`](https://github.com/Frontify/brand-sdk/commit/0324ffb2b108d33a83403cfd796c3445626f230a)]: + - @frontify/app-bridge-theme@0.0.0-alpha.24 + ## 0.0.1-alpha.9 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index e69882c52..d5f070c42 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.9", + "version": "0.0.1-alpha.10", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From b1f7ebf02cf5f77b1fe2d1286a4d9727ec49d25a Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Mon, 12 May 2025 16:34:09 +0200 Subject: [PATCH 165/327] chore: update @frontify/sidebar-settings in guideline-themes (#1212) --- .changeset/dull-planes-worry.md | 5 +++++ packages/guideline-themes/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/dull-planes-worry.md diff --git a/.changeset/dull-planes-worry.md b/.changeset/dull-planes-worry.md new file mode 100644 index 000000000..c3f65bd72 --- /dev/null +++ b/.changeset/dull-planes-worry.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-themes": patch +--- + +chore: update the @frontify/sidebar-settings dependency diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index d5f070c42..c970ddedf 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "@frontify/app-bridge-theme": "workspace:^", - "@frontify/sidebar-settings": "^0.9.20" + "@frontify/sidebar-settings": "^0.10.1" }, "devDependencies": { "@frontify/eslint-config-react": "0.17.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02437bc52..e9df5ea8a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -488,8 +488,8 @@ importers: specifier: workspace:^ version: link:../app-bridge-theme '@frontify/sidebar-settings': - specifier: ^0.9.20 - version: 0.9.23(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) + specifier: ^0.10.1 + version: 0.10.1(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) devDependencies: '@frontify/eslint-config-react': specifier: 0.17.6 @@ -1732,8 +1732,8 @@ packages: react: ^18 react-dom: ^18 - '@frontify/sidebar-settings@0.9.23': - resolution: {integrity: sha512-CAj889AZsG660O+gOP8xy738SLBApoPSlNRCBuq9AXX0dV/srdxxZ54l/WAIzxWaDpD6Hes7O7ovvm8i5ZBHSA==} + '@frontify/sidebar-settings@0.10.1': + resolution: {integrity: sha512-E6qkZaMWGEOfJi6Xy2hINoAE2qlNvIbi35UaLgZx+KjOiYXKTZ/NFIjDrqcHLPsK14fHugFf/oZzDc+qDwtEvA==} peerDependencies: react: ^18 react-dom: ^18 @@ -10943,7 +10943,7 @@ snapshots: - tailwindcss - zustand - '@frontify/sidebar-settings@0.9.23(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': + '@frontify/sidebar-settings@0.10.1(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1))': dependencies: '@frontify/fondue': 12.9.3(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@18.19.39)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@18.19.39)(typescript@5.5.2)))(zustand@4.5.3(@types/react@18.3.3)(immer@10.1.1)(react@18.3.1)) react: 18.3.1 From b67f2487d701e1b448a57e7d6c92c0e3050e9147 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 09:36:52 +0200 Subject: [PATCH 166/327] chore: release packages (alpha) (#1213) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/guideline-themes/CHANGELOG.md | 6 ++++++ packages/guideline-themes/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index ec216c268..1f7b2a960 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -22,6 +22,7 @@ "curly-pots-scream", "cyan-cougars-invite", "dry-mangos-fix", + "dull-planes-worry", "early-masks-appear", "eighty-ants-happen", "eleven-shrimps-jog", diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 1ddfcce1f..69d67d032 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-themes +## 0.0.1-alpha.11 + +### Patch Changes + +- [#1212](https://github.com/Frontify/brand-sdk/pull/1212) [`b1f7ebf`](https://github.com/Frontify/brand-sdk/commit/b1f7ebf02cf5f77b1fe2d1286a4d9727ec49d25a) Thanks [@Kenny806](https://github.com/Kenny806)! - chore: update the @frontify/sidebar-settings dependency + ## 0.0.1-alpha.10 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index c970ddedf..0b658bda6 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.10", + "version": "0.0.1-alpha.11", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 242db22097bbb8f14187ef5af42d2cd6374a8357 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 14 May 2025 10:39:53 +0200 Subject: [PATCH 167/327] feat(PlatformAppsDialog): add command to open the platform apps dialog (#1214) * feat(PlatformAppBrowser): add command to open the platform app browser * rename --- .changeset/new-dots-clean.md | 5 +++++ .../src/registries/CommandRegistry.ts | 2 ++ .../src/registries/commands/PlatformAppBrowser.ts | 12 ++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 .changeset/new-dots-clean.md create mode 100644 packages/app-bridge-theme/src/registries/commands/PlatformAppBrowser.ts diff --git a/.changeset/new-dots-clean.md b/.changeset/new-dots-clean.md new file mode 100644 index 000000000..09de6f3c2 --- /dev/null +++ b/.changeset/new-dots-clean.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": minor +--- + +feat: add command to open and close the platform apps dialog diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index 19a88cd90..174d2b724 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -5,6 +5,8 @@ import { type Simplify } from 'type-fest'; import { type ObjectNameValidator } from '../types'; export type CommandRegistry = CommandNameValidator<{ + openPlatformAppsDialog: void; + closePlatformAppsDialog: void; openSearchDialog: void; closeSearchDialog: void; openAiBrandAssistantDialog: void; diff --git a/packages/app-bridge-theme/src/registries/commands/PlatformAppBrowser.ts b/packages/app-bridge-theme/src/registries/commands/PlatformAppBrowser.ts new file mode 100644 index 000000000..efcf87792 --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/PlatformAppBrowser.ts @@ -0,0 +1,12 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from '../../types'; +import { type CommandRegistry } from '../CommandRegistry'; + +export const openPlatformAppsDialog = (): DispatchHandlerParameter<'openPlatformAppsDialog', CommandRegistry> => ({ + name: 'openPlatformAppsDialog', +}); + +export const closePlatformAppsDialog = (): DispatchHandlerParameter<'closePlatformAppsDialog', CommandRegistry> => ({ + name: 'closePlatformAppsDialog', +}); From 8d02a9d4d60f7fec8b51089fac6aad473c5589f2 Mon Sep 17 00:00:00 2001 From: ragi96 Date: Wed, 14 May 2025 10:44:58 +0200 Subject: [PATCH 168/327] test: remove flaky test which needs to be migrated --- .../src/react/useDocumentGroups.spec.ts | 226 --------- .../src/react/useUngroupedDocuments.spec.ts | 466 ------------------ 2 files changed, 692 deletions(-) delete mode 100644 packages/app-bridge/src/react/useDocumentGroups.spec.ts delete mode 100644 packages/app-bridge/src/react/useUngroupedDocuments.spec.ts diff --git a/packages/app-bridge/src/react/useDocumentGroups.spec.ts b/packages/app-bridge/src/react/useDocumentGroups.spec.ts deleted file mode 100644 index ab630fc7f..000000000 --- a/packages/app-bridge/src/react/useDocumentGroups.spec.ts +++ /dev/null @@ -1,226 +0,0 @@ -// @vitest-environment happy-dom - -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook, waitFor } from '@testing-library/react'; -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { DocumentGroupDummy, getAppBridgeThemeStub } from '../tests'; - -import { useDocumentGroups } from './useDocumentGroups'; - -const DOCUMENT_GROUP_ID_1 = 5332; -const DOCUMENT_GROUP_ID_2 = 95694; -const DOCUMENT_GROUP_ID_3 = 345882; -const DOCUMENT_ID_1 = 6456; - -describe('usedDocumentGroups', () => { - afterEach(() => { - vi.resetAllMocks(); - }); - - it('should fetch document groups on mount', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - const { result } = renderHook(() => useDocumentGroups(appBridge)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - - expect(result.current.documentGroups).toEqual([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 3), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), - ]); - }); - }); - - it('should not fetch document groups on mount if not enabled', () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - const { result } = renderHook(() => useDocumentGroups(appBridge, { enabled: false })); - - expect(result.current.isLoading).toBe(true); - expect(spy).not.toHaveBeenCalled(); - expect(result.current.documentGroups).toEqual([]); - }); - - it('should fetch document gropups if it gets enabled', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - let enabled = false; - - const { result, rerender } = renderHook(() => useDocumentGroups(appBridge, { enabled })); - - expect(result.current.isLoading).toBe(true); - expect(spy).not.toHaveBeenCalled(); - expect(result.current.documentGroups).toEqual([]); - - enabled = true; - - rerender(); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.documentGroups).toEqual([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 3), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), - ]); - }); - }); - - it('should update document group if a document is added', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - const { result } = renderHook(() => useDocumentGroups(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.documentGroups).toEqual([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 3), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), - ]); - }); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 3), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 3), - ]), - ); - - // Trigger a "document added" event in the specified document group - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - action: 'add', - document: { id: DOCUMENT_ID_1, documentGroupId: DOCUMENT_GROUP_ID_3 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentGroups).toEqual([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 3), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 3), - ]); - }); - - it('should update document group if a document is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - const { result } = renderHook(() => useDocumentGroups(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 2), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), - ]), - ); - - // Trigger a "document deleted" event in the specified document group - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - action: 'delete', - document: { id: DOCUMENT_ID_1, documentGroupId: DOCUMENT_GROUP_ID_1 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentGroups).toEqual([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 2), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), - ]); - }); - - it('should update document group if a document group is moved', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - const GROUP_1 = DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 2), sort: 1 }); - const GROUP_2 = DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 2), sort: 2 }); - const NEW_GROUP_2 = DocumentGroupDummy.withFields({ ...GROUP_2, sort: 3 }); - const GROUP_3 = DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), sort: 3 }); - const NEW_GROUP_3 = DocumentGroupDummy.withFields({ ...GROUP_3, sort: 2 }); - - spy.mockImplementationOnce(() => Promise.resolve([GROUP_1, GROUP_3, GROUP_2])); - const { result } = renderHook(() => useDocumentGroups(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - window.emitter.emit('AppBridge:GuidelineDocumentGroup:MoveEvent', { - action: 'movePreview', - documentGroup: { id: DOCUMENT_GROUP_ID_3, sort: 3 }, - position: 2, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - expect(result.current.documentGroups).toEqual([GROUP_1, NEW_GROUP_3, NEW_GROUP_2]); - }); - - it('should update document group if a document is moved', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentGroups'); - - const GROUP_1 = DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 2), sort: 1 }); - const GROUP_2 = DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 2), sort: 2 }); - const GROUP_3 = DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), sort: 3 }); - const NEW_GROUP_3 = DocumentGroupDummy.withFields({ ...GROUP_3, sort: 4 }); - - spy.mockImplementationOnce(() => Promise.resolve([GROUP_1, GROUP_2, GROUP_3])); - const { result } = renderHook(() => useDocumentGroups(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - window.emitter.emit('AppBridge:GuidelineDocument:MoveEvent', { - action: 'movePreview', - document: { id: DOCUMENT_ID_1, sort: 4 }, - newGroupId: null, - position: 2, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - expect(result.current.documentGroups).toEqual([GROUP_1, GROUP_2, NEW_GROUP_3]); - }); -}); diff --git a/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts b/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts deleted file mode 100644 index c913d4813..000000000 --- a/packages/app-bridge/src/react/useUngroupedDocuments.spec.ts +++ /dev/null @@ -1,466 +0,0 @@ -// @vitest-environment happy-dom - -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook, waitFor } from '@testing-library/react'; -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { DocumentDummy, getAppBridgeThemeStub } from '../tests'; - -import { useUngroupedDocuments } from './useUngroupedDocuments'; - -const DOCUMENT_ID_1 = 6456; -const DOCUMENT_ID_2 = 34532; -const DOCUMENT_ID_3 = 3455345; -const DOCUMENT_ID_4 = 2342; -const DOCUMENT_ID_5 = 2343445; -const DOCUMENT_PAGE_ID = 68445; -const DOCUMENT_CATEGORY_ID = 123; -const DOCUMENT_GROUP_ID_1 = 5332; - -describe('useUngroupedDocuments', () => { - afterEach(() => { - vi.resetAllMocks(); - }); - - it('should fetch ungrouped documents on mount', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - DocumentDummy.with(DOCUMENT_ID_4), - DocumentDummy.with(DOCUMENT_ID_5), - ]); - }); - }); - - it('should not fetch ungrouped documents on mount if not enabled', () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: false })); - - expect(result.current.isLoading).toBe(true); - expect(spy).not.toHaveBeenCalled(); - expect(result.current.documents).toEqual([]); - }); - - it('should fetch ungrouped documents if it gets enabled', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - let enabled = false; - - const { result, rerender } = renderHook(() => useUngroupedDocuments(appBridge, { enabled })); - - expect(result.current.isLoading).toBe(true); - expect(spy).not.toHaveBeenCalled(); - expect(result.current.documents).toEqual([]); - - enabled = true; - - rerender(); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - DocumentDummy.with(DOCUMENT_ID_4), - DocumentDummy.with(DOCUMENT_ID_5), - ]); - }); - - it('should update document if a page is added', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const OLD_DOCUMENT = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - numberOfUncategorizedDocumentPages: 0, - }); - const NEW_DOCUMENT = DocumentDummy.withFields({ - ...OLD_DOCUMENT, - numberOfUncategorizedDocumentPages: 1, - }); - - // Mock the response of the first call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]), - ); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]), - ); - - // Trigger a "document page added" event in the specified document - window.emitter.emit('AppBridge:GuidelineDocument:DocumentPageAction', { - action: 'add', - documentPage: { id: DOCUMENT_PAGE_ID, documentId: DOCUMENT_ID_4 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]); - }); - - it('should update document if a page is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const OLD_DOCUMENT = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - numberOfUncategorizedDocumentPages: 1, - }); - const NEW_DOCUMENT = DocumentDummy.withFields({ - ...OLD_DOCUMENT, - numberOfUncategorizedDocumentPages: 0, - }); - - // Mock the response of the first call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]), - ); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]), - ); - - // Trigger a "document page added" event in the specified document - window.emitter.emit('AppBridge:GuidelineDocument:DocumentPageAction', { - action: 'delete', - documentPage: { id: DOCUMENT_PAGE_ID, documentId: DOCUMENT_ID_4 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]); - }); - - it('should update document if a category is added', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const OLD_DOCUMENT = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - numberOfDocumentPageCategories: 0, - }); - const NEW_DOCUMENT = DocumentDummy.withFields({ - ...OLD_DOCUMENT, - numberOfDocumentPageCategories: 1, - }); - - // Mock the response of the first call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]), - ); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]), - ); - - // Trigger a "document category added" event in the specified document - window.emitter.emit('AppBridge:GuidelineDocument:DocumentCategoryAction', { - action: 'add', - documentCategory: { id: DOCUMENT_CATEGORY_ID, documentId: DOCUMENT_ID_4 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]); - }); - - it('should update document if a category is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const OLD_DOCUMENT = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - numberOfDocumentPageCategories: 1, - }); - const NEW_DOCUMENT = DocumentDummy.withFields({ - ...OLD_DOCUMENT, - numberOfDocumentPageCategories: 0, - }); - - // Mock the response of the first call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - OLD_DOCUMENT, - ]), - ); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]), - ); - - // Trigger a "document category added" event in the specified document - window.emitter.emit('AppBridge:GuidelineDocument:DocumentCategoryAction', { - action: 'delete', - documentCategory: { id: DOCUMENT_CATEGORY_ID, documentId: DOCUMENT_ID_4 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documents).toEqual([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - NEW_DOCUMENT, - ]); - }); - - it('should update document sorting if a document is moved', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const DOCUMENT_1 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_1), - sort: 1, - }); - const DOCUMENT_2 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_2), - sort: 2, - }); - const NEW_DOCUMENT_2 = DocumentDummy.withFields({ - ...DOCUMENT_2, - sort: 3, - }); - const DOCUMENT_3 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_3), - sort: 3, - }); - const NEW_DOCUMENT_3 = DocumentDummy.withFields({ - ...DOCUMENT_3, - sort: 4, - }); - const DOCUMENT_4 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - sort: 4, - }); - const NEW_DOCUMENT_4 = DocumentDummy.withFields({ - ...DOCUMENT_4, - sort: 2, - }); - - // Mock the response of the first call - spy.mockImplementationOnce(() => Promise.resolve([DOCUMENT_1, DOCUMENT_2, DOCUMENT_3, DOCUMENT_4])); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - // Trigger a "document category added" event in the specified document - window.emitter.emit('AppBridge:GuidelineDocument:MoveEvent', { - action: 'movePreview', - position: 2, - newGroupId: null, - document: { id: DOCUMENT_ID_4, sort: 4, documentGroupId: null }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - expect(result.current.documents).toEqual([DOCUMENT_1, NEW_DOCUMENT_4, NEW_DOCUMENT_2, NEW_DOCUMENT_3]); - }); - - it('should update document sorting if a document group is moved', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - - const DOCUMENT_1 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_1), - sort: 1, - }); - const DOCUMENT_2 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_2), - sort: 2, - }); - const NEW_DOCUMENT_2 = DocumentDummy.withFields({ - ...DOCUMENT_2, - sort: 3, - }); - const DOCUMENT_3 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_3), - sort: 3, - }); - const NEW_DOCUMENT_3 = DocumentDummy.withFields({ - ...DOCUMENT_3, - sort: 4, - }); - const DOCUMENT_4 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - sort: 4, - }); - const NEW_DOCUMENT_4 = DocumentDummy.withFields({ - ...DOCUMENT_4, - sort: 5, - }); - - // Mock the response of the first call - spy.mockImplementationOnce(() => Promise.resolve([DOCUMENT_1, DOCUMENT_2, DOCUMENT_3, DOCUMENT_4])); - - const { result } = renderHook(() => useUngroupedDocuments(appBridge, { enabled: true })); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - // Trigger a "document category added" event in the specified document - window.emitter.emit('AppBridge:GuidelineDocumentGroup:MoveEvent', { - action: 'movePreview', - position: 2, - documentGroup: { id: DOCUMENT_GROUP_ID_1, sort: 5 }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - expect(result.current.documents).toEqual([DOCUMENT_1, NEW_DOCUMENT_2, NEW_DOCUMENT_3, NEW_DOCUMENT_4]); - }); -}); From e8f80db9ebff09c575acc932f22ce65886c4d7ee Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 14 May 2025 10:55:46 +0200 Subject: [PATCH 169/327] feat: add isPlatformAppsDialogOpen to context (#1218) --- .changeset/gentle-months-bake.md | 5 +++++ packages/app-bridge-theme/src/types/Context.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/gentle-months-bake.md diff --git a/.changeset/gentle-months-bake.md b/.changeset/gentle-months-bake.md new file mode 100644 index 000000000..17e90d922 --- /dev/null +++ b/.changeset/gentle-months-bake.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: add `isPlatformAppsDialogOpen` to context diff --git a/packages/app-bridge-theme/src/types/Context.ts b/packages/app-bridge-theme/src/types/Context.ts index a6d6de3c0..7d70c7f7d 100644 --- a/packages/app-bridge-theme/src/types/Context.ts +++ b/packages/app-bridge-theme/src/types/Context.ts @@ -36,6 +36,7 @@ export type Context = { isAuthenticated: boolean; isAiBrandAssistantDialogOpen: boolean; isSearchDialogOpen: boolean; + isPlatformAppsDialogOpen: boolean; activeSectionHeadingId: number | null; languages: Language[]; template: TemplateContext | null; From 49dc79e2bdbbc096b96e89ae5f05d044b68c0e76 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 11:02:28 +0200 Subject: [PATCH 170/327] chore: release packages (alpha) (#1217) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 2 ++ packages/app-bridge-theme/CHANGELOG.md | 10 ++++++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 1f7b2a960..cc51b87cc 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -33,6 +33,7 @@ "four-crabs-bake", "four-ravens-try", "fuzzy-walls-repeat", + "gentle-months-bake", "giant-shrimps-dream", "good-forks-repair", "gorgeous-seas-search", @@ -49,6 +50,7 @@ "nasty-feet-repair", "neat-plants-smile", "nervous-walls-repair", + "new-dots-clean", "new-zebras-unite", "nine-roses-sleep", "odd-geckos-end", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 17a17017f..a138cdd7f 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,15 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.25 + +### Minor Changes + +- [#1214](https://github.com/Frontify/brand-sdk/pull/1214) [`242db22`](https://github.com/Frontify/brand-sdk/commit/242db22097bbb8f14187ef5af42d2cd6374a8357) Thanks [@ragi96](https://github.com/ragi96)! - feat: add command to open and close the platform apps dialog + +### Patch Changes + +- [#1218](https://github.com/Frontify/brand-sdk/pull/1218) [`e8f80db`](https://github.com/Frontify/brand-sdk/commit/e8f80db9ebff09c575acc932f22ce65886c4d7ee) Thanks [@ragi96](https://github.com/ragi96)! - feat: add `isPlatformAppsDialogOpen` to context + ## 0.0.0-alpha.24 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 21a3faa2c..5d4dce5f8 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.24", + "version": "0.0.0-alpha.25", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 69d67d032..aa08c83a5 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.12 + +### Patch Changes + +- Updated dependencies [[`e8f80db`](https://github.com/Frontify/brand-sdk/commit/e8f80db9ebff09c575acc932f22ce65886c4d7ee), [`242db22`](https://github.com/Frontify/brand-sdk/commit/242db22097bbb8f14187ef5af42d2cd6374a8357)]: + - @frontify/app-bridge-theme@0.0.0-alpha.25 + ## 0.0.1-alpha.11 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 0b658bda6..7c444d843 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.11", + "version": "0.0.1-alpha.12", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 22226ab1266c83a8206a36431a419ad215ecbcb6 Mon Sep 17 00:00:00 2001 From: Mike Trummer Date: Wed, 14 May 2025 16:16:25 +0200 Subject: [PATCH 171/327] feat(AppBridgeTheme): export platform apps dialog (#1222) * feat: export PlatformAppsDialog * Create wise-zoos-jam.md --- .changeset/wise-zoos-jam.md | 5 +++++ .../{PlatformAppBrowser.ts => PlatformAppsDialog.ts} | 0 packages/app-bridge-theme/src/registries/commands/index.ts | 1 + 3 files changed, 6 insertions(+) create mode 100644 .changeset/wise-zoos-jam.md rename packages/app-bridge-theme/src/registries/commands/{PlatformAppBrowser.ts => PlatformAppsDialog.ts} (100%) diff --git a/.changeset/wise-zoos-jam.md b/.changeset/wise-zoos-jam.md new file mode 100644 index 000000000..bdc68a761 --- /dev/null +++ b/.changeset/wise-zoos-jam.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +feat: export platform apps dialog diff --git a/packages/app-bridge-theme/src/registries/commands/PlatformAppBrowser.ts b/packages/app-bridge-theme/src/registries/commands/PlatformAppsDialog.ts similarity index 100% rename from packages/app-bridge-theme/src/registries/commands/PlatformAppBrowser.ts rename to packages/app-bridge-theme/src/registries/commands/PlatformAppsDialog.ts diff --git a/packages/app-bridge-theme/src/registries/commands/index.ts b/packages/app-bridge-theme/src/registries/commands/index.ts index 68ddb4f91..256bf56a6 100644 --- a/packages/app-bridge-theme/src/registries/commands/index.ts +++ b/packages/app-bridge-theme/src/registries/commands/index.ts @@ -2,6 +2,7 @@ export * from './AiBrandAssistantDialog'; export * from './SearchDialog'; +export * from './PlatformAppsDialog'; export * from './Navigate'; export * from './NavigateToDocumentSection'; export * from './HydrateContextDocumentNavigation'; From bfe54847f4fa8ea325792f3cbffb801962f13bd0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 16:23:15 +0200 Subject: [PATCH 172/327] chore: release packages (alpha) (#1223) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index cc51b87cc..7c63e8bde 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -90,6 +90,7 @@ "violet-elephants-tan", "warm-hounds-refuse", "wild-bags-judge", + "wise-zoos-jam", "witty-rivers-smile", "witty-tools-check", "young-crews-hope" diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index a138cdd7f..918e60109 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.26 + +### Patch Changes + +- [#1222](https://github.com/Frontify/brand-sdk/pull/1222) [`22226ab`](https://github.com/Frontify/brand-sdk/commit/22226ab1266c83a8206a36431a419ad215ecbcb6) Thanks [@mike85](https://github.com/mike85)! - feat: export platform apps dialog + ## 0.0.0-alpha.25 ### Minor Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 5d4dce5f8..f2101016a 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.25", + "version": "0.0.0-alpha.26", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index aa08c83a5..294599762 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.13 + +### Patch Changes + +- Updated dependencies [[`22226ab`](https://github.com/Frontify/brand-sdk/commit/22226ab1266c83a8206a36431a419ad215ecbcb6)]: + - @frontify/app-bridge-theme@0.0.0-alpha.26 + ## 0.0.1-alpha.12 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 7c444d843..2338010ed 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.12", + "version": "0.0.1-alpha.13", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From 559f24efe287c913ecfc0755ff18c56fcfe2fa56 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Thu, 12 Jun 2025 09:49:30 +0200 Subject: [PATCH 173/327] feat: add alt text to asset (#1232) * feat: add alt text to asset * fix dummy * add changeset --- .changeset/old-cougars-study.md | 5 +++++ packages/app-bridge/src/repositories/AssetRepository.ts | 1 + packages/app-bridge/src/tests/AssetApiDummy.ts | 1 + packages/app-bridge/src/tests/AssetChooserResultDummy.ts | 1 + packages/app-bridge/src/tests/AssetDummy.ts | 1 + packages/app-bridge/src/types/Asset.ts | 2 ++ 6 files changed, 11 insertions(+) create mode 100644 .changeset/old-cougars-study.md diff --git a/.changeset/old-cougars-study.md b/.changeset/old-cougars-study.md new file mode 100644 index 000000000..5acf1ad7b --- /dev/null +++ b/.changeset/old-cougars-study.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": minor +--- + +feat(Asset): added the property alternativeText diff --git a/packages/app-bridge/src/repositories/AssetRepository.ts b/packages/app-bridge/src/repositories/AssetRepository.ts index f1f16ad03..0ee863fa6 100644 --- a/packages/app-bridge/src/repositories/AssetRepository.ts +++ b/packages/app-bridge/src/repositories/AssetRepository.ts @@ -16,6 +16,7 @@ export const createAssetByFileId = async (fileId: string, projectId: number, set export const mapAssetApiToAsset = (asset: AssetApi): Asset => { return { id: asset.id, + alternativeText: asset.alternative_text, objectType: asset.object_type, extension: asset.ext, creatorName: asset.creator_name, diff --git a/packages/app-bridge/src/tests/AssetApiDummy.ts b/packages/app-bridge/src/tests/AssetApiDummy.ts index b4f37197a..8d50abf43 100644 --- a/packages/app-bridge/src/tests/AssetApiDummy.ts +++ b/packages/app-bridge/src/tests/AssetApiDummy.ts @@ -7,6 +7,7 @@ export class AssetApiDummy { return { id, creator_name: 'Creator Name', + alternative_text: 'Alternative Text', ext: 'png', external_url: null, file_id: 'x1x1x1x1x1x1', diff --git a/packages/app-bridge/src/tests/AssetChooserResultDummy.ts b/packages/app-bridge/src/tests/AssetChooserResultDummy.ts index 3df361c64..ae3eec032 100644 --- a/packages/app-bridge/src/tests/AssetChooserResultDummy.ts +++ b/packages/app-bridge/src/tests/AssetChooserResultDummy.ts @@ -7,6 +7,7 @@ export class AssetChooserResultDummy { return { id, creator_name: 'Creator Name', + alternative_text: 'Alternative Text', ext: 'png', external_url: null, file_id: 'x1x1x1x1x1x1', diff --git a/packages/app-bridge/src/tests/AssetDummy.ts b/packages/app-bridge/src/tests/AssetDummy.ts index e7e55ad0c..7f25d37c4 100644 --- a/packages/app-bridge/src/tests/AssetDummy.ts +++ b/packages/app-bridge/src/tests/AssetDummy.ts @@ -7,6 +7,7 @@ export class AssetDummy { return { id, creatorName: 'Creator Name', + alternativeText: 'Alternative Text', extension: 'png', externalUrl: null, fileName: 'fileName.png', diff --git a/packages/app-bridge/src/types/Asset.ts b/packages/app-bridge/src/types/Asset.ts index 2c4e5bcf8..203a45831 100644 --- a/packages/app-bridge/src/types/Asset.ts +++ b/packages/app-bridge/src/types/Asset.ts @@ -3,6 +3,7 @@ export type AssetApi = { id: number; creator_name: string; + alternative_text: Nullable; ext: string; external_url: Nullable; file_name: string; @@ -29,6 +30,7 @@ export type AssetApi = { export type Asset = { id: number; creatorName: string; + alternativeText: Nullable; extension: string; externalUrl: Nullable; fileName: string; From 989529fe40917a77269718b240dfe2ed0a5d257f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 09:58:33 +0200 Subject: [PATCH 174/327] chore: release packages (alpha) (#1233) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 7c63e8bde..ceb92884c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -54,6 +54,7 @@ "new-zebras-unite", "nine-roses-sleep", "odd-geckos-end", + "old-cougars-study", "orange-jokes-listen", "pink-bugs-behave", "pink-geckos-change", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f36c2d0e7..c58a5dde0 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.40 + +### Minor Changes + +- [#1232](https://github.com/Frontify/brand-sdk/pull/1232) [`559f24e`](https://github.com/Frontify/brand-sdk/commit/559f24efe287c913ecfc0755ff18c56fcfe2fa56) Thanks [@ragi96](https://github.com/ragi96)! - feat(Asset): added the property alternativeText + ## 4.0.0-alpha.39 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index e68592c16..9327ab259 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.39", + "version": "4.0.0-alpha.40", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 02fd19d27220470f6ba523a0cae29fc36ab55758 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Thu, 12 Jun 2025 15:16:21 +0200 Subject: [PATCH 175/327] fix: assetChooser result alt text (#1235) --- .changeset/ninety-lions-love.md | 5 +++++ packages/app-bridge/src/tests/AssetChooserResultDummy.ts | 2 +- packages/app-bridge/src/types/Terrific.ts | 6 +++++- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .changeset/ninety-lions-love.md diff --git a/.changeset/ninety-lions-love.md b/.changeset/ninety-lions-love.md new file mode 100644 index 000000000..e7f4b965e --- /dev/null +++ b/.changeset/ninety-lions-love.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +fix: AssetChooserResult Type as alternative text is prefixed with computed diff --git a/packages/app-bridge/src/tests/AssetChooserResultDummy.ts b/packages/app-bridge/src/tests/AssetChooserResultDummy.ts index ae3eec032..fabe32a57 100644 --- a/packages/app-bridge/src/tests/AssetChooserResultDummy.ts +++ b/packages/app-bridge/src/tests/AssetChooserResultDummy.ts @@ -7,7 +7,7 @@ export class AssetChooserResultDummy { return { id, creator_name: 'Creator Name', - alternative_text: 'Alternative Text', + computed_alternative_text: 'Alternative Text', ext: 'png', external_url: null, file_id: 'x1x1x1x1x1x1', diff --git a/packages/app-bridge/src/types/Terrific.ts b/packages/app-bridge/src/types/Terrific.ts index b7528203c..b1683ea4d 100644 --- a/packages/app-bridge/src/types/Terrific.ts +++ b/packages/app-bridge/src/types/Terrific.ts @@ -17,7 +17,11 @@ export type TerrificComponent = { }; }; -export type AssetChooserResult = Omit & { project: number; filesize: number }; +export type AssetChooserResult = Omit & { + project: number; + filesize: number; + computed_alternative_text: Nullable; +}; export type TemplateChooserResult = TemplateApiLegacy; export type AssetChooserAssetChosenCallback = (selectedAsset: { screenData: AssetChooserResult[] }) => void; From 02c031ecc45a9ff096cce2890d2c5a5585d2526d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Jun 2025 15:24:29 +0200 Subject: [PATCH 176/327] chore: release packages (alpha) (#1236) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index ceb92884c..8a4e0e64e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -53,6 +53,7 @@ "new-dots-clean", "new-zebras-unite", "nine-roses-sleep", + "ninety-lions-love", "odd-geckos-end", "old-cougars-study", "orange-jokes-listen", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index c58a5dde0..f325072a1 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.41 + +### Patch Changes + +- [#1235](https://github.com/Frontify/brand-sdk/pull/1235) [`02fd19d`](https://github.com/Frontify/brand-sdk/commit/02fd19d27220470f6ba523a0cae29fc36ab55758) Thanks [@ragi96](https://github.com/ragi96)! - fix: AssetChooserResult Type as alternative text is prefixed with computed + ## 4.0.0-alpha.40 ### Minor Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 9327ab259..c01a87db5 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.40", + "version": "4.0.0-alpha.41", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From ce8e4f5d98a825a87f1928a2aaf83bb5d0031d89 Mon Sep 17 00:00:00 2001 From: ragi96 Date: Thu, 12 Jun 2025 15:32:30 +0200 Subject: [PATCH 177/327] test: remove the flakey tests --- .../useUncategorizedDocumentPages.spec.ts | 589 ------------------ 1 file changed, 589 deletions(-) delete mode 100644 packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts diff --git a/packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts b/packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts deleted file mode 100644 index 14b50d140..000000000 --- a/packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts +++ /dev/null @@ -1,589 +0,0 @@ -// @vitest-environment happy-dom - -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook, waitFor } from '@testing-library/react'; -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { DocumentPageDummy, getAppBridgeThemeStub } from '../tests'; -import { type DocumentPage } from '../types'; - -import { useUncategorizedDocumentPages } from './useUncategorizedDocumentPages'; - -const DOCUMENT_ID = 345346; -const ANOTHER_DOCUMENT_ID = 49385; -const DOCUMENT_PAGE_ID_1 = 24324; -const DOCUMENT_PAGE_ID_2 = 3532; -const DOCUMENT_PAGE_ID_3 = 98954; -const DOCUMENT_PAGE_ID_4 = 68445; -const DOCUMENT_CATEGORY_ID = 34656; - -describe('useUncategorizedDocumentPages', () => { - afterEach(() => { - vi.resetAllMocks(); - }); - - it('should fetch document pages on mount', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledTimes(1); - expect(spy).toHaveBeenCalledWith(DOCUMENT_ID); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.documentPages).toEqual([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - ]); - }); - }); - - it('should not fetch document pages on mount if not enabled', () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID, { enabled: false })); - - expect(result.current.isLoading).toBe(true); - expect(spy).not.toHaveBeenCalled(); - expect(result.current.documentPages).toEqual([]); - }); - - it('should fetch document pages if it gets enabled', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - let enabled = false; - - const { result, rerender } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID, { enabled }), - ); - - expect(result.current.isLoading).toBe(true); - expect(spy).not.toHaveBeenCalled(); - expect(result.current.documentPages).toEqual([]); - - enabled = true; - - rerender(); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalled(); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.documentPages).toEqual([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - ]); - }); - }); - - it('should update document pages if a page is added in the current document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID, - categoryId: null, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_4, documentId: DOCUMENT_ID, categoryId: null }), - ]), - ); - - // Trigger a "document page added" event in the current document - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'add', - documentPage: DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledTimes(2); - }); - - expect(result.current.documentPages).toEqual([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_4, documentId: DOCUMENT_ID, categoryId: null }), - ]); - }); - - it('should not update document pages if a page is added in another document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: ANOTHER_DOCUMENT_ID, - categoryId: null, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page added" event from another document - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'add', - documentPage: DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - ]); - }); - - it('should not update the document pages if a page is added in a category', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: DOCUMENT_CATEGORY_ID, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page added" event from a category - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'add', - documentPage: DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - ]); - }); - - it('should update document pages if a page is removed from the document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page deleted" event in the current document - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'delete', - documentPage: { - id: DOCUMENT_PAGE.id, - documentId: DOCUMENT_PAGE.documentId, - categoryId: DOCUMENT_PAGE.categoryId, - }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages).toEqual([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - ]); - }); - - it('should not update document pages if a page is removed from another document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: ANOTHER_DOCUMENT_ID, - categoryId: null, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page deleted" event in the current document - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'delete', - documentPage: { - id: DOCUMENT_PAGE.id, - documentId: DOCUMENT_PAGE.documentId, - categoryId: DOCUMENT_PAGE.categoryId, - }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - ]); - }); - - it('should not update the document pages if a page is removed from a category', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID, - categoryId: DOCUMENT_CATEGORY_ID, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page deleted" event from another category - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'delete', - documentPage: { - id: DOCUMENT_PAGE.id, - documentId: DOCUMENT_PAGE.documentId, - categoryId: DOCUMENT_PAGE.categoryId, - }, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - ]); - }); - - it('should update document pages if a page is updated in the document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const UPDATED_DOCUMENT_PAGE: DocumentPage = { - ...DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 2, - }), - title: 'Updated title', - }; - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 1, - }), - UPDATED_DOCUMENT_PAGE, - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - ]), - ); - - // Trigger a "document page updated" event in the specified category - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'update', - documentPage: UPDATED_DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledTimes(2); - }); - - expect(result.current.documentPages).toEqual([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 1, - }), - UPDATED_DOCUMENT_PAGE, - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - ]); - }); - - it('should not update the document pages if a page is updated from another document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const UPDATED_DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: ANOTHER_DOCUMENT_ID, - categoryId: DOCUMENT_CATEGORY_ID, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page updated" event from a category - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'update', - documentPage: UPDATED_DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - ]); - }); - - it('should not update the document pages if a page is updated in a category', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const UPDATED_DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID, - categoryId: DOCUMENT_CATEGORY_ID, - }); - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Trigger a "document page updated" event from a category - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'update', - documentPage: UPDATED_DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - ]); - }); - - it('should update document pages if a page is moved in the document', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - - const UPDATED_DOCUMENT_PAGE: DocumentPage = { - ...DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 2, - }), - sort: 3, - }; - - const { result } = renderHook(() => useUncategorizedDocumentPages(appBridge, DOCUMENT_ID)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - - await waitFor(() => expect(result.current.isLoading).toBe(false)); - - // Mock the response of the second call - spy.mockImplementationOnce(() => - Promise.resolve([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 1, - }), - UPDATED_DOCUMENT_PAGE, - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - ]), - ); - - // Trigger a "document page updated" event in the specified category - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'move', - documentPage: UPDATED_DOCUMENT_PAGE, - }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledOnce(); - }); - - expect(result.current.documentPages).toEqual([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID, - categoryId: null, - sort: 3, - }), - UPDATED_DOCUMENT_PAGE, - ]); - }); -}); From 10712c01e2b5b4979b8649525515e490b6c4125b Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Mon, 23 Jun 2025 15:44:58 +0200 Subject: [PATCH 178/327] refactor: add navigateToSectionHeading (#1238) * refactor: add navigateToSectionHeading command * changeset --- .changeset/little-eagles-joke.md | 5 +++++ .../src/registries/CommandRegistry.ts | 1 + .../registries/commands/NavigateToDocumentSection.ts | 1 + .../registries/commands/NavigateToSectionHeading.ts | 11 +++++++++++ .../app-bridge-theme/src/registries/commands/index.ts | 1 + 5 files changed, 19 insertions(+) create mode 100644 .changeset/little-eagles-joke.md create mode 100644 packages/app-bridge-theme/src/registries/commands/NavigateToSectionHeading.ts diff --git a/.changeset/little-eagles-joke.md b/.changeset/little-eagles-joke.md new file mode 100644 index 000000000..c0276207c --- /dev/null +++ b/.changeset/little-eagles-joke.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +refactor: deprecating navigateToDocumentSection in favor of navigateToSectionHeading. diff --git a/packages/app-bridge-theme/src/registries/CommandRegistry.ts b/packages/app-bridge-theme/src/registries/CommandRegistry.ts index 174d2b724..ab58bf232 100644 --- a/packages/app-bridge-theme/src/registries/CommandRegistry.ts +++ b/packages/app-bridge-theme/src/registries/CommandRegistry.ts @@ -13,6 +13,7 @@ export type CommandRegistry = CommandNameValidator<{ closeAiBrandAssistantDialog: void; navigate: string; navigateToDocumentSection: number | string; + navigateToSectionHeading: number | string; hydrateContextDocumentNavigation: number; }>; diff --git a/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts b/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts index 895d1c6e8..32353bd01 100644 --- a/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts +++ b/packages/app-bridge-theme/src/registries/commands/NavigateToDocumentSection.ts @@ -3,6 +3,7 @@ import { type DispatchHandlerParameter } from '../../types'; import { type CommandRegistry } from '../CommandRegistry'; +/** @deprecated Use navigateToSectionHeading instead */ export const navigateToDocumentSection = ( sectionId: CommandRegistry['navigateToDocumentSection'], ): DispatchHandlerParameter<'navigateToDocumentSection', CommandRegistry> => ({ diff --git a/packages/app-bridge-theme/src/registries/commands/NavigateToSectionHeading.ts b/packages/app-bridge-theme/src/registries/commands/NavigateToSectionHeading.ts new file mode 100644 index 000000000..901ae7bd5 --- /dev/null +++ b/packages/app-bridge-theme/src/registries/commands/NavigateToSectionHeading.ts @@ -0,0 +1,11 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +import { type DispatchHandlerParameter } from '../../types'; +import { type CommandRegistry } from '../CommandRegistry'; + +export const navigateToSectionHeading = ( + sectionId: CommandRegistry['navigateToSectionHeading'], +): DispatchHandlerParameter<'navigateToSectionHeading', CommandRegistry> => ({ + name: 'navigateToSectionHeading', + payload: sectionId, +}); diff --git a/packages/app-bridge-theme/src/registries/commands/index.ts b/packages/app-bridge-theme/src/registries/commands/index.ts index 256bf56a6..46736af73 100644 --- a/packages/app-bridge-theme/src/registries/commands/index.ts +++ b/packages/app-bridge-theme/src/registries/commands/index.ts @@ -5,4 +5,5 @@ export * from './SearchDialog'; export * from './PlatformAppsDialog'; export * from './Navigate'; export * from './NavigateToDocumentSection'; +export * from './NavigateToSectionHeading'; export * from './HydrateContextDocumentNavigation'; From 76e235f51ab44991a77a7cbea08012c5e993c7ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:11:34 +0000 Subject: [PATCH 179/327] chore: release packages (alpha) (#1239) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge-theme/CHANGELOG.md | 6 ++++++ packages/app-bridge-theme/package.json | 2 +- packages/guideline-themes/CHANGELOG.md | 7 +++++++ packages/guideline-themes/package.json | 2 +- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 8a4e0e64e..0261552bf 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -43,6 +43,7 @@ "khaki-dryers-shout", "kind-fishes-flash", "light-crews-report", + "little-eagles-joke", "lovely-books-hear", "lucky-taxis-kneel", "mighty-brooms-lay", diff --git a/packages/app-bridge-theme/CHANGELOG.md b/packages/app-bridge-theme/CHANGELOG.md index 918e60109..7a75feb05 100644 --- a/packages/app-bridge-theme/CHANGELOG.md +++ b/packages/app-bridge-theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge-theme +## 0.0.0-alpha.27 + +### Patch Changes + +- [#1238](https://github.com/Frontify/brand-sdk/pull/1238) [`10712c0`](https://github.com/Frontify/brand-sdk/commit/10712c01e2b5b4979b8649525515e490b6c4125b) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor: deprecating navigateToDocumentSection in favor of navigateToSectionHeading. + ## 0.0.0-alpha.26 ### Patch Changes diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index f2101016a..502fad8a0 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-theme", "type": "module", - "version": "0.0.0-alpha.26", + "version": "0.0.0-alpha.27", "description": "Package to establish communication between Frontify and themes", "author": "Frontify Developers ", "repository": { diff --git a/packages/guideline-themes/CHANGELOG.md b/packages/guideline-themes/CHANGELOG.md index 294599762..341eab730 100644 --- a/packages/guideline-themes/CHANGELOG.md +++ b/packages/guideline-themes/CHANGELOG.md @@ -1,5 +1,12 @@ # @frontify/guideline-themes +## 0.0.1-alpha.14 + +### Patch Changes + +- Updated dependencies [[`10712c0`](https://github.com/Frontify/brand-sdk/commit/10712c01e2b5b4979b8649525515e490b6c4125b)]: + - @frontify/app-bridge-theme@0.0.0-alpha.27 + ## 0.0.1-alpha.13 ### Patch Changes diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 2338010ed..fc5759642 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-themes", "type": "module", - "version": "0.0.1-alpha.13", + "version": "0.0.1-alpha.14", "description": "Provides types and helpers for the guideline themes development", "author": "Frontify Developers ", "repository": { From eb6822d507e6a96a77725cb4aeb16d26846b72ee Mon Sep 17 00:00:00 2001 From: Anxo Botana Date: Tue, 24 Jun 2025 11:01:53 +0200 Subject: [PATCH 180/327] refactor: remove AppBridgeTheme from app-bridge (#1237) * refacotr: remove AppBridgeTheme from app-bridge * changeset * Update thirty-eggs-judge.md * Update .changeset/thirty-eggs-judge.md Co-authored-by: Rafael Giezendanner * cleaning * . * and keep cleaning... * codeowners * some more cleaning... * clean unused helpers * ...index * more type cleaning * verbs cleaning * oops * restore verb * OpenNavigationManager command cleaning * removing navigateToDocumentSection * index... again --------- Co-authored-by: Rafael Giezendanner --- .changeset/thirty-eggs-judge.md | 5 + CODEOWNERS | 123 +- packages/app-bridge/src/AppBridgeTheme.ts | 357 --- packages/app-bridge/src/helpers/index.ts | 1 - packages/app-bridge/src/helpers/link.spec.ts | 272 -- packages/app-bridge/src/helpers/link.ts | 70 - packages/app-bridge/src/index.ts | 1 - packages/app-bridge/src/react/index.ts | 11 - .../src/react/useBrandportalLink.spec.ts | 95 - .../src/react/useBrandportalLink.ts | 67 - .../react/useCategorizedDocumentPages.spec.ts | 22 +- .../src/react/useCategorizedDocumentPages.ts | 8 +- .../app-bridge/src/react/useCoverPage.spec.ts | 120 - packages/app-bridge/src/react/useCoverPage.ts | 67 - .../src/react/useDocumentCategories.spec.ts | 30 +- .../src/react/useDocumentCategories.ts | 5 +- .../app-bridge/src/react/useDocumentGroups.ts | 5 +- .../src/react/useDocumentNavigation.spec.ts | 135 - .../src/react/useDocumentNavigation.ts | 71 - .../src/react/useDocumentPageTargets.spec.ts | 3 +- .../src/react/useDocumentPageTargets.ts | 8 +- .../src/react/useDocumentSection.spec.ts | 4 +- .../src/react/useDocumentSection.ts | 6 +- .../src/react/useDocumentTargets.spec.ts | 3 +- .../src/react/useDocumentTargets.tsx | 6 +- .../app-bridge/src/react/useEditorState.ts | 3 +- .../src/react/useGroupedDocuments.spec.ts | 18 +- .../src/react/useGroupedDocuments.ts | 5 +- .../src/react/useGuidelineActions.spec.ts | 2178 ----------------- .../src/react/useGuidelineActions.ts | 676 ----- .../app-bridge/src/react/useLanguage.spec.ts | 68 - packages/app-bridge/src/react/useLanguage.ts | 27 - .../src/react/useNavigationManager.spec.ts | 27 - .../src/react/useNavigationManager.ts | 11 - .../src/react/usePageTemplateSettings.spec.ts | 337 --- .../src/react/usePageTemplateSettings.ts | 118 - .../src/react/usePortalNavigation.spec.ts | 314 --- .../src/react/usePortalNavigation.ts | 158 -- .../src/react/useTemplateAssets.spec.ts | 445 ---- .../app-bridge/src/react/useTemplateAssets.ts | 208 -- .../src/react/useThemeAssets.spec.ts | 163 -- .../app-bridge/src/react/useThemeAssets.ts | 111 - .../src/react/useThemeSettings.spec.ts | 83 - .../app-bridge/src/react/useThemeSettings.ts | 54 - .../react/useUncategorizedDocumentPages.ts | 5 +- .../src/react/useUngroupedDocuments.ts | 8 +- .../src/registries/api/ApiMethodRegistry.ts | 4 - .../api/GetDocumentNavigation.spec.ts | 23 - .../registries/api/GetDocumentNavigation.ts | 16 - .../api/GetPortalNavigation.spec.ts | 12 - .../src/registries/api/GetPortalNavigation.ts | 7 - .../app-bridge/src/registries/api/index.ts | 2 - .../registries/commands/CommandRegistry.ts | 4 - .../commands/NavigateToDocumentSection.ts | 12 - .../registries/commands/NavigationManager.ts | 9 - .../src/registries/commands/index.ts | 2 - .../app-bridge/src/registries/verbs/Verbs.ts | 2 +- .../src/tests/AppBridgeBlockStub.ts | 75 +- .../src/tests/AppBridgeThemeStub.ts | 442 ---- .../src/tests/BrandportalLinkApiDummy.ts | 15 - .../src/tests/BrandportalLinkDummy.ts | 12 - .../app-bridge/src/tests/CoverPageDummy.ts | 7 +- .../src/tests/DocumentNavigationTreeDummy.ts | 140 -- .../tests/GuidelineSearchResultApiDummy.ts | 29 - .../src/tests/GuidelineSearchResultDummy.ts | 12 - .../src/tests/PortalNavigationTreeDummy.ts | 234 -- packages/app-bridge/src/tests/index.ts | 8 - .../src/tests/withAppBridgeThemeStubs.tsx | 24 - .../app-bridge/src/types/BrandportalLink.ts | 11 - packages/app-bridge/src/types/CoverPage.ts | 9 - .../app-bridge/src/types/DispatchHandler.ts | 1 - packages/app-bridge/src/types/Document.ts | 2 +- packages/app-bridge/src/types/Emitter.ts | 37 - packages/app-bridge/src/types/Guideline.ts | 93 - .../src/types/GuidelineSearchResult.ts | 35 - packages/app-bridge/src/types/Language.ts | 23 - packages/app-bridge/src/types/Project.ts | 48 - .../app-bridge/src/types/ThemeTemplate.ts | 3 - packages/app-bridge/src/types/index.ts | 6 - 79 files changed, 140 insertions(+), 7731 deletions(-) create mode 100644 .changeset/thirty-eggs-judge.md delete mode 100644 packages/app-bridge/src/AppBridgeTheme.ts delete mode 100644 packages/app-bridge/src/helpers/link.spec.ts delete mode 100644 packages/app-bridge/src/helpers/link.ts delete mode 100644 packages/app-bridge/src/react/useBrandportalLink.spec.ts delete mode 100644 packages/app-bridge/src/react/useBrandportalLink.ts delete mode 100644 packages/app-bridge/src/react/useCoverPage.spec.ts delete mode 100644 packages/app-bridge/src/react/useCoverPage.ts delete mode 100644 packages/app-bridge/src/react/useDocumentNavigation.spec.ts delete mode 100644 packages/app-bridge/src/react/useDocumentNavigation.ts delete mode 100644 packages/app-bridge/src/react/useGuidelineActions.spec.ts delete mode 100644 packages/app-bridge/src/react/useGuidelineActions.ts delete mode 100644 packages/app-bridge/src/react/useLanguage.spec.ts delete mode 100644 packages/app-bridge/src/react/useLanguage.ts delete mode 100644 packages/app-bridge/src/react/useNavigationManager.spec.ts delete mode 100644 packages/app-bridge/src/react/useNavigationManager.ts delete mode 100644 packages/app-bridge/src/react/usePageTemplateSettings.spec.ts delete mode 100644 packages/app-bridge/src/react/usePageTemplateSettings.ts delete mode 100644 packages/app-bridge/src/react/usePortalNavigation.spec.ts delete mode 100644 packages/app-bridge/src/react/usePortalNavigation.ts delete mode 100644 packages/app-bridge/src/react/useTemplateAssets.spec.ts delete mode 100644 packages/app-bridge/src/react/useTemplateAssets.ts delete mode 100644 packages/app-bridge/src/react/useThemeAssets.spec.ts delete mode 100644 packages/app-bridge/src/react/useThemeAssets.ts delete mode 100644 packages/app-bridge/src/react/useThemeSettings.spec.ts delete mode 100644 packages/app-bridge/src/react/useThemeSettings.ts delete mode 100644 packages/app-bridge/src/registries/api/GetDocumentNavigation.spec.ts delete mode 100644 packages/app-bridge/src/registries/api/GetDocumentNavigation.ts delete mode 100644 packages/app-bridge/src/registries/api/GetPortalNavigation.spec.ts delete mode 100644 packages/app-bridge/src/registries/api/GetPortalNavigation.ts delete mode 100644 packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts delete mode 100644 packages/app-bridge/src/registries/commands/NavigationManager.ts delete mode 100644 packages/app-bridge/src/tests/AppBridgeThemeStub.ts delete mode 100644 packages/app-bridge/src/tests/BrandportalLinkApiDummy.ts delete mode 100644 packages/app-bridge/src/tests/BrandportalLinkDummy.ts delete mode 100644 packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts delete mode 100644 packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts delete mode 100644 packages/app-bridge/src/tests/GuidelineSearchResultDummy.ts delete mode 100644 packages/app-bridge/src/tests/PortalNavigationTreeDummy.ts delete mode 100644 packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx delete mode 100644 packages/app-bridge/src/types/BrandportalLink.ts delete mode 100644 packages/app-bridge/src/types/Guideline.ts delete mode 100644 packages/app-bridge/src/types/GuidelineSearchResult.ts delete mode 100644 packages/app-bridge/src/types/Language.ts delete mode 100644 packages/app-bridge/src/types/Project.ts delete mode 100644 packages/app-bridge/src/types/ThemeTemplate.ts diff --git a/.changeset/thirty-eggs-judge.md b/.changeset/thirty-eggs-judge.md new file mode 100644 index 000000000..777c3ba7f --- /dev/null +++ b/.changeset/thirty-eggs-judge.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +refactor: Removed `appBridgeTheme` from the `@frontify/app-bridge` package. It is now provided via the `@frontify/app-bridge-theme` package. diff --git a/CODEOWNERS b/CODEOWNERS index 4173bede7..79bea3388 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -2,126 +2,9 @@ packages/app-bridge/src/types @Frontify/frontend-platform -## App Bridge Errors -packages/app-bridge/src/errors/HttpClientError.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation - -## App Bridge Helpers - -packages/app-bridge/src/helpers/ @Frontify/themes-and-navigation - -## React Hooks - -packages/app-bridge/src/react/useAssetBulkDownload.spec.tsx @Frontify/content-and-blocks -packages/app-bridge/src/react/useAssetBulkDownload.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useAssetChooser.spec.tsx @Frontify/content-and-blocks -packages/app-bridge/src/react/useAssetChooser.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useAssetUpload.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useAssetViewer.spec.tsx @Frontify/content-and-blocks -packages/app-bridge/src/react/useAssetViewer.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useBlockAssets.spec.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useBlockAssets.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useBlockSettings.spec.tsx @Frontify/content-and-blocks -packages/app-bridge/src/react/useBlockSettings.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useBlockTemplates.spec.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useBlockTemplates.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useBrandportalLink.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useBrandportalLink.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useCategorizedDocumentPages.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useColorPalettes.spec.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useColorPalettes.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useColors.spec.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useColors.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useCoverPage.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useCoverPage.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentCategories.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentCategories.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentGroups.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentGroups.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentPageTargets.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentPageTargets.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentSection.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentTargets.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useDocumentTargets.tsx @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useEditorState.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useFileInput.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useFileUpload.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useGroupedDocuments.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useGroupedDocuments.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useGuidelineActions.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useGuidelineActions.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useLanguage.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useLanguage.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useNavigationManager.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useNavigationManager.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/usePageTemplateSettings.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/usePageTemplateSettings.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/usePrivacySettings.spec.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/usePrivacySettings.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useReadyForPrint.spec.tsx @Frontify/content-and-blocks -packages/app-bridge/src/react/useReadyForPrint.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useTemplateAssets.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useTemplateAssets.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useTemplateChooser.spec.tsx @Frontify/content-and-blocks -packages/app-bridge/src/react/useTemplateChooser.ts @Frontify/content-and-blocks -packages/app-bridge/src/react/useThemeAssets.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useThemeAssets.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useThemeSettings.spec.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useThemeSettings.ts @Frontify/themes-and-navigation -packages/app-bridge/src/react/useUncategorizedDocumentPages.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useUncategorizedDocumentPages.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useUngroupedDocuments.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/react/useUngroupedDocuments.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation - -### App Bridge registries api - -packages/app-bridge/src/registries/api/GetAssetBulkDownloadToken.ts @Frontify/content-and-blocks -packages/app-bridge/src/registries/api/GetCurrentUser.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/registries/api/GetCurrentUser.spec.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation - -### App Bridge registries commands -packages/app-bridge/src/registries/commands/AssetChooser.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/registries/commands/AssetViewer.ts @Frontify/content-and-blocks -packages/app-bridge/src/registries/commands/DownloadAsset.ts @Frontify/content-and-blocks -packages/app-bridge/src/registries/commands/NavigationManager.ts @Frontify/themes-and-navigation -packages/app-bridge/src/registries/commands/NewPublication.ts @Frontify/content-and-blocks -packages/app-bridge/src/registries/commands/TemplateChooser.ts @Frontify/content-and-blocks - -### App Bridge registries events - -packages/app-bridge/src/registries/events/ @Frontify/content-and-blocks @Frontify/themes-and-navigation - -### App Bridge registries verbs - -packages/app-bridge/src/registries/verbs/ @Frontify/content-and-blocks @Frontify/themes-and-navigation - -## App Bridge repositories - -packages/app-bridge/src/repositories/ @Frontify/content-and-blocks - -## App Bridge Tests - -packages/app-bridge/src/tests/AppBridgeBlockStub.ts @Frontify/content-and-blocks -packages/app-bridge/src/tests/AppBridgeThemeStub.ts @Frontify/themes-and-navigation -packages/app-bridge/src/tests/withAppBridgeBlockStubs.tsx @Frontify/content-and-blocks -packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx @Frontify/themes-and-navigation - -## App Bridge Utilities - -packages/app-bridge/src/utilities/httpClient.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/utilities/object.spec.ts @Frontify/content-and-blocks -packages/app-bridge/src/utilities/object.ts @Frontify/content-and-blocks - -## App Bridge Worker - -packages/app-bridge/src/worker/ @Frontify/content-and-blocks - -## App Bridge Interfaces - -packages/app-bridge/src/AppBridge.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation -packages/app-bridge/src/AppBridgeBlock.ts @Frontify/content-and-blocks -packages/app-bridge/src/AppBridgeTheme.ts @Frontify/themes-and-navigation -packages/app-bridge/src/window.d.ts @Frontify/content-and-blocks @Frontify/themes-and-navigation +## App Bridge + +packages/app-bridge/ @Frontify/content-and-blocks # CLI diff --git a/packages/app-bridge/src/AppBridgeTheme.ts b/packages/app-bridge/src/AppBridgeTheme.ts deleted file mode 100644 index d6470c659..000000000 --- a/packages/app-bridge/src/AppBridgeTheme.ts +++ /dev/null @@ -1,357 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - type ApiHandlerParameter, - type ApiMethodNameValidator, - type ApiReturn, - type AppBridge, - type CommandNameValidator, - type ContextAsEventName, - type ContextReturn, - type DispatchHandlerParameter, - type EventCallbackParameter, - type EventNameParameter, - type EventNameValidator, - type EventUnsubscribeFunction, - type StateAsEventName, - type StateReturn, -} from './AppBridge'; -import { type ApiMethodRegistry } from './registries/api/ApiMethodRegistry'; -import { type CommandRegistry } from './registries/commands/CommandRegistry'; -import { type EventRegistry } from './registries/events/EventRegistry'; -import { - type Asset, - type AssetChooserOptions, - type BrandportalLink, - type Color, - type ColorPalette, - type CoverPage, - type CoverPageCreate, - type CoverPageUpdate, - type CoverPageUpdateLegacy, - type Document, - type DocumentCategory, - type DocumentCategoryCreate, - type DocumentCategoryUpdate, - type DocumentGroup, - type DocumentGroupCreate, - type DocumentGroupUpdate, - type DocumentLibraryCreate, - type DocumentLibraryUpdate, - type DocumentLinkCreate, - type DocumentLinkUpdate, - type DocumentPage, - type DocumentPageCreate, - type DocumentPageTargets, - type DocumentPageUpdate, - type DocumentSection, - type DocumentStandardCreate, - type DocumentStandardUpdate, - type DocumentTargets, - type GuidelineSearchResult, - type Language, - type TargetsUpdate, - type ThemeTemplate, -} from './types'; - -export type ThemeApiMethod = ApiMethodNameValidator< - Pick ->; - -export type ThemeCommand = CommandNameValidator< - Pick< - CommandRegistry, - | 'closeAssetChooser' - | 'openAssetChooser' - | 'openNavigationManager' - | 'openSearchDialog' - | 'closeSearchDialog' - | 'navigateToDocumentSection' - > ->; - -export type TemplateContext = { templateId: string; type: ThemeTemplate } & ( - | { type: 'documentPage'; document: Document; documentPage: DocumentPage } - | { type: 'library'; document: Document } - | { type: 'cover'; coverPage: CoverPage } -); - -export type ThemeState = { - settings: Record; - assets: Record; -}; - -export type ThemeContext = { - brandId: number; - projectId: number; - portalId: number; - portalToken: string | null; - currentLanguage: string; - defaultLanguage: string; - isEditing: boolean; - isPublicLink: boolean; - isAuthenticated: boolean; - isSearchDialogOpen: boolean; - languages: Language[]; - template: TemplateContext | null; -}; - -export type ThemeEvent = EventNameValidator< - Pick & - StateAsEventName & - ContextAsEventName ->; - -export interface AppBridgeTheme< - State extends ThemeState = ThemeState, - Context extends ThemeContext = ThemeContext, - Event extends ThemeEvent = ThemeEvent, -> extends AppBridge { - api( - apiHandler: ApiHandlerParameter, - ): ApiReturn; - - dispatch( - dispatchHandler: DispatchHandlerParameter, - ): Promise; - - state(): StateReturn; - state(key: Key): StateReturn; - state(key?: keyof State | void): unknown; - - context(): ContextReturn; - context(key: Key): ContextReturn; - context(key?: keyof Context | void): unknown; - - subscribe( - eventName: EventNameParameter, - callback: EventCallbackParameter, - ): EventUnsubscribeFunction; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('portalId').get()` instead. - */ - getPortalId(): number; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('brandId').get()` instead. - */ - getBrandId(): number; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(openNavigationManager())` for opening the Navigation Manager. - */ - openNavigationManager(): void; - - getCoverPageTemplateSettings(): Promise; - - updateCoverPageTemplateSettings(settings: Record): Promise; - - getThemeSettings(): Promise; - - updateThemeSettings>(settings: ThemeSettings): Promise; - - getDocumentPageTemplateSettings(documentPageId: number): Promise; - - updateDocumentPageTemplateSettings(documentPageId: number, settings: Record): Promise; - - addAssetIdsToCoverPageTemplateAssetKey(key: string, assetIds: number[]): Promise>; - - getCoverPageTemplateAssets(): Promise>; - - deleteAssetIdsFromCoverPageTemplateAssetKey(key: string, assetIds: number[]): Promise; - - addAssetIdsToThemeAssetKey( - key: string, - assetIds: number[], - template: ThemeTemplate, - ): Promise>; - - getThemeAssets(template: ThemeTemplate): Promise>; - - deleteAssetIdsFromThemeAssetKey(key: string, assetIds: number[], template: ThemeTemplate): Promise; - - addAssetIdsToLibraryPageTemplateAssetKey( - documentId: number, - key: string, - assetIds: number[], - ): Promise>; - - getLibraryPageTemplateAssets(documentId: number): Promise>; - - deleteAssetIdsFromLibraryPageTemplateAssetKey(documentId: number, key: string, assetIds: number[]): Promise; - - addAssetIdsToDocumentPageTemplateAssetKey( - documentPageId: number, - key: string, - assetIds: number[], - ): Promise>; - - getDocumentPageTemplateAssets(documentPageId: number): Promise>; - - deleteAssetIdsFromDocumentPageTemplateAssetKey( - documentPageId: number, - key: string, - assetIds: number[], - ): Promise; - - getLibraryPageTemplateSettings(documentId: number): Promise; - - updateLibraryPageTemplateSettings(documentId: number, settings: Record): Promise; - - createLink(link: DocumentLinkCreate): Promise; - - updateLink(link: DocumentLinkUpdate): Promise; - - deleteLink(documentId: number): Promise; - - createLibrary(library: DocumentLibraryCreate): Promise; - - updateLibrary(library: DocumentLibraryUpdate): Promise; - - deleteLibrary(documentId: number): Promise; - - createStandardDocument(document: DocumentStandardCreate): Promise; - - updateStandardDocument(document: DocumentStandardUpdate): Promise; - - deleteStandardDocument(id: number): Promise; - - moveDocument(documentId: number, position: number, newDocumentGroupId?: number): Promise; - - createDocumentGroup(documentGroup: DocumentGroupCreate): Promise; - - updateDocumentGroup(documentGroup: DocumentGroupUpdate): Promise; - - deleteDocumentGroup(documentGroupId: number): Promise; - - moveDocumentGroup(documentGroupId: number, position: number): Promise; - - createDocumentCategory(category: DocumentCategoryCreate): Promise; - - updateDocumentCategory(category: DocumentCategoryUpdate): Promise; - - deleteDocumentCategory(documentCategoryId: number): Promise; - - moveDocumentCategory(documentCategoryId: number, documentId: number, position: number): Promise; - - createDocumentPage(documentPage: DocumentPageCreate): Promise; - - /** - * A method for page update - * - * @param documentPage - {@link DocumentPageUpdate} object - * @requires id - Indicates page identifier. - * - * - * and at least one of - * - * @property title - Indicates title of a page. - * @property documentId - Indicates to witch document the page belongs to. - * @property categoryId - Indicates to witch category the page belongs to. - * @property visibility - Indicates whether the page is visible only to the editor or everyone. - * @property linkUrl - Indicates whether the page is link or not. - */ - updateDocumentPage(documentPage: DocumentPageUpdate): Promise; - - deleteDocumentPage(documentPageId: number): Promise; - - moveDocumentPage( - documentPageId: number, - documentId: number, - position?: number, - documentCategoryId?: number, - ): Promise; - - duplicateDocumentPage(documentPageId: number): Promise; - - createCoverPage(coverPage: CoverPageCreate): Promise; - - updateCoverPage(coverPage: CoverPageUpdate): Promise; - - /** - * @deprecated legacy method, should be removed once new endpoint is available - */ - updateLegacyCoverPage(coverPage: CoverPageUpdateLegacy): Promise; - - deleteCoverPage(): Promise; - - updateBrandportalLink(brandportalLink: Partial): Promise | null>; - - getCoverPage(): Promise; - - getBrandportalLink(): Promise; - - getUngroupedDocuments(): Promise; - - updateDocumentTargets(targetIds: number[], documentIds: number[]): Promise; - - updateDocumentPageTargets(targetIds: number[], documentPageIds: number[]): Promise; - - /** - * Search in the current Guideline for a given query. - * @param query - The query to search for. - * @param order - The order in which the results should be returned. Defaults to 'relevance'. - */ - searchInGuideline(query: string, order?: 'relevance' | 'newest' | 'oldest'): Promise; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(openAssetChooser(options))` to open the asset chooser - * and `appBridge.subscribe('assetsChosen', callback)` to subscribe to the asset chosen event. - */ - openAssetChooser(callback: (selectedAssets: Asset[]) => void, options?: AssetChooserOptions): void; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.dispatch(closeAssetChooser())` instead. - */ - closeAssetChooser(): void; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('projectId').get()` instead. - */ - getProjectId(): number; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('isEditing').get()` instead. - */ - getEditorState(): boolean; - - /** - * @deprecated This will be removed in version 4.0.0 of `@frontify/app-bridge` - * Use `appBridge.context('language').get()` instead. - */ - getTranslationLanguage(): string; - - getColorPalettes(): Promise; - - getColorsByColorPaletteId(colorPaletteId: number): Promise; - - getAllDocuments(): Promise; - - getUngroupedDocuments(): Promise; - - getDocumentsByDocumentGroupId(documentGroupId: number): Promise; - - getDocumentGroups(): Promise; - - getDocumentPagesByDocumentId(documentId: number): Promise; - - getDocumentPagesByDocumentCategoryId(documentCategoryId: number): Promise; - - getDocumentCategoriesByDocumentId(documentId: number): Promise; - - getUncategorizedDocumentPagesByDocumentId(documentId: number): Promise; - - getDocumentSectionsByDocumentPageId(documentPageId: number): Promise; - - getDocumentTargets(documentId: number): Promise; - - getDocumentPageTargets(documentPageId: number): Promise; -} diff --git a/packages/app-bridge/src/helpers/index.ts b/packages/app-bridge/src/helpers/index.ts index 0e51a26f7..3278ad31a 100644 --- a/packages/app-bridge/src/helpers/index.ts +++ b/packages/app-bridge/src/helpers/index.ts @@ -1,4 +1,3 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -export * from './link'; export * from './navigation'; diff --git a/packages/app-bridge/src/helpers/link.spec.ts b/packages/app-bridge/src/helpers/link.spec.ts deleted file mode 100644 index 30605a1eb..000000000 --- a/packages/app-bridge/src/helpers/link.spec.ts +++ /dev/null @@ -1,272 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { DocumentCategoryDummy, DocumentDummy, DocumentPageDummy } from '../tests'; -import { CoverPageDummy } from '../tests/CoverPageDummy'; - -import { computeCoverPageLink, computeDocumentLink, computeDocumentPageLink } from './link'; - -const PORTAL_ID = 23451; -const PORTAL_TOKEN = 'weisdfjsdf'; -const DOCUMENT_ID = 2937; -const DOCUMENT_CATEGORY_ID = 2314; -const DOCUMENT_PAGE_ID = 9382; - -describe('computeCoverPageLink', () => { - it('should return the correct link when private', () => { - const coverPage = CoverPageDummy.with(PORTAL_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeCoverPageLink({ coverPage, language, portalToken: null }); - - expect(result).toEqual(`/hub/${PORTAL_ID}`); - }); - - it('should return the correct link when private with same language as default', () => { - const coverPage = CoverPageDummy.with(PORTAL_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeCoverPageLink({ coverPage, language, portalToken: null }); - - expect(result).toEqual(`/hub/${PORTAL_ID}`); - }); - - it('should return the correct link when private with different language from default', () => { - const coverPage = { ...CoverPageDummy.with(PORTAL_ID), url: `/hub/${PORTAL_ID}/fr` }; - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeCoverPageLink({ coverPage, language, portalToken: null }); - - expect(result).toEqual(`/hub/${PORTAL_ID}/fr`); - }); - - it('should return the correct link when publicly shared', () => { - const coverPage = CoverPageDummy.with(PORTAL_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeCoverPageLink({ coverPage, language, portalToken: PORTAL_TOKEN }); - - expect(result).toEqual(`/d/${PORTAL_TOKEN}`); - }); - - it('should return the correct link when publicly shared with same language as default', () => { - const coverPage = CoverPageDummy.with(PORTAL_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeCoverPageLink({ coverPage, language, portalToken: PORTAL_TOKEN }); - - expect(result).toEqual(`/d/${PORTAL_TOKEN}`); - }); - - it('should return the correct link when publicly shared with different language from default', () => { - const coverPage = CoverPageDummy.with(PORTAL_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeCoverPageLink({ coverPage, language, portalToken: PORTAL_TOKEN }); - - expect(result).toEqual(`/d/${PORTAL_TOKEN}/fr`); - }); -}); - -describe('computeDocumentLink', () => { - it('should return the correct link when private', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentLink({ document, language, portalToken: null }); - expect(result).toEqual(`/document/${DOCUMENT_ID}`); - }); - - it('should return the correct link when private with same language as default', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentLink({ document, language, portalToken: null }); - expect(result).toEqual(`/document/${DOCUMENT_ID}`); - }); - - it('should return the correct link when private with different language from default', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeDocumentLink({ document, language, portalToken: null }); - expect(result).toEqual(`/document/${DOCUMENT_ID}/fr`); - }); - - it('should return the correct link when publicly shared', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentLink({ document, language, portalToken: PORTAL_TOKEN }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/${document.slug}`); - }); - - it('should return the correct link when publicly shared with same language as default', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentLink({ document, language, portalToken: PORTAL_TOKEN }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/${document.slug}`); - }); - - it('should return the correct link when publicly shared with different language from default', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeDocumentLink({ document, language, portalToken: PORTAL_TOKEN }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/fr/${document.slug}`); - }); -}); - -describe('computeDocumentPageLink', () => { - it('should return the correct link when private (without category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ document, documentPage, language, portalToken: null }); - expect(result).toEqual(`/document/${DOCUMENT_ID}#/-/${documentPage.slug}`); - }); - - it('should return the correct link when private (with category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentCategory = DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ - document, - documentCategory, - documentPage, - language, - portalToken: null, - }); - expect(result).toEqual(`/document/${DOCUMENT_ID}#/${documentCategory.slug}/${documentPage.slug}`); - }); - - it('should return the correct link when private with same language as default (without category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ document, documentPage, language, portalToken: null }); - expect(result).toEqual(`/document/${DOCUMENT_ID}#/-/${documentPage.slug}`); - }); - - it('should return the correct link when private with same language as default (with category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentCategory = DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ - document, - documentCategory, - documentPage, - language, - portalToken: null, - }); - expect(result).toEqual(`/document/${DOCUMENT_ID}#/${documentCategory.slug}/${documentPage.slug}`); - }); - - it('should return the correct link when private with different language from default (without category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ document, documentPage, language, portalToken: null }); - expect(result).toEqual(`/document/${DOCUMENT_ID}/fr#/-/${documentPage.slug}`); - }); - - it('should return the correct link when private with different language from default (with category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentCategory = DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ - document, - documentCategory, - documentPage, - language, - portalToken: null, - }); - expect(result).toEqual(`/document/${DOCUMENT_ID}/fr#/${documentCategory.slug}/${documentPage.slug}`); - }); - - it('should return the correct link when publicly shared (without category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ document, documentPage, language, portalToken: PORTAL_TOKEN }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/${document.slug}#/-/${documentPage.slug}`); - }); - - it('should return the correct link when publicly shared (with category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentCategory = DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ - document, - documentCategory, - documentPage, - language, - portalToken: PORTAL_TOKEN, - }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/${document.slug}#/${documentCategory.slug}/${documentPage.slug}`); - }); - - it('should return the correct link when publicly shared with same language as default (without category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ document, documentPage, language, portalToken: PORTAL_TOKEN }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/${document.slug}#/-/${documentPage.slug}`); - }); - - it('should return the correct link when publicly shared with same language as default (with category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentCategory = DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'en', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ - document, - documentCategory, - documentPage, - language, - portalToken: PORTAL_TOKEN, - }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/${document.slug}#/${documentCategory.slug}/${documentPage.slug}`); - }); - - it('should return the correct link when publicly shared with different language from default (without category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ document, documentPage, language, portalToken: PORTAL_TOKEN }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/fr/${document.slug}#/-/${documentPage.slug}`); - }); - - it('should return the correct link when publicly shared with different language from default (with category)', () => { - const document = DocumentDummy.with(DOCUMENT_ID); - const documentCategory = DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID); - const documentPage = DocumentPageDummy.with(DOCUMENT_PAGE_ID); - const language = { currentLanguage: 'fr', defaultLanguage: 'en' }; - - const result = computeDocumentPageLink({ - document, - documentCategory, - documentPage, - language, - portalToken: PORTAL_TOKEN, - }); - expect(result).toEqual(`/d/${PORTAL_TOKEN}/fr/${document.slug}#/${documentCategory.slug}/${documentPage.slug}`); - }); -}); diff --git a/packages/app-bridge/src/helpers/link.ts b/packages/app-bridge/src/helpers/link.ts deleted file mode 100644 index f66e95d1a..000000000 --- a/packages/app-bridge/src/helpers/link.ts +++ /dev/null @@ -1,70 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type CoverPage, type Document, type DocumentCategory, type DocumentPage } from '../types'; - -export const computeCoverPageLink = ({ - coverPage, - language, - portalToken, -}: { - coverPage: CoverPage; - language: { - currentLanguage: string; - defaultLanguage: string; - }; - portalToken: Nullable; -}) => { - const languageUrlPart = language.currentLanguage === language.defaultLanguage ? '' : `/${language.currentLanguage}`; - - if (portalToken) { - return `/d/${portalToken}${languageUrlPart}`; - } - - return coverPage.url; -}; - -export const computeDocumentLink = ({ - document, - language, - portalToken, -}: { - document: Document; - language: { - currentLanguage: string; - defaultLanguage: string; - }; - portalToken: Nullable; -}) => { - const languageUrlPart = language.currentLanguage === language.defaultLanguage ? '' : `/${language.currentLanguage}`; - - if (portalToken) { - return `/d/${portalToken}${languageUrlPart}/${document.slug}`; - } - - return `/document/${document.id}${languageUrlPart}`; -}; - -export const computeDocumentPageLink = ({ - documentPage, - language, - portalToken, - document, - documentCategory, -}: { - documentPage: DocumentPage; - document: Document; - documentCategory?: DocumentCategory; - language: { - currentLanguage: string; - defaultLanguage: string; - }; - portalToken: Nullable; -}) => { - const categoryUrlPart = documentCategory ? `${documentCategory.slug}/` : '-/'; - const languageUrlPart = language.currentLanguage === language.defaultLanguage ? '' : `/${language.currentLanguage}`; - if (portalToken) { - return `/d/${portalToken}${languageUrlPart}/${document.slug}#/${categoryUrlPart}${documentPage.slug}`; - } - - return `/document/${document.id}${languageUrlPart}#/${categoryUrlPart}${documentPage.slug}`; -}; diff --git a/packages/app-bridge/src/index.ts b/packages/app-bridge/src/index.ts index 7d3cd7209..2fc879359 100644 --- a/packages/app-bridge/src/index.ts +++ b/packages/app-bridge/src/index.ts @@ -6,7 +6,6 @@ enableMapSet(); export * from './AppBridge'; export * from './AppBridgeBlock'; -export * from './AppBridgeTheme'; export * from './errors'; export * from './helpers'; export * from './registries'; diff --git a/packages/app-bridge/src/react/index.ts b/packages/app-bridge/src/react/index.ts index d1e386ae7..e0f943624 100644 --- a/packages/app-bridge/src/react/index.ts +++ b/packages/app-bridge/src/react/index.ts @@ -8,11 +8,9 @@ export * from './useAssetViewer'; export * from './useBlockAssets'; export * from './useBlockSettings'; export * from './useBlockTemplates'; -export * from './useBrandportalLink'; export * from './useCategorizedDocumentPages'; export * from './useColorPalettes'; export * from './useColors'; -export * from './useCoverPage'; export * from './useDocumentCategories'; export * from './useDocumentGroups'; export * from './useDocumentPageTargets'; @@ -22,17 +20,8 @@ export * from './useEditorState'; export * from './useFileInput'; export * from './useFileUpload'; export * from './useGroupedDocuments'; -export * from './useGuidelineActions'; -export * from './useLanguage'; -export * from './useNavigationManager'; -export * from './usePageTemplateSettings'; export * from './usePrivacySettings'; export * from './useReadyForPrint'; -export * from './useTemplateAssets'; export * from './useTemplateChooser'; -export * from './useThemeAssets'; -export * from './useThemeSettings'; export * from './useUncategorizedDocumentPages'; export * from './useUngroupedDocuments'; -export * from './usePortalNavigation'; -export * from './useDocumentNavigation'; diff --git a/packages/app-bridge/src/react/useBrandportalLink.spec.ts b/packages/app-bridge/src/react/useBrandportalLink.spec.ts deleted file mode 100644 index 8839cb0a9..000000000 --- a/packages/app-bridge/src/react/useBrandportalLink.spec.ts +++ /dev/null @@ -1,95 +0,0 @@ -// @vitest-environment happy-dom - -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { act, renderHook } from '@testing-library/react'; -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { BrandportalLinkDummy, getAppBridgeThemeStub } from '../tests'; - -import { useBrandportalLink } from './useBrandportalLink'; - -describe('useBrandportalLink', () => { - afterEach(() => { - vi.restoreAllMocks(); - }); - - it('should return the brandportal link from appBridge', async () => { - const appBridge = getAppBridgeThemeStub(); - - const brandportalLink = BrandportalLinkDummy.with(); - appBridge.getBrandportalLink.resolves(brandportalLink); - - const { result } = renderHook(() => useBrandportalLink(appBridge)); - - expect(result.current.brandportalLink).toBe(null); - - await act(async () => { - await appBridge.getBrandportalLink(); - }); - - expect(result.current.brandportalLink).toEqual(brandportalLink); - }); - - it('should update the brandportal link when an event is emitted', () => { - const appBridge = getAppBridgeThemeStub(); - const { result } = renderHook(() => useBrandportalLink(appBridge)); - - const updatedBrandportalLink = BrandportalLinkDummy.with({ - label: 'Updated Brandportal Link', - }); - - act(() => { - window.emitter.emit('AppBridge:GuidelineBrandportalLink:Action', { - action: 'update', - brandportalLink: updatedBrandportalLink, - }); - }); - - expect(result.current.brandportalLink).toEqual(updatedBrandportalLink); - }); - - it('should not update the brandportal link when an event with an invalid action is emitted', () => { - const appBridge = getAppBridgeThemeStub(); - const { result } = renderHook(() => useBrandportalLink(appBridge)); - - result.current.brandportalLink = BrandportalLinkDummy.with(); - - act(() => { - window.emitter.emit('AppBridge:GuidelineBrandportalLink:Action', { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - action: 'invalid' as any, - brandportalLink: { enabled: false, label: '', url: '' }, - }); - }); - - expect(result.current.brandportalLink).toEqual(BrandportalLinkDummy.with()); - }); - - it('should start fetching only when it is enabled', () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getBrandportalLink'); - - let enabled = false; - - const { rerender } = renderHook(() => useBrandportalLink(appBridge, { enabled })); - - expect(spy).not.toBeCalled(); - - enabled = true; - rerender(); - - expect(spy).toBeCalled(); - }); - - it('should unregister when unmounted', () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(window.emitter, 'off'); - - const { unmount } = renderHook(() => useBrandportalLink(appBridge)); - - unmount(); - - expect(spy).toBeCalledWith('AppBridge:GuidelineBrandportalLink:Action', expect.any(Function)); - }); -}); diff --git a/packages/app-bridge/src/react/useBrandportalLink.ts b/packages/app-bridge/src/react/useBrandportalLink.ts deleted file mode 100644 index 296c622be..000000000 --- a/packages/app-bridge/src/react/useBrandportalLink.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type BrandportalLink, type EmitterAction } from '../types'; - -const defaultState: BrandportalLink = { - enabled: false, - label: '', - url: '', -}; - -export type UseBrandportalLinkReturnType = { - brandportalLink: Nullable; - isLoading: boolean; -}; - -type Options = { - /** - * Whether it should fetch on mount. - */ - enabled?: boolean; -}; - -export const useBrandportalLink = ( - appBridge: AppBridgeTheme, - options: Options = { enabled: true }, -): UseBrandportalLinkReturnType => { - const [brandportalLink, setBrandportalLink] = useState>(null); - const [isLoading, setIsLoading] = useState(true); - - useEffect(() => { - const fetchBrandportalLink = async () => { - setIsLoading(true); - setBrandportalLink(await appBridge.getBrandportalLink()); - setIsLoading(false); - }; - - if (options.enabled) { - fetchBrandportalLink().catch(console.error); - } - }, [appBridge, options.enabled]); - - useEffect(() => { - const updateBrandportalLinkFromEvent = (event: { - brandportalLink: Partial; - action: Extract; - }) => { - setBrandportalLink((previousState) => { - if (event.action === 'update') { - return { ...defaultState, ...previousState, ...event.brandportalLink }; - } - - return previousState; - }); - }; - - window.emitter.on('AppBridge:GuidelineBrandportalLink:Action', updateBrandportalLinkFromEvent); - - return () => { - window.emitter.off('AppBridge:GuidelineBrandportalLink:Action', updateBrandportalLinkFromEvent); - }; - }, [appBridge]); - - return { brandportalLink, isLoading }; -}; diff --git a/packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts b/packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts index 6912bf7b7..bd21b93d4 100644 --- a/packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts +++ b/packages/app-bridge/src/react/useCategorizedDocumentPages.spec.ts @@ -5,7 +5,7 @@ import { renderHook, waitFor } from '@testing-library/react'; import { afterEach, describe, expect, it, vi } from 'vitest'; -import { DocumentPageDummy, getAppBridgeThemeStub } from '../tests'; +import { DocumentPageDummy, getAppBridgeBlockStub } from '../tests'; import { type DocumentPage } from '../types'; import { useCategorizedDocumentPages } from './useCategorizedDocumentPages'; @@ -24,7 +24,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should fetch document pages on mount', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const { result } = renderHook(() => useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID)); @@ -45,7 +45,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should not fetch document pages on mount if not enabled', () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const { result } = renderHook(() => @@ -58,7 +58,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should fetch document pages if it gets enabled', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); let enabled = false; @@ -90,7 +90,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should update document pages if a page is added in the category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const DOCUMENT_PAGE = DocumentPageDummy.withFields({ @@ -137,7 +137,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should not update the document pages if a page is added in another category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const DOCUMENT_PAGE = DocumentPageDummy.withFields({ @@ -165,7 +165,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should update document pages if a page is removed from the category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const DOCUMENT_PAGE = DocumentPageDummy.withFields({ @@ -203,7 +203,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should not update the document pages if a page is removed from another category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const DOCUMENT_PAGE = DocumentPageDummy.withFields({ @@ -242,7 +242,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should update document pages if a page is updated in the category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const UPDATED_DOCUMENT_PAGE: DocumentPage = { @@ -287,7 +287,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should not update the document pages if a page is updated in another category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const UPDATED_DOCUMENT_PAGE = DocumentPageDummy.withFields({ @@ -322,7 +322,7 @@ describe('useCategorizedDocumentPages', () => { }); it('should update document pages if a page is moved in the category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); const UPDATED_DOCUMENT_PAGE: DocumentPage = { diff --git a/packages/app-bridge/src/react/useCategorizedDocumentPages.ts b/packages/app-bridge/src/react/useCategorizedDocumentPages.ts index 3f334f6b7..fad8d9a79 100644 --- a/packages/app-bridge/src/react/useCategorizedDocumentPages.ts +++ b/packages/app-bridge/src/react/useCategorizedDocumentPages.ts @@ -4,7 +4,6 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentPage, type EmitterEvents } from '../types'; import { type DocumentPageTargetEvent } from './useDocumentPageTargets'; @@ -21,7 +20,7 @@ type Options = { const sortDocumentPages = (a: DocumentPage, b: DocumentPage) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useCategorizedDocumentPages = ( - appBridge: AppBridgeBlock | AppBridgeTheme, + appBridge: AppBridgeBlock, documentCategoryId: number, options: Options = { enabled: true }, ) => { @@ -161,10 +160,7 @@ const moveDocumentPage = (draft: Map, documentPage: Docume return draft; }; -const fetchDocumentPagesByDocumentCategoryId = async ( - appBridge: AppBridgeBlock | AppBridgeTheme, - documentCategoryId: number, -) => { +const fetchDocumentPagesByDocumentCategoryId = async (appBridge: AppBridgeBlock, documentCategoryId: number) => { const pages = await appBridge.getDocumentPagesByDocumentCategoryId(documentCategoryId); return new Map([...pages].sort(sortDocumentPages).map((page) => [page.id, page])); }; diff --git a/packages/app-bridge/src/react/useCoverPage.spec.ts b/packages/app-bridge/src/react/useCoverPage.spec.ts deleted file mode 100644 index c56c9563d..000000000 --- a/packages/app-bridge/src/react/useCoverPage.spec.ts +++ /dev/null @@ -1,120 +0,0 @@ -// @vitest-environment happy-dom - -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { act, renderHook, waitFor } from '@testing-library/react'; -import { afterEach, describe, expect, it, vi } from 'vitest'; - -import { CoverPageDummy, getAppBridgeThemeStub } from '../tests'; -import { type CoverPage, type CoverPageUpdate } from '../types'; - -import { useCoverPage } from './useCoverPage'; - -describe('useCoverPage', () => { - afterEach(() => { - vi.restoreAllMocks(); - }); - - it('should return the cover page from appBridge', async () => { - const appBridge = getAppBridgeThemeStub(); - - const coverPage = CoverPageDummy.with(1); - appBridge.getCoverPage.resolves(coverPage); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - const { result } = renderHook(() => useCoverPage(appBridge)); - - expect(result.current.coverPage).toBe(null); - - await act(async () => { - await appBridge.getCoverPage(); - }); - - expect(result.current.coverPage).toEqual(coverPage); - }); - - it('should create the cover page when an event is emitted', async () => { - const appBridge = getAppBridgeThemeStub(); - - const coverPage = CoverPageDummy.with(243); - appBridge.getCoverPage.resolves(coverPage); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - const { result } = renderHook(() => useCoverPage(appBridge)); - - act(() => { - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { - action: 'add', - coverPage, - }); - }); - - await waitFor(() => expect(result.current.coverPage).toEqual(coverPage)); - }); - - it('should update the cover page when an event is emitted', () => { - const appBridge = getAppBridgeThemeStub(); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - const { result } = renderHook(() => useCoverPage(appBridge)); - - const updatedCoverPage: CoverPageUpdate = { id: 1, title: 'Updated Cover Page' }; - - act(() => { - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { - action: 'update', - coverPage: updatedCoverPage as CoverPage, - }); - }); - - expect(result.current.coverPage).toEqual(updatedCoverPage); - }); - - it('should set the cover page to null when an event to delete it is emitted', () => { - const appBridge = getAppBridgeThemeStub(); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - const { result } = renderHook(() => useCoverPage(appBridge)); - - result.current.coverPage = null; - - act(() => { - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { action: 'delete' }); - }); - - expect(result.current.coverPage).toBe(null); - }); - - it('should not update the cover page when an event with an invalid action is emitted', () => { - const appBridge = getAppBridgeThemeStub(); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - const { result } = renderHook(() => useCoverPage(appBridge)); - - result.current.coverPage = CoverPageDummy.with(1); - - act(() => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { action: 'invalid' as any }); - }); - - expect(result.current.coverPage).toEqual(CoverPageDummy.with(1)); - }); - - it('should start fetching only when it is enabled', () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getCoverPage'); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - let enabled = false; - - const { rerender } = renderHook(() => useCoverPage(appBridge, { enabled })); - - expect(spy).not.toBeCalled(); - - enabled = true; - rerender(); - - expect(spy).toBeCalled(); - }); -}); diff --git a/packages/app-bridge/src/react/useCoverPage.ts b/packages/app-bridge/src/react/useCoverPage.ts deleted file mode 100644 index 61d19f367..000000000 --- a/packages/app-bridge/src/react/useCoverPage.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useCallback, useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type CoverPage, type EmitterAction } from '../types'; - -export type UseCoverPageReturnType = { - coverPage: Nullable; - isLoading: boolean; -}; - -type Options = { - /** - * Whether it should fetch on mount. - */ - enabled?: boolean; -}; - -export const useCoverPage = ( - appBridge: AppBridgeTheme, - options: Options = { enabled: true }, -): UseCoverPageReturnType => { - const [coverPage, setCoverPage] = useState>(null); - const [isLoading, setIsLoading] = useState(true); - - const fetchCoverPage = useCallback(async () => { - setIsLoading(true); - setCoverPage(await appBridge.getCoverPage()); - setIsLoading(false); - }, [appBridge]); - - useEffect(() => { - if (options.enabled) { - fetchCoverPage().catch(console.error); - } - }, [appBridge, fetchCoverPage, options.enabled]); - - useEffect(() => { - const updateCoverPageFromEvent = (event: { action: EmitterAction; coverPage?: CoverPage }) => { - if (event.action === 'add') { - fetchCoverPage().catch(console.error); - return; - } - - setCoverPage((previousState) => { - if (event.action === 'delete') { - return null; - } - - if (event.action === 'update' && event.coverPage) { - return { ...previousState, ...event.coverPage }; - } - - return previousState; - }); - }; - - window.emitter.on('AppBridge:GuidelineCoverPage:Action', updateCoverPageFromEvent); - - return () => { - window.emitter.off('AppBridge:GuidelineCoverPage:Action', updateCoverPageFromEvent); - }; - }, [appBridge, fetchCoverPage]); - - return { coverPage, isLoading }; -}; diff --git a/packages/app-bridge/src/react/useDocumentCategories.spec.ts b/packages/app-bridge/src/react/useDocumentCategories.spec.ts index 804c46bd6..271099d7f 100644 --- a/packages/app-bridge/src/react/useDocumentCategories.spec.ts +++ b/packages/app-bridge/src/react/useDocumentCategories.spec.ts @@ -5,7 +5,7 @@ import { renderHook, waitFor } from '@testing-library/react'; import { afterEach, describe, expect, it, vi } from 'vitest'; -import { DocumentCategoryDummy, getAppBridgeThemeStub } from '../tests'; +import { DocumentCategoryDummy, getAppBridgeBlockStub } from '../tests'; import { type DocumentCategory } from '../types'; import { useDocumentCategories } from './useDocumentCategories'; @@ -24,7 +24,7 @@ describe('useDocumentCategories', () => { }); it('should fetch document categories on mount', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const { result } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID)); @@ -44,7 +44,7 @@ describe('useDocumentCategories', () => { }); it('should not fetch document categories on mount if not enabled', () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const { result } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID, { enabled: false })); @@ -55,7 +55,7 @@ describe('useDocumentCategories', () => { }); it('should fetch document categories if it gets enabled', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); let enabled = false; @@ -84,7 +84,7 @@ describe('useDocumentCategories', () => { }); it('should update document categories if a category is added', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const DOCUMENT_CATEGORY = DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages( @@ -130,7 +130,7 @@ describe('useDocumentCategories', () => { }); it('should not update document categories if a category is added to another document', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const DOCUMENT_CATEGORY = DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages( @@ -165,7 +165,7 @@ describe('useDocumentCategories', () => { }); it('should update document categories if a category is removed', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const DOCUMENT_CATEGORY_TO_DELETE = DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages( @@ -202,7 +202,7 @@ describe('useDocumentCategories', () => { }); it('should not update document categories if a category is removed from another document', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const DOCUMENT_CATEGORY_TO_DELETE = DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages( @@ -240,7 +240,7 @@ describe('useDocumentCategories', () => { }); it('should update document categories if a category is updated', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const DOCUMENT_CATEGORY_TO_UPDATE: DocumentCategory = { @@ -283,7 +283,7 @@ describe('useDocumentCategories', () => { }); it('should not update document categories if a category is updated from another document', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const DOCUMENT_CATEGORY_TO_UPDATE: DocumentCategory = { @@ -321,7 +321,7 @@ describe('useDocumentCategories', () => { }); it('should update document categories number if a document page is added to a category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const { result } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID)); @@ -352,7 +352,7 @@ describe('useDocumentCategories', () => { }); it('should not update document categories if a document page is added to another category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const { result } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID)); @@ -383,7 +383,7 @@ describe('useDocumentCategories', () => { }); it('should update document categories if a document page is removed from a category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const { result } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID)); @@ -414,7 +414,7 @@ describe('useDocumentCategories', () => { }); it('should not update document categories if a document page is removed from another category', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const { result } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID)); @@ -445,7 +445,7 @@ describe('useDocumentCategories', () => { }); it('should update document categories sort if a category is moved', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); const CATEGORY_1 = DocumentCategoryDummy.withFields({ diff --git a/packages/app-bridge/src/react/useDocumentCategories.ts b/packages/app-bridge/src/react/useDocumentCategories.ts index a644e77b3..2e82b48eb 100644 --- a/packages/app-bridge/src/react/useDocumentCategories.ts +++ b/packages/app-bridge/src/react/useDocumentCategories.ts @@ -4,7 +4,6 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentCategory, type EmitterEvents } from '../types'; type DocumentPageEvent = EmitterEvents['AppBridge:GuidelineDocumentCategory:DocumentPageAction']; @@ -20,7 +19,7 @@ type Options = { const sortDocumentCategories = (a: DocumentCategory, b: DocumentCategory) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useDocumentCategories = ( - appBridge: AppBridgeBlock | AppBridgeTheme, + appBridge: AppBridgeBlock, documentId: number, options: Options = { enabled: true }, ) => { @@ -186,7 +185,7 @@ const actionHandlers = { default: (documentCategories: Map) => documentCategories, }; -const fetchDocumentCategories = async (appBridge: AppBridgeBlock | AppBridgeTheme, documentId: number) => { +const fetchDocumentCategories = async (appBridge: AppBridgeBlock, documentId: number) => { const categories = await appBridge.getDocumentCategoriesByDocumentId(documentId); return new Map([...categories].sort(sortDocumentCategories).map((category) => [category.id, category])); }; diff --git a/packages/app-bridge/src/react/useDocumentGroups.ts b/packages/app-bridge/src/react/useDocumentGroups.ts index f1eaa586e..4e2430141 100644 --- a/packages/app-bridge/src/react/useDocumentGroups.ts +++ b/packages/app-bridge/src/react/useDocumentGroups.ts @@ -4,7 +4,6 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentGroup, type EmitterEvents } from '../types'; type DocumentGroupDocumentEvent = EmitterEvents['AppBridge:GuidelineDocumentGroup:DocumentAction']; @@ -21,7 +20,7 @@ type Options = { const sortDocumentGroups = (a: DocumentGroup, b: DocumentGroup) => (a.sort && b.sort ? a.sort - b.sort : 0); -export const useDocumentGroups = (appBridge: AppBridgeBlock | AppBridgeTheme, options: Options = { enabled: true }) => { +export const useDocumentGroups = (appBridge: AppBridgeBlock, options: Options = { enabled: true }) => { const [documentGroups, setDocumentGroups] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); @@ -213,7 +212,7 @@ const actionHandlers = { default: (groups: Map) => groups, }; -const fetchDocumentGroups = async (appBridge: AppBridgeBlock | AppBridgeTheme) => { +const fetchDocumentGroups = async (appBridge: AppBridgeBlock) => { const documentGroups = await appBridge.getDocumentGroups(); return new Map([...documentGroups].sort(sortDocumentGroups).map((group) => [group.id, group])); }; diff --git a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts b/packages/app-bridge/src/react/useDocumentNavigation.spec.ts deleted file mode 100644 index ce08c2d3a..000000000 --- a/packages/app-bridge/src/react/useDocumentNavigation.spec.ts +++ /dev/null @@ -1,135 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook, waitFor } from '@testing-library/react'; -import { describe, expect, it, vi } from 'vitest'; - -import { type DocumentPage, type DocumentSection, type GuidelineDocument, type DocumentCategory } from 'src/types'; - -import { getAppBridgeThemeStub, DocumentNavigationTreeDummy } from '../tests'; - -import { useDocumentNavigation } from './useDocumentNavigation'; - -describe('useDocumentNavigation', () => { - const testInitialRender = async ({ - expectRefetch, - options, - }: { - expectRefetch: boolean; - options?: { enabled: boolean }; - }) => { - const document = { id: () => 1138 }; - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api').mockResolvedValueOnce(DocumentNavigationTreeDummy.default()); - - const { result } = renderHook(() => useDocumentNavigation(appBridge, document, options)); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(!expectRefetch); - expect(result.current.navigationItems).toEqual(expectRefetch ? DocumentNavigationTreeDummy.default() : []); - }); - - if (expectRefetch) { - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getDocumentNavigation', payload: { document } }); - } - }; - - const testEventHandler = async (emitEvent: () => void) => { - const document = { id: () => 1138 }; - - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api').mockResolvedValue(DocumentNavigationTreeDummy.default()); - - const { result } = renderHook(() => useDocumentNavigation(appBridge, document)); - - expect(result.current.isLoading).toBe(true); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DocumentNavigationTreeDummy.default()); - }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getDocumentNavigation', payload: { document } }); - - spy.mockResolvedValueOnce(DocumentNavigationTreeDummy.alternative()); - - emitEvent(); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(spy).toHaveBeenCalledTimes(2); - expect(result.current.navigationItems).toEqual(DocumentNavigationTreeDummy.alternative()); - }); - }; - - it('should not refetch on render when enabled is set to false', () => - testInitialRender({ expectRefetch: false, options: { enabled: false } })); - - it('should refetch on render when enabled is set to true', () => - testInitialRender({ expectRefetch: true, options: { enabled: true } })); - - it('should refetch on render when no options are given', () => - testInitialRender({ expectRefetch: true, options: undefined })); - - it('should refetch when the "AppBridge:GuidelineDocumentCategory:Action" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentCategory:Action', { - action: 'add', - documentCategory: {}, - }); - })); - - it('should refetch when the "AppBridge:GuidelineDocumentCategory:DocumentPageAction" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { - action: 'add', - documentPage: { categoryId: 0, id: 0, documentId: 0 }, - }); - })); - - it('should refetch when the "AppBridge:GuidelineDocumentCategory:MoveEvent" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentCategory:MoveEvent', { - action: 'movePreview', - documentId: 0, - documentCategory: {}, - position: 0, - }); - })); - - it('should refetch when the "AppBridge:GuidelineDocumentPage:Action" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - action: 'add', - documentPage: {}, - }); - })); - - it('should refetch when the "AppBridge:GuidelineDocumentPage:MoveEvent" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentPage:MoveEvent', { - action: 'movePreview', - documentId: 0, - documentPage: {}, - }); - })); - - it('should refetch when the "AppBridge:GuidelineDocumentPageTargets:Action" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentPageTargets:Action', { - action: 'update', - payload: { targets: [], pageIds: [] }, - }); - })); - - it('should refetch when the "AppBridge:GuidelineDocumentSection:Action" event occurs', () => - testEventHandler(() => { - window.emitter.emit('AppBridge:GuidelineDocumentSection:Action', { - action: 'add', - payload: { documentPageId: 0, documentSection: {}, previousDocumentSectionId: 0 }, - }); - })); -}); diff --git a/packages/app-bridge/src/react/useDocumentNavigation.ts b/packages/app-bridge/src/react/useDocumentNavigation.ts deleted file mode 100644 index ec38e0f51..000000000 --- a/packages/app-bridge/src/react/useDocumentNavigation.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import debounce from 'lodash-es/debounce'; -import { useCallback, useEffect, useMemo, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type GuidelineDocument, type DocumentNavigationItem } from '../types/Guideline'; - -type Options = { - /** - * Whether it should fetch on mount. - */ - enabled?: boolean; -}; - -export const useDocumentNavigation = ( - appBridge: AppBridgeTheme, - document: GuidelineDocument, - options: Options = { enabled: true }, -) => { - const [navigationItems, setNavigationItems] = useState([]); - const [isLoading, setIsLoading] = useState(true); - - const refetch = useCallback(async () => { - setIsLoading(true); - setNavigationItems(await appBridge.api({ name: 'getDocumentNavigation', payload: { document } })); - setIsLoading(false); - }, [appBridge, document]); - - useEffect(() => { - if (options.enabled) { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - refetch(); - } - }, [options.enabled, refetch]); - - const debouncedRefetch = useMemo( - () => - debounce(() => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - refetch(); - }, 100), - [refetch], - ); - - useEffect(() => { - window.emitter.on('AppBridge:GuidelineDocumentCategory:Action', debouncedRefetch); - window.emitter.on('AppBridge:GuidelineDocumentCategory:DocumentPageAction', debouncedRefetch); - window.emitter.on('AppBridge:GuidelineDocumentCategory:MoveEvent', debouncedRefetch); - - window.emitter.on('AppBridge:GuidelineDocumentPage:Action', debouncedRefetch); - window.emitter.on('AppBridge:GuidelineDocumentPage:MoveEvent', debouncedRefetch); - window.emitter.on('AppBridge:GuidelineDocumentPageTargets:Action', debouncedRefetch); - - window.emitter.on('AppBridge:GuidelineDocumentSection:Action', debouncedRefetch); - - return () => { - window.emitter.off('AppBridge:GuidelineDocumentCategory:Action', debouncedRefetch); - window.emitter.off('AppBridge:GuidelineDocumentCategory:DocumentPageAction', debouncedRefetch); - window.emitter.off('AppBridge:GuidelineDocumentCategory:MoveEvent', debouncedRefetch); - - window.emitter.off('AppBridge:GuidelineDocumentPage:Action', debouncedRefetch); - window.emitter.off('AppBridge:GuidelineDocumentPage:MoveEvent', debouncedRefetch); - window.emitter.off('AppBridge:GuidelineDocumentPageTargets:Action', debouncedRefetch); - - window.emitter.off('AppBridge:GuidelineDocumentSection:Action', debouncedRefetch); - }; - }, [navigationItems, debouncedRefetch]); - - return { navigationItems, refetch, isLoading }; -}; diff --git a/packages/app-bridge/src/react/useDocumentPageTargets.spec.ts b/packages/app-bridge/src/react/useDocumentPageTargets.spec.ts index 3e9358f08..f4a8a5529 100644 --- a/packages/app-bridge/src/react/useDocumentPageTargets.spec.ts +++ b/packages/app-bridge/src/react/useDocumentPageTargets.spec.ts @@ -5,7 +5,6 @@ import mitt from 'mitt'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { DocumentPageTargetsDummy } from '../tests'; import { useDocumentPageTargets } from './useDocumentPageTargets'; @@ -13,7 +12,7 @@ import { useDocumentPageTargets } from './useDocumentPageTargets'; const DOCUMENT_PAGE_ID = 345; describe('useDocumentPageTargets', () => { - const appBridge: AppBridgeBlock | AppBridgeTheme = {} as AppBridgeBlock | AppBridgeTheme; + const appBridge: AppBridgeBlock = {} as AppBridgeBlock; beforeEach(() => { window.emitter = mitt(); diff --git a/packages/app-bridge/src/react/useDocumentPageTargets.ts b/packages/app-bridge/src/react/useDocumentPageTargets.ts index d1d8965f4..ed42101ef 100644 --- a/packages/app-bridge/src/react/useDocumentPageTargets.ts +++ b/packages/app-bridge/src/react/useDocumentPageTargets.ts @@ -3,10 +3,9 @@ import { useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentPageTargets } from '../types'; -export type UseDocumentPageTargetsReturnType = { +type UseDocumentPageTargetsReturnType = { documentPageTargets: Nullable; isLoading: boolean; }; @@ -19,10 +18,7 @@ export type DocumentPageTargetEvent = { }; }; -export const useDocumentPageTargets = ( - appBridge: AppBridgeBlock | AppBridgeTheme, - id: number, -): UseDocumentPageTargetsReturnType => { +export const useDocumentPageTargets = (appBridge: AppBridgeBlock, id: number): UseDocumentPageTargetsReturnType => { const [documentPageTargets, setDocumentPageTargets] = useState>(null); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useDocumentSection.spec.ts b/packages/app-bridge/src/react/useDocumentSection.spec.ts index 881fa4246..dc3e0185e 100644 --- a/packages/app-bridge/src/react/useDocumentSection.spec.ts +++ b/packages/app-bridge/src/react/useDocumentSection.spec.ts @@ -4,7 +4,7 @@ import { renderHook, waitFor } from '@testing-library/react'; import mitt from 'mitt'; import { type Mock, beforeAll, describe, expect, it, vi } from 'vitest'; -import { type AppBridgeBlock, type AppBridgeTheme } from '../'; +import { type AppBridgeBlock } from '../'; import { DocumentSectionDummy } from '../tests/DocumentSectionDummy'; import { useDocumentSection } from './useDocumentSection'; @@ -19,7 +19,7 @@ const documentSections = [ ]; describe('useDocumentSection', () => { - const appBridge: AppBridgeBlock | AppBridgeTheme = {} as AppBridgeBlock | AppBridgeTheme; + const appBridge: AppBridgeBlock = {} as AppBridgeBlock; beforeAll(() => { window.emitter = mitt(); diff --git a/packages/app-bridge/src/react/useDocumentSection.ts b/packages/app-bridge/src/react/useDocumentSection.ts index cdb9fc983..204945ad6 100644 --- a/packages/app-bridge/src/react/useDocumentSection.ts +++ b/packages/app-bridge/src/react/useDocumentSection.ts @@ -3,7 +3,6 @@ import { useEffect, useMemo, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { filterDocumentSectionsWithUnreadableTitles } from '../helpers'; import { type DocumentSection, type EmitterEvents } from '../types'; @@ -51,10 +50,7 @@ type UseDocumentSectionReturn = { navigationItems: DocumentSection[]; }; -export const useDocumentSection = ( - appBridge: AppBridgeBlock | AppBridgeTheme, - documentPageId: number, -): UseDocumentSectionReturn => { +export const useDocumentSection = (appBridge: AppBridgeBlock, documentPageId: number): UseDocumentSectionReturn => { const [documentSections, setDocumentSections] = useState([]); const navigationItems = useMemo( () => filterDocumentSectionsWithUnreadableTitles(documentSections), diff --git a/packages/app-bridge/src/react/useDocumentTargets.spec.ts b/packages/app-bridge/src/react/useDocumentTargets.spec.ts index 375a3e734..f71e53a74 100644 --- a/packages/app-bridge/src/react/useDocumentTargets.spec.ts +++ b/packages/app-bridge/src/react/useDocumentTargets.spec.ts @@ -5,7 +5,6 @@ import mitt from 'mitt'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { DocumentTargetsDummy } from '../tests'; import { useDocumentTargets } from './useDocumentTargets'; @@ -13,7 +12,7 @@ import { useDocumentTargets } from './useDocumentTargets'; const DOCUMENT_ID = 92341; describe('useDocumentTargets', () => { - const appBridge: AppBridgeBlock | AppBridgeTheme = {} as AppBridgeBlock | AppBridgeTheme; + const appBridge: AppBridgeBlock = {} as AppBridgeBlock; beforeEach(() => { window.emitter = mitt(); diff --git a/packages/app-bridge/src/react/useDocumentTargets.tsx b/packages/app-bridge/src/react/useDocumentTargets.tsx index ff3665a2d..17ae4a846 100644 --- a/packages/app-bridge/src/react/useDocumentTargets.tsx +++ b/packages/app-bridge/src/react/useDocumentTargets.tsx @@ -3,7 +3,6 @@ import { useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentTargets } from '../types'; export type UseDocumentTargetsReturnType = { @@ -19,10 +18,7 @@ type DocumentTargetEvent = { }; }; -export const useDocumentTargets = ( - appBridge: AppBridgeBlock | AppBridgeTheme, - id: number, -): UseDocumentTargetsReturnType => { +export const useDocumentTargets = (appBridge: AppBridgeBlock, id: number): UseDocumentTargetsReturnType => { const [documentTargets, setDocumentTargets] = useState>(null); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useEditorState.ts b/packages/app-bridge/src/react/useEditorState.ts index a83ca4516..074d744af 100644 --- a/packages/app-bridge/src/react/useEditorState.ts +++ b/packages/app-bridge/src/react/useEditorState.ts @@ -3,9 +3,8 @@ import { useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; -export const useEditorState = (appBridge: AppBridgeBlock | AppBridgeTheme): boolean => { +export const useEditorState = (appBridge: AppBridgeBlock): boolean => { const [editorState, setEditorState] = useState(appBridge.getEditorState()); useEffect(() => { diff --git a/packages/app-bridge/src/react/useGroupedDocuments.spec.ts b/packages/app-bridge/src/react/useGroupedDocuments.spec.ts index b4195766a..0c3c5f0cf 100644 --- a/packages/app-bridge/src/react/useGroupedDocuments.spec.ts +++ b/packages/app-bridge/src/react/useGroupedDocuments.spec.ts @@ -5,7 +5,7 @@ import { renderHook, waitFor } from '@testing-library/react'; import { afterEach, describe, expect, it, vi } from 'vitest'; -import { DocumentDummy, getAppBridgeThemeStub } from '../tests'; +import { DocumentDummy, getAppBridgeBlockStub } from '../tests'; import { useGroupedDocuments } from './useGroupedDocuments'; @@ -23,7 +23,7 @@ describe('useGroupedDocument', () => { }); it('should fetch grouped documents on mount', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1)); @@ -44,7 +44,7 @@ describe('useGroupedDocument', () => { }); it('should not fetch grouped documents on mount if not enabled', () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const { result } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1, { enabled: false })); @@ -55,7 +55,7 @@ describe('useGroupedDocument', () => { }); it('should fetch grouped documents if it gets enabled', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); let enabled = false; @@ -86,7 +86,7 @@ describe('useGroupedDocument', () => { }); it('should update document if a page is added', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const OLD_DOCUMENT = DocumentDummy.withFields({ @@ -130,7 +130,7 @@ describe('useGroupedDocument', () => { }); it('should update document if a page is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const OLD_DOCUMENT = DocumentDummy.withFields({ @@ -178,7 +178,7 @@ describe('useGroupedDocument', () => { }); it('should update document if a category is added', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const OLD_DOCUMENT = DocumentDummy.withFields({ @@ -223,7 +223,7 @@ describe('useGroupedDocument', () => { }); it('should update document if a category is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const OLD_DOCUMENT = DocumentDummy.withFields({ @@ -271,7 +271,7 @@ describe('useGroupedDocument', () => { }); it('should update document sorting if a document is moved', async () => { - const appBridge = getAppBridgeThemeStub(); + const appBridge = getAppBridgeBlockStub(); const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); const DOCUMENT_1 = DocumentDummy.withFields({ diff --git a/packages/app-bridge/src/react/useGroupedDocuments.ts b/packages/app-bridge/src/react/useGroupedDocuments.ts index 4aedde496..40409852b 100644 --- a/packages/app-bridge/src/react/useGroupedDocuments.ts +++ b/packages/app-bridge/src/react/useGroupedDocuments.ts @@ -4,7 +4,6 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type Document, type EmitterEvents } from '../types'; type DocumentPageEvent = EmitterEvents['AppBridge:GuidelineDocument:DocumentPageAction']; @@ -21,7 +20,7 @@ type Options = { const sortDocuments = (a: Document, b: Document) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useGroupedDocuments = ( - appBridge: AppBridgeBlock | AppBridgeTheme, + appBridge: AppBridgeBlock, documentGroupId: number, options: Options = { enabled: true }, ) => { @@ -229,7 +228,7 @@ const actionHandlers = { default: (documents: Map) => documents, }; -const fetchGroupedDocuments = async (appBridge: AppBridgeBlock | AppBridgeTheme, documentGroupId: number) => { +const fetchGroupedDocuments = async (appBridge: AppBridgeBlock, documentGroupId: number) => { const documents = await appBridge.getDocumentsByDocumentGroupId(documentGroupId); return new Map([...documents].sort(sortDocuments).map((document) => [document.id, document])); }; diff --git a/packages/app-bridge/src/react/useGuidelineActions.spec.ts b/packages/app-bridge/src/react/useGuidelineActions.spec.ts deleted file mode 100644 index 89d02fb50..000000000 --- a/packages/app-bridge/src/react/useGuidelineActions.spec.ts +++ /dev/null @@ -1,2178 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { act, renderHook, waitFor } from '@testing-library/react'; -import mitt from 'mitt'; -import { type SpyInstance, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; - -import { - BrandportalLinkDummy, - CoverPageDummy, - DocumentCategoryDummy, - DocumentDummy, - DocumentGroupDummy, - DocumentPageDummy, - getAppBridgeThemeStub, -} from '../tests'; -import { - type BrandportalLink, - type CoverPage, - type CoverPageCreate, - type CoverPageUpdate, - type DocumentCategoryCreate, - type DocumentCategoryUpdate, - type DocumentGroupCreate, - type DocumentGroupUpdate, - type DocumentLibraryCreate, - type DocumentLibraryUpdate, - type DocumentLinkCreate, - type DocumentLinkUpdate, - type DocumentPageCreate, - type DocumentPageUpdate, - type DocumentStandardCreate, - type DocumentStandardUpdate, -} from '../types'; - -import { useCategorizedDocumentPages } from './useCategorizedDocumentPages'; -import { useDocumentCategories } from './useDocumentCategories'; -import { useDocumentGroups } from './useDocumentGroups'; -import { useGroupedDocuments } from './useGroupedDocuments'; -import { useGuidelineActions } from './useGuidelineActions'; -import { useUncategorizedDocumentPages } from './useUncategorizedDocumentPages'; -import { useUngroupedDocuments } from './useUngroupedDocuments'; - -const DOCUMENT_ID_1 = 6456; -const DOCUMENT_ID_2 = 34532; -const DOCUMENT_ID_3 = 2414; -const DOCUMENT_ID_4 = 2342; -const DOCUMENT_ID_5 = 2343445; -const DOCUMENT_PAGE_ID_1 = 23442; -const DOCUMENT_PAGE_ID_2 = 235345; -const DOCUMENT_PAGE_ID_3 = 12352; -const DOCUMENT_PAGE_ID_4 = 55221; -const DOCUMENT_PAGE_ID_5 = 98324; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_1 = 24324; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_2 = 3532; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_3 = 98954; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_4 = 34563; -const DOCUMENT_CATEGORY_ID_1 = 147; -const DOCUMENT_CATEGORY_ID_2 = 258; -const DOCUMENT_CATEGORY_ID_3 = 678; -const DOCUMENT_GROUP_ID_1 = 345; -const DOCUMENT_GROUP_ID_2 = 95694; -const DOCUMENT_GROUP_ID_3 = 345882; - -describe('useGuidelineActions hook', () => { - let useGuidelineActionsStub: ReturnType; - let emitSpy: SpyInstance | null = null; - let appBridgeStub: ReturnType; - - beforeEach(() => { - appBridgeStub = getAppBridgeThemeStub(); - const { result } = renderHook(() => useGuidelineActions(appBridgeStub)); - - useGuidelineActionsStub = result.current; - window.emitter = mitt(); - emitSpy = vi.spyOn(window.emitter, 'emit'); - }); - - afterEach(() => { - vi.resetAllMocks(); - emitSpy = null; - }); - - it('should not throw createDocument', async () => { - const createDocumentMock = vi.fn(useGuidelineActionsStub.createDocument); - - expect(createDocumentMock({ title: 'testDocument' })).resolves.not.toThrow(); - }); - - it('should not throw createDocumentGroup', async () => { - const createDocumentGroupMock = vi.fn(useGuidelineActionsStub.createDocumentGroup); - - expect(createDocumentGroupMock({ name: 'testDocumentGroup' })).resolves.not.toThrow(); - }); - - it('should not throw createLibrary', async () => { - const createLibraryMock = vi.fn(useGuidelineActionsStub.createLibrary); - - expect( - createLibraryMock({ title: 'testLibrary', settings: { project: 4 }, mode: 'DOCUMENTLIBRARY' }), - ).resolves.not.toThrow(); - }); - - it('should not throw createLink', async () => { - const createLinkMock = vi.fn(useGuidelineActionsStub.createLink); - - expect( - createLinkMock({ title: 'testLink', linkUrl: '/test/url', linkSettings: { newTab: true } }), - ).resolves.not.toThrow(); - }); - - it('should not throw createDocumentCategory', async () => { - const createDocumentCategoryMock = vi.fn(useGuidelineActionsStub.createDocumentCategory); - - expect(createDocumentCategoryMock({ title: 'testCategory', documentId: 4 })).resolves.not.toThrow(); - }); - - it('should not throw createDocumentPage', async () => { - const createDocumentPageMock = vi.fn(useGuidelineActionsStub.createDocumentPage); - - expect(createDocumentPageMock({ title: 'testPage', documentId: 5 })).resolves.not.toThrow(); - }); - - it('should not throw createCoverPage', async () => { - const createCoverPageMock = vi.fn(useGuidelineActionsStub.createCoverPage); - - expect(createCoverPageMock({ documentId: '5', template: 'cover' })).resolves.not.toThrow(); - }); - - it('should not throw updateDocument', async () => { - const updateDocumentMock = vi.fn(useGuidelineActionsStub.updateDocument); - - expect(updateDocumentMock({ id: 1, title: 'updateDocumentTest' })).resolves.not.toThrow(); - }); - - it('should not throw updateDocumentGroup', async () => { - const updateDocumentGroupMock = vi.fn(useGuidelineActionsStub.updateDocumentGroup); - - expect(updateDocumentGroupMock({ id: 1, name: 'updateDocumentGroupTest' })).resolves.not.toThrow(); - }); - - it('should not throw updateLibrary', async () => { - const updateLibraryMock = vi.fn(useGuidelineActionsStub.updateLibrary); - - expect(updateLibraryMock({ id: 1, title: 'updateTitleTest' })).resolves.not.toThrow(); - }); - - it('should not throw updateLink', async () => { - const updateLinkMock = vi.fn(useGuidelineActionsStub.updateLink); - - expect(updateLinkMock({ id: 1, title: 'updateLinkTest' })).resolves.not.toThrow(); - }); - - it('should not throw updateDocumentCategory', async () => { - const updateDocumentCategoryMock = vi.fn(useGuidelineActionsStub.updateDocumentCategory); - - expect( - updateDocumentCategoryMock({ id: 1, title: 'updateDocumentCategoryTest', documentId: 20 }), - ).resolves.not.toThrow(); - }); - - it('should not throw updateDocumentPage', async () => { - const updateDocumentPageMock = vi.fn(useGuidelineActionsStub.updateDocumentPage); - - expect( - updateDocumentPageMock({ id: 1, title: 'updateDocumentPageTest', documentId: 20 }), - ).resolves.not.toThrow(); - }); - - it('should not throw updateLegacyCoverPage', async () => { - const updateLegacyCoverPageMock = vi.fn(useGuidelineActionsStub.updateLegacyCoverPage); - - expect(updateLegacyCoverPageMock({})).resolves.not.toThrow(); - }); - - it('should not throw updateCoverPage', async () => { - const updateCoverPageMock = vi.fn(useGuidelineActionsStub.updateCoverPage); - - expect(updateCoverPageMock({ id: 1 })).resolves.not.toThrow(); - }); - - it('should not throw updateBrandportalLink', async () => { - const updateBrandportalLinkMock = vi.fn(useGuidelineActionsStub.updateBrandportalLink); - - expect(updateBrandportalLinkMock({})).resolves.not.toThrow(); - }); - - it('should not throw deleteDocument', async () => { - const deleteDocumentMock = vi.fn(useGuidelineActionsStub.deleteDocument); - - expect(deleteDocumentMock({ id: 1 })).resolves.not.toThrow(); - }); - - it('should not throw deleteLibrary', async () => { - const deleteLibraryMock = vi.fn(useGuidelineActionsStub.deleteLibrary); - - expect(deleteLibraryMock({ id: 1 })).resolves.not.toThrow(); - }); - - it('should not throw deleteLink', async () => { - const deleteLinkMock = vi.fn(useGuidelineActionsStub.deleteLink); - - expect(deleteLinkMock({ id: 1 })).resolves.not.toThrow(); - }); - - it('should not throw deleteDocumentPage', async () => { - const deleteDocumentPageMock = vi.fn(useGuidelineActionsStub.deleteDocumentPage); - - expect(deleteDocumentPageMock({ id: 1, documentId: 10, categoryId: null })).resolves.not.toThrow(); - }); - - it('should not throw deleteDocumentGroup', async () => { - const deleteDocumentGroupMock = vi.fn(useGuidelineActionsStub.deleteDocumentGroup); - - expect(deleteDocumentGroupMock({ id: 1 })).resolves.not.toThrow(); - }); - - it('should not throw deleteDocumentCategory', async () => { - const deleteDocumentCategoryMock = vi.fn(useGuidelineActionsStub.deleteDocumentCategory); - - expect(deleteDocumentCategoryMock({ id: 1, documentId: 10 })).resolves.not.toThrow(); - }); - - it('should not throw deleteCoverPage', async () => { - const deleteCoverPageMock = vi.fn(useGuidelineActionsStub.deleteCoverPage); - - expect(deleteCoverPageMock()).resolves.not.toThrow(); - }); - - it('should not throw duplicateDocumentPage', async () => { - const duplicateDocumentPageMock = vi.fn(useGuidelineActionsStub.duplicateDocumentPage); - - expect(duplicateDocumentPageMock({ id: 1, documentId: 5 })).resolves.not.toThrow(); - }); - - it('should not throw updateDocumentTargets', async () => { - const updateDocumentTargetsMock = vi.fn(useGuidelineActionsStub.updateDocumentTargets); - - expect(updateDocumentTargetsMock([1, 2, 3], [203])).resolves.not.toThrow(); - }); - - it('should not throw updateDocumentPageTargets', async () => { - const updateDocumentPageTargetsMock = vi.fn(useGuidelineActionsStub.updateDocumentPageTargets); - - expect(updateDocumentPageTargetsMock([1, 2, 3], [203])).resolves.not.toThrow(); - }); - - it('should create a link and emit an event', async () => { - const createLink = vi.spyOn(useGuidelineActionsStub, 'createLink'); - - const link: DocumentLinkCreate = { - title: 'Test Link', - documentGroupId: 1, - linkUrl: 'test/url', - linkSettings: { newTab: false }, - }; - - act(() => { - useGuidelineActionsStub.createLink(link); - }); - - await waitFor(() => { - expect(createLink).toHaveBeenCalledWith(link); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { ...DocumentDummy.with(1), documentGroupId: link.documentGroupId }, - action: 'add', - }); - }); - }); - - it('should update a link and emit an event', async () => { - const updateLink = vi.spyOn(useGuidelineActionsStub, 'updateLink'); - - const link: DocumentLinkUpdate = { - id: 1, - title: 'Updated Link', - documentGroupId: 1, - }; - - act(() => { - useGuidelineActionsStub.updateLink(link); - }); - - await waitFor(() => { - expect(updateLink).toHaveBeenCalledWith(link); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { ...DocumentDummy.with(1), documentGroupId: link.documentGroupId }, - action: 'update', - }); - }); - }); - - it('should delete a link and emit an event', async () => { - const deleteLink = vi.spyOn(useGuidelineActionsStub, 'deleteLink'); - - const documentId = 1; - - act(() => { - useGuidelineActionsStub.deleteLink({ id: documentId }); - }); - - await waitFor(() => { - expect(deleteLink).toHaveBeenCalledWith({ id: documentId }); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { id: documentId }, - action: 'delete', - }); - }); - }); - - it('should create a library and emit an event', async () => { - const createLibrary = vi.spyOn(useGuidelineActionsStub, 'createLibrary'); - - const library: DocumentLibraryCreate = { - title: 'Test Library', - documentGroupId: 1, - mode: 'DOCUMENTLIBRARY', - settings: { - project: 1, - }, - }; - - act(() => { - useGuidelineActionsStub.createLibrary(library); - }); - - await waitFor(() => { - expect(createLibrary).toHaveBeenCalledWith(library); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { ...DocumentDummy.with(1), documentGroupId: library.documentGroupId }, - action: 'add', - }); - }); - }); - - it('should update a library and emit an event', async () => { - const updateLibrary = vi.spyOn(useGuidelineActionsStub, 'updateLibrary'); - - const library: DocumentLibraryUpdate = { - id: 1, - title: 'Updated Library', - documentGroupId: 1, - }; - - act(() => { - useGuidelineActionsStub.updateLibrary(library); - }); - - await waitFor(() => { - expect(updateLibrary).toHaveBeenCalledWith(library); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { ...DocumentDummy.with(1), documentGroupId: library.documentGroupId }, - action: 'update', - }); - }); - }); - - it('should delete a library and emit an event', async () => { - const deleteLibrary = vi.spyOn(useGuidelineActionsStub, 'deleteLibrary'); - - const documentId = 1; - - act(() => { - useGuidelineActionsStub.deleteLibrary({ id: documentId }); - }); - - await waitFor(() => { - expect(deleteLibrary).toHaveBeenCalledWith({ id: documentId }); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { id: documentId }, - action: 'delete', - }); - }); - }); - - it('should create a standard document and emit an event', async () => { - const createStandardDocument = vi.spyOn(useGuidelineActionsStub, 'createDocument'); - - const documentCreationParameters: DocumentStandardCreate = { - title: 'Test Standard Document', - documentGroupId: 1, - }; - - act(() => { - useGuidelineActionsStub.createDocument(documentCreationParameters); - }); - - await waitFor(() => { - expect(createStandardDocument).toHaveBeenCalledWith(documentCreationParameters); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { ...DocumentDummy.with(1), documentGroupId: documentCreationParameters.documentGroupId }, - action: 'add', - }); - }); - }); - - it('should update a standard document and emit an event', async () => { - const updateStandardDocument = vi.spyOn(useGuidelineActionsStub, 'updateDocument'); - - const document: DocumentStandardUpdate = { - id: 1, - title: 'Updated Standard Document', - documentGroupId: 1, - }; - - act(() => { - useGuidelineActionsStub.updateDocument(document); - }); - - await waitFor(() => { - expect(updateStandardDocument).toHaveBeenCalledWith(document); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { ...DocumentDummy.with(1), documentGroupId: document.documentGroupId }, - action: 'update', - }); - }); - }); - - it('should delete a standard document and emit an event', async () => { - const deleteStandardDocument = vi.spyOn(useGuidelineActionsStub, 'deleteDocument'); - - const documentId = 1; - - act(() => { - useGuidelineActionsStub.deleteDocument({ id: documentId }); - }); - - await waitFor(() => { - expect(deleteStandardDocument).toHaveBeenCalledWith({ id: documentId }); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocument:Action', { - document: { id: documentId }, - action: 'delete', - }); - }); - }); - - it('should create a cover page and emit an event', async () => { - const createCoverPage = vi.spyOn(useGuidelineActionsStub, 'createCoverPage'); - - const coverPage: CoverPageCreate = { - template: 'blank', - documentId: '1', - }; - - act(() => { - useGuidelineActionsStub.createCoverPage(coverPage); - }); - - await waitFor(() => { - expect(createCoverPage).toHaveBeenCalledWith(coverPage); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineCoverPage:Action', { - coverPage: CoverPageDummy.with(1), - action: 'add', - }); - }); - }); - - it('should update a cover page and emit an event', async () => { - const updateCoverPage = vi.spyOn(useGuidelineActionsStub, 'updateCoverPage'); - - const coverPage: CoverPageUpdate = { - id: 1, - draft: false, - enabled: true, - }; - - act(() => { - useGuidelineActionsStub.updateCoverPage(coverPage); - }); - - await waitFor(() => { - expect(updateCoverPage).toHaveBeenCalledWith(coverPage); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineCoverPage:Action', { - coverPage: CoverPageDummy.with(1), - action: 'update', - }); - }); - }); - - it('should update a legacy cover page and emit an event', async () => { - const updateLegacyCoverPage = vi.spyOn(useGuidelineActionsStub, 'updateLegacyCoverPage'); - - const legacyCoverPage: Partial = { - draft: false, - enabled: true, - title: 'Legacy Cover Page', - }; - - act(() => { - useGuidelineActionsStub.updateLegacyCoverPage(legacyCoverPage); - }); - - await waitFor(() => { - expect(updateLegacyCoverPage).toHaveBeenCalledWith(legacyCoverPage); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineCoverPage:Action', { - coverPage: legacyCoverPage, - action: 'update', - }); - }); - }); - - it('should delete a cover page and emit an event', async () => { - const deleteCoverPage = vi.spyOn(useGuidelineActionsStub, 'deleteCoverPage'); - - act(() => { - useGuidelineActionsStub.deleteCoverPage(); - }); - - await waitFor(() => { - expect(deleteCoverPage).toHaveBeenCalled(); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineCoverPage:Action', { - action: 'delete', - }); - }); - }); - - it('should update a brandportal link and emit an event', async () => { - const updateBrandportalLink = vi.spyOn(useGuidelineActionsStub, 'updateBrandportalLink'); - - const brandportalLink: BrandportalLink = { - label: 'Updated BrandportalLink', - url: 'https://www.example.com', - enabled: true, - }; - - act(() => { - useGuidelineActionsStub.updateBrandportalLink(brandportalLink); - }); - - await waitFor(() => { - expect(updateBrandportalLink).toHaveBeenCalledWith(brandportalLink); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineBrandportalLink:Action', { - brandportalLink: BrandportalLinkDummy.with(), - action: 'update', - }); - }); - }); - - it('should create a document group and emit an event', async () => { - const createDocumentGroup = vi.spyOn(useGuidelineActionsStub, 'createDocumentGroup'); - - const group: DocumentGroupCreate = { - name: 'Test Document Group', - }; - - act(() => { - useGuidelineActionsStub.createDocumentGroup(group); - }); - - await waitFor(() => { - expect(createDocumentGroup).toHaveBeenCalledWith(group); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup: DocumentGroupDummy.with(1), - action: 'add', - }); - }); - }); - - it('should update a document group and emit an event', async () => { - const updateDocumentGroup = vi.spyOn(useGuidelineActionsStub, 'updateDocumentGroup'); - - const documentGroupUpdate: DocumentGroupUpdate = { - id: 1, - name: 'Updated Document Group', - }; - - const documentGroup = DocumentGroupDummy.with(1); - - act(() => { - useGuidelineActionsStub.updateDocumentGroup(documentGroupUpdate); - }); - - await waitFor(() => { - expect(updateDocumentGroup).toHaveBeenCalledWith(documentGroupUpdate); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup, - action: 'update', - }); - }); - }); - - it('should delete a document group and emit an event', async () => { - const deleteDocumentGroup = vi.spyOn(useGuidelineActionsStub, 'deleteDocumentGroup'); - - const id = 1; - - act(() => { - useGuidelineActionsStub.deleteDocumentGroup({ id }); - }); - - await waitFor(() => { - expect(deleteDocumentGroup).toHaveBeenCalledWith({ id }); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup: { id }, - action: 'delete', - }); - }); - }); - - it('should create a document category and emit an event', async () => { - const createDocumentCategory = vi.spyOn(useGuidelineActionsStub, 'createDocumentCategory'); - - const documentCategoryCreationParameters: DocumentCategoryCreate = { - title: 'Test Document Category', - documentId: 1, - }; - - act(() => { - useGuidelineActionsStub.createDocumentCategory(documentCategoryCreationParameters); - }); - - await waitFor(() => { - expect(createDocumentCategory).toHaveBeenCalledWith(documentCategoryCreationParameters); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory: DocumentCategoryDummy.with(1), - action: 'add', - }); - }); - }); - - it('should update a document category and emit an event', async () => { - const updateDocumentCategory = vi.spyOn(useGuidelineActionsStub, 'updateDocumentCategory'); - - const updatedDocumentCategory: DocumentCategoryUpdate = { - id: 1, - title: 'Updated Document Category', - documentId: 15, - }; - - const documentCategory = DocumentCategoryDummy.with(1); - - act(() => { - useGuidelineActionsStub.updateDocumentCategory(updatedDocumentCategory); - }); - - await waitFor(() => { - expect(updateDocumentCategory).toHaveBeenCalledWith(updatedDocumentCategory); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory, - action: 'update', - }); - }); - }); - - it('should delete a document category and emit an event', async () => { - const deleteDocumentCategory = vi.spyOn(useGuidelineActionsStub, 'deleteDocumentCategory'); - - const documentCategory = { id: 1, documentId: 16 }; - - act(() => { - useGuidelineActionsStub.deleteDocumentCategory(documentCategory); - }); - - await waitFor(() => { - expect(deleteDocumentCategory).toHaveBeenCalledWith(documentCategory); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory: { id: documentCategory.id, documentId: 16 }, - action: 'delete', - }); - }); - }); - - it('should create a page and emit an event', async () => { - const createDocumentPage = vi.spyOn(useGuidelineActionsStub, 'createDocumentPage'); - - const page: DocumentPageCreate = { - title: 'Test Page', - documentId: 1, - }; - - act(() => { - useGuidelineActionsStub.createDocumentPage(page); - }); - - await waitFor(() => { - expect(createDocumentPage).toHaveBeenCalledWith(page); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentPage:Action', { - documentPage: DocumentPageDummy.with(1), - action: 'add', - }); - }); - }); - - it('should update a page and emit an event', async () => { - const documentPage = DocumentPageDummy.with(1); - const updateDocumentPage = vi.spyOn(useGuidelineActionsStub, 'updateDocumentPage'); - - const page: DocumentPageUpdate = { - id: 1, - title: 'Updated Page', - documentId: 25, - }; - - act(() => { - useGuidelineActionsStub.updateDocumentPage(page); - }); - - await waitFor(() => { - expect(updateDocumentPage).toHaveBeenCalledWith(page); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentPage:Action', { - action: 'update', - documentPage, - }); - }); - }); - - it('should delete a page and emit an event', async () => { - const deleteDocumentPage = vi.spyOn(useGuidelineActionsStub, 'deleteDocumentPage'); - - const page = { id: 1, documentId: 22 }; - - act(() => { - useGuidelineActionsStub.deleteDocumentPage(page); - }); - - await waitFor(() => { - expect(deleteDocumentPage).toHaveBeenCalledWith(page); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentPage:Action', { - documentPage: { id: page.id, documentId: 22, categoryId: null }, - action: 'delete', - }); - }); - }); - - it('should duplicate a page and emit an event', async () => { - const duplicateDocumentPage = vi.spyOn(useGuidelineActionsStub, 'duplicateDocumentPage'); - - const originalDocumentPage = { - id: 2341, - documentId: 10, - categoryId: 1138, - }; - - act(() => { - useGuidelineActionsStub.duplicateDocumentPage(originalDocumentPage); - }); - - await waitFor(() => { - expect(duplicateDocumentPage).toHaveBeenCalledWith(originalDocumentPage); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentPage:Action', { - documentPage: { - ...DocumentPageDummy.with(originalDocumentPage.id), - documentId: originalDocumentPage.documentId, - categoryId: originalDocumentPage.categoryId, - }, - action: 'add', - }); - }); - }); - - it('should update document targets and emit all events', async () => { - const updateDocumentTargets = vi.spyOn(useGuidelineActionsStub, 'updateDocumentTargets'); - - const targets = [1, 2, 3]; - const documentIds = [204]; - - act(() => { - useGuidelineActionsStub.updateDocumentTargets(targets, documentIds); - }); - - await waitFor(() => { - expect(updateDocumentTargets).toHaveBeenCalledWith(targets, documentIds); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentTargets:Action', { - payload: { - targets, - documentIds, - }, - action: 'update', - }); - }); - }); - - it('should update document page targets and emit all events', async () => { - const updateDocumentPageTargets = vi.spyOn(useGuidelineActionsStub, 'updateDocumentPageTargets'); - - const targets = [1, 2, 3]; - const documentPageIds = [204]; - - act(() => { - useGuidelineActionsStub.updateDocumentPageTargets(targets, documentPageIds); - }); - - await waitFor(() => { - expect(updateDocumentPageTargets).toHaveBeenCalledWith(targets, documentPageIds); - expect(emitSpy).toHaveBeenCalledWith('AppBridge:GuidelineDocumentPageTargets:Action', { - payload: { targets, pageIds: documentPageIds }, - action: 'update', - }); - }); - }); - - it('should move an uncategorized document page within the same document', async () => { - const DOCUMENT_PAGE_1 = DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: null, - }); - - const appBridge = getAppBridgeThemeStub(); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - const moveDocumentPageSpy = vi - .spyOn(appBridge, 'moveDocumentPage') - .mockResolvedValueOnce({ ...DOCUMENT_PAGE_1, sort: 2 }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - const { result: uncategorizedDocumentPages } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_1), - ); - - await waitFor(() => { - expect(uncategorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_1.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - - guidelineActions.current.moveDocumentPage(DOCUMENT_PAGE_1, DOCUMENT_ID_1, 2); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...DOCUMENT_PAGE_1, - sort: 1, - categoryId: null, - }, - categoryId: null, - documentId: DOCUMENT_ID_1, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 2 }, action: 'move' }, - ], - ['AppBridge:GuidelineDocument:DocumentPageAction', { documentPage: DOCUMENT_PAGE_1, action: 'delete' }], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 2 }, action: 'add' }, - ], - ]); - - expect(uncategorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_1.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - }); - - it('should move a categorized document page within the same document category', async () => { - const DOCUMENT_PAGE_1 = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }); - - const appBridge = getAppBridgeThemeStub(); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - const moveDocumentPageSpy = vi - .spyOn(appBridge, 'moveDocumentPage') - .mockResolvedValueOnce({ ...DOCUMENT_PAGE_1, sort: 3 }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - const { result: categorizedDocumentPages } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_1), - ); - - await waitFor(() => { - expect(categorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_1.id, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - }); - - guidelineActions.current.moveDocumentPage(DOCUMENT_PAGE_1, DOCUMENT_ID_1, 3, DOCUMENT_CATEGORY_ID_1); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...DOCUMENT_PAGE_1, - sort: 1, - }, - categoryId: DOCUMENT_CATEGORY_ID_1, - documentId: DOCUMENT_ID_1, - position: 3, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 3 }, action: 'move' }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { documentPage: DOCUMENT_PAGE_1, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 3 }, action: 'add' }, - ], - ]); - - expect(categorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_1.id, - DOCUMENT_PAGE_ID_4, - ]); - }); - }); - - it('should move a categorized document page to uncategorized within the same document', async () => { - const DOCUMENT_PAGE_1 = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchUncategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentPageSpy = vi - .spyOn(appBridge, 'moveDocumentPage') - .mockResolvedValueOnce({ ...DOCUMENT_PAGE_1, sort: 3, categoryId: null }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - const { result: categorizedDocumentPages } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_1), - ); - const { result: uncategorizedDocumentPages } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_1), - ); - - await waitFor(() => { - expect(categorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_1.id, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - - expect(uncategorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - - // Mock the response of the add in uncategorized hook call - fetchUncategorizedDocumentPagesSpy.mockResolvedValue([ - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 2, - }), - { ...DOCUMENT_PAGE_1, sort: 3, categoryId: null }, - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 4, - }), - ]); - - guidelineActions.current.moveDocumentPage(DOCUMENT_PAGE_1, DOCUMENT_ID_1, 2, null); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - expect(fetchUncategorizedDocumentPagesSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...DOCUMENT_PAGE_1, - sort: 1, - }, - categoryId: null, - documentId: DOCUMENT_ID_1, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 1 }, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 3, categoryId: null }, action: 'add' }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { documentPage: DOCUMENT_PAGE_1, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { documentPage: { ...DOCUMENT_PAGE_1, sort: 3, categoryId: null }, action: 'add' }, - ], - ]); - - expect(categorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - - expect(uncategorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_1.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - }); - - it('should move an uncategorized document page to a document category within the same document', async () => { - const UNCATEGORIZED_DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: null, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchCategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentPageSpy = vi - .spyOn(appBridge, 'moveDocumentPage') - .mockResolvedValueOnce({ ...UNCATEGORIZED_DOCUMENT_PAGE, sort: 2, categoryId: DOCUMENT_CATEGORY_ID_1 }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - const { result: categorizedDocumentPages } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_1), - ); - const { result: uncategorizedDocumentPages } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_1), - ); - - await waitFor(() => { - expect(uncategorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - - expect(categorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - }); - - // Mock the response of the add in uncategorized hook call - fetchCategorizedDocumentPagesSpy.mockResolvedValue([ - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_1, categoryId: DOCUMENT_CATEGORY_ID_1, sort: 1 }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_2, categoryId: DOCUMENT_CATEGORY_ID_1, sort: 2 }), - { ...UNCATEGORIZED_DOCUMENT_PAGE, sort: 3, categoryId: DOCUMENT_CATEGORY_ID_1 }, - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_3, categoryId: DOCUMENT_CATEGORY_ID_1, sort: 4 }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_4, categoryId: DOCUMENT_CATEGORY_ID_1, sort: 5 }), - ]); - - guidelineActions.current.moveDocumentPage( - UNCATEGORIZED_DOCUMENT_PAGE, - DOCUMENT_ID_1, - 2, - DOCUMENT_CATEGORY_ID_1, - ); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - expect(fetchCategorizedDocumentPagesSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 1, - documentId: DOCUMENT_ID_1, - categoryId: null, - }, - categoryId: DOCUMENT_CATEGORY_ID_1, - documentId: DOCUMENT_ID_1, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { documentPage: { ...UNCATEGORIZED_DOCUMENT_PAGE, sort: 1, categoryId: null }, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { ...UNCATEGORIZED_DOCUMENT_PAGE, sort: 2, categoryId: DOCUMENT_CATEGORY_ID_1 }, - action: 'add', - }, - ], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { documentPage: UNCATEGORIZED_DOCUMENT_PAGE, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { - documentPage: { ...UNCATEGORIZED_DOCUMENT_PAGE, sort: 2, categoryId: DOCUMENT_CATEGORY_ID_1 }, - action: 'add', - }, - ], - ]); - - expect(uncategorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - - expect(categorizedDocumentPages.current.documentPages.map((documentPage) => documentPage.id)).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE.id, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - }); - }); - - it('should move an uncategorized document page to another document as uncategorized', async () => { - const UNCATEGORIZED_DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 1, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchUncategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentPageSpy = vi.spyOn(appBridge, 'moveDocumentPage').mockResolvedValueOnce({ - ...UNCATEGORIZED_DOCUMENT_PAGE, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 2, - }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - // Mock the response to add an extra category to the document - fetchUncategorizedDocumentPagesSpy.mockResolvedValueOnce([ - UNCATEGORIZED_DOCUMENT_PAGE, - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 3, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 4, - }), - ]); - - const { result: uncategorizedDocumentPagesInDocumentId1 } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_1), - ); - - await waitFor(() => { - expect( - uncategorizedDocumentPagesInDocumentId1.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - - const { result: uncategorizedDocumentPagesInDocumentId2 } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_2), - ); - - await waitFor(() => { - expect( - uncategorizedDocumentPagesInDocumentId2.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - - // Mock the response of the add in uncategorized hook call - fetchUncategorizedDocumentPagesSpy.mockResolvedValueOnce([ - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 2, - }), - { ...UNCATEGORIZED_DOCUMENT_PAGE, documentId: DOCUMENT_ID_2, categoryId: null, sort: 3 }, - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 4, - }), - ]); - - guidelineActions.current.moveDocumentPage(UNCATEGORIZED_DOCUMENT_PAGE, DOCUMENT_ID_2, 2, null); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - expect(fetchUncategorizedDocumentPagesSpy).toHaveBeenCalledTimes(2); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 1, - documentId: DOCUMENT_ID_1, - categoryId: null, - }, - categoryId: null, - documentId: DOCUMENT_ID_2, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 1, - documentId: DOCUMENT_ID_1, - categoryId: null, - }, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: null, - }, - action: 'add', - }, - ], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { documentPage: { ...UNCATEGORIZED_DOCUMENT_PAGE, documentId: DOCUMENT_ID_1 }, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: null, - }, - action: 'add', - }, - ], - ]); - - expect( - uncategorizedDocumentPagesInDocumentId1.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - - expect( - uncategorizedDocumentPagesInDocumentId2.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - }); - - it('should move a categorized document page to another document as uncategorized', async () => { - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_5, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 5, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchCategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); - const fetchUncategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentPageSpy = vi.spyOn(appBridge, 'moveDocumentPage').mockResolvedValueOnce({ - ...DOCUMENT_PAGE, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 2, - }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - // Mock the response to add an extra category to the document category - fetchCategorizedDocumentPagesSpy.mockResolvedValueOnce([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 3, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 4, - }), - DOCUMENT_PAGE, - ]); - - const { result: categorizedDocumentPagesInDocumentCategoryId1 } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_1), - ); - - await waitFor(() => { - expect( - categorizedDocumentPagesInDocumentCategoryId1.current.documentPages.map( - (documentPage) => documentPage.id, - ), - ).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - DOCUMENT_PAGE.id, - ]); - }); - - const { result: uncategorizedDocumentPagesInDocumentId2 } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_2), - ); - - await waitFor(() => { - expect( - uncategorizedDocumentPagesInDocumentId2.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - - // Mock the response of the add in uncategorized hook call - fetchUncategorizedDocumentPagesSpy.mockResolvedValueOnce([ - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 2, - }), - { ...DOCUMENT_PAGE, documentId: DOCUMENT_ID_2, categoryId: null, sort: 3 }, - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 4, - }), - ]); - - guidelineActions.current.moveDocumentPage(DOCUMENT_PAGE, DOCUMENT_ID_2, 2, null); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - expect(fetchUncategorizedDocumentPagesSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 5, - documentId: DOCUMENT_ID_1, - }, - categoryId: null, - documentId: DOCUMENT_ID_2, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 5, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: null, - }, - action: 'add', - }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { - documentPage: { - ...DOCUMENT_PAGE, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: null, - }, - action: 'add', - }, - ], - ]); - - expect( - categorizedDocumentPagesInDocumentCategoryId1.current.documentPages.map( - (documentPage) => documentPage.id, - ), - ).toEqual([DOCUMENT_PAGE_ID_1, DOCUMENT_PAGE_ID_2, DOCUMENT_PAGE_ID_3, DOCUMENT_PAGE_ID_4]); - - expect( - uncategorizedDocumentPagesInDocumentId2.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - }); - - it('should move an uncategorized document page to another document as categorized', async () => { - const UNCATEGORIZED_DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_5, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 1, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchUncategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getUncategorizedDocumentPagesByDocumentId'); - const fetchCategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentPageSpy = vi.spyOn(appBridge, 'moveDocumentPage').mockResolvedValueOnce({ - ...UNCATEGORIZED_DOCUMENT_PAGE, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 2, - }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - // Mock the response to add an extra category to the document - fetchUncategorizedDocumentPagesSpy.mockResolvedValueOnce([ - UNCATEGORIZED_DOCUMENT_PAGE, - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 3, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_1, - categoryId: null, - sort: 4, - }), - ]); - - const { result: uncategorizedDocumentPagesInDocumentId1 } = renderHook(() => - useUncategorizedDocumentPages(appBridge, DOCUMENT_ID_1), - ); - - await waitFor(() => { - expect( - uncategorizedDocumentPagesInDocumentId1.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE.id, - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - }); - - const { result: categorizedDocumentPagesInDocumentId2 } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_1), - ); - - await waitFor(() => { - expect( - categorizedDocumentPagesInDocumentId2.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([DOCUMENT_PAGE_ID_1, DOCUMENT_PAGE_ID_2, DOCUMENT_PAGE_ID_3, DOCUMENT_PAGE_ID_4]); - }); - - // Mock the response of the add in uncategorized hook call - fetchCategorizedDocumentPagesSpy.mockResolvedValueOnce([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 2, - }), - { ...UNCATEGORIZED_DOCUMENT_PAGE, documentId: DOCUMENT_ID_2, categoryId: null, sort: 3 }, - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 4, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID_2, - categoryId: null, - sort: 5, - }), - ]); - - guidelineActions.current.moveDocumentPage( - UNCATEGORIZED_DOCUMENT_PAGE, - DOCUMENT_ID_2, - 2, - DOCUMENT_CATEGORY_ID_1, - ); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - expect(fetchUncategorizedDocumentPagesSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 1, - documentId: DOCUMENT_ID_1, - }, - categoryId: DOCUMENT_CATEGORY_ID_1, - documentId: DOCUMENT_ID_2, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 1, - documentId: DOCUMENT_ID_1, - categoryId: null, - }, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - action: 'add', - }, - ], - [ - 'AppBridge:GuidelineDocument:DocumentPageAction', - { documentPage: { ...UNCATEGORIZED_DOCUMENT_PAGE, documentId: DOCUMENT_ID_1 }, action: 'delete' }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { - documentPage: { - ...UNCATEGORIZED_DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - action: 'add', - }, - ], - ]); - - expect( - uncategorizedDocumentPagesInDocumentId1.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - ]); - - expect( - categorizedDocumentPagesInDocumentId2.current.documentPages.map((documentPage) => documentPage.id), - ).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - UNCATEGORIZED_DOCUMENT_PAGE.id, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - }); - }); - - it('should move a categorized document page to another document as categorized', async () => { - const DOCUMENT_PAGE = DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_5, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 5, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchCategorizedDocumentPagesSpy = vi.spyOn(appBridge, 'getDocumentPagesByDocumentCategoryId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentPageSpy = vi.spyOn(appBridge, 'moveDocumentPage').mockResolvedValueOnce({ - ...DOCUMENT_PAGE, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - sort: 2, - }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - // Mock the response to add an extra category to the document category - fetchCategorizedDocumentPagesSpy.mockResolvedValueOnce([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 3, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - sort: 4, - }), - DOCUMENT_PAGE, - ]); - - const { result: categorizedDocumentPagesInDocumentCategoryId1 } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_1), - ); - - await waitFor(() => { - expect( - categorizedDocumentPagesInDocumentCategoryId1.current.documentPages.map( - (documentPage) => documentPage.id, - ), - ).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - DOCUMENT_PAGE.id, - ]); - }); - - const { result: categorizedDocumentPagesInDocumentCategoryId2 } = renderHook(() => - useCategorizedDocumentPages(appBridge, DOCUMENT_CATEGORY_ID_2), - ); - - await waitFor(() => { - expect( - categorizedDocumentPagesInDocumentCategoryId2.current.documentPages.map( - (documentPage) => documentPage.id, - ), - ).toEqual([DOCUMENT_PAGE_ID_1, DOCUMENT_PAGE_ID_2, DOCUMENT_PAGE_ID_3, DOCUMENT_PAGE_ID_4]); - }); - - // Mock the response of the add in uncategorized hook call - fetchCategorizedDocumentPagesSpy.mockResolvedValueOnce([ - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_1, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_2, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - sort: 2, - }), - { ...DOCUMENT_PAGE, documentId: DOCUMENT_ID_2, categoryId: DOCUMENT_CATEGORY_ID_2, sort: 3 }, - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_3, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - sort: 4, - }), - DocumentPageDummy.withFields({ - id: DOCUMENT_PAGE_ID_4, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - sort: 4, - }), - ]); - - guidelineActions.current.moveDocumentPage(DOCUMENT_PAGE, DOCUMENT_ID_2, 2, null); - - expect(moveDocumentPageSpy).toHaveBeenCalledOnce(); - expect(fetchCategorizedDocumentPagesSpy).toHaveBeenCalledTimes(2); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentPage:MoveEvent', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 5, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - categoryId: null, - documentId: DOCUMENT_ID_2, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 5, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocumentPage:Action', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - }, - action: 'add', - }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { - documentPage: { - ...DOCUMENT_PAGE, - documentId: DOCUMENT_ID_1, - categoryId: DOCUMENT_CATEGORY_ID_1, - }, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:DocumentPageAction', - { - documentPage: { - ...DOCUMENT_PAGE, - sort: 2, - documentId: DOCUMENT_ID_2, - categoryId: DOCUMENT_CATEGORY_ID_2, - }, - action: 'add', - }, - ], - ]); - - expect( - categorizedDocumentPagesInDocumentCategoryId1.current.documentPages.map( - (documentPage) => documentPage.id, - ), - ).toEqual([DOCUMENT_PAGE_ID_1, DOCUMENT_PAGE_ID_2, DOCUMENT_PAGE_ID_3, DOCUMENT_PAGE_ID_4]); - - expect( - categorizedDocumentPagesInDocumentCategoryId2.current.documentPages.map( - (documentPage) => documentPage.id, - ), - ).toEqual([ - DOCUMENT_PAGE_ID_1, - DOCUMENT_PAGE_ID_2, - DOCUMENT_PAGE.id, - DOCUMENT_PAGE_ID_3, - DOCUMENT_PAGE_ID_4, - ]); - }); - }); - - it('should move an ungrouped document and emit 2 events', async () => { - const DOCUMENT = DocumentDummy.withFields({ ...DocumentDummy.with(DOCUMENT_ID_5), sort: 5 }); - - const appBridge = getAppBridgeThemeStub(); - const fetchDocumentsSpy = vi.spyOn(appBridge, 'getUngroupedDocuments'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentSpy = vi.spyOn(appBridge, 'moveDocument').mockResolvedValueOnce({ - ...DOCUMENT, - sort: 2, - }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - // Mock the response to add an extra category to the document category - fetchDocumentsSpy.mockResolvedValueOnce([ - DocumentDummy.withFields({ ...DocumentDummy.with(DOCUMENT_ID_1), sort: 1 }), - DocumentDummy.withFields({ ...DocumentDummy.with(DOCUMENT_ID_2), sort: 2 }), - DocumentDummy.withFields({ ...DocumentDummy.with(DOCUMENT_ID_3), sort: 3 }), - DocumentDummy.withFields({ ...DocumentDummy.with(DOCUMENT_ID_4), sort: 4 }), - DOCUMENT, - ]); - - const { result: ungroupedDocuments } = renderHook(() => useUngroupedDocuments(appBridge)); - - await waitFor(() => { - expect(ungroupedDocuments.current.documents.map((document) => document.id)).toEqual([ - DOCUMENT_ID_1, - DOCUMENT_ID_2, - DOCUMENT_ID_3, - DOCUMENT_ID_4, - DOCUMENT_ID_5, - ]); - }); - - guidelineActions.current.moveDocument(DOCUMENT, 2); - - expect(moveDocumentSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocument:MoveEvent', - { - document: { - ...DOCUMENT, - sort: 5, - }, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocument:Action', - { - document: { - ...DOCUMENT, - sort: 2, - }, - action: 'move', - }, - ], - ]); - }); - }); - - it('should move a document into a group and emit 3 events', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentsByDocumentGroupId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - const DOCUMENT_1 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_1), - sort: 1, - }); - const DOCUMENT_2 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_2), - sort: 2, - }); - const DOCUMENT_3 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_3), - sort: 3, - }); - const DOCUMENT_4 = DocumentDummy.withFields({ - ...DocumentDummy.with(DOCUMENT_ID_4), - sort: 4, - }); - - const moveGroupSpy = spy.mockResolvedValueOnce([DOCUMENT_1, DOCUMENT_2, DOCUMENT_3, DOCUMENT_4]); - const moveGroupSpyAfter = spy.mockResolvedValueOnce([DOCUMENT_2, DOCUMENT_3, DOCUMENT_4]); - - const { result: groupedDocuments } = renderHook(() => useGroupedDocuments(appBridge, DOCUMENT_GROUP_ID_1)); - - expect(moveGroupSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(groupedDocuments.current.documents.map((document) => document.id)).toEqual([ - DOCUMENT_ID_1, - DOCUMENT_ID_2, - DOCUMENT_ID_3, - DOCUMENT_ID_4, - ]); - }); - - guidelineActions.current.moveDocument(DOCUMENT_1, 5, DOCUMENT_GROUP_ID_2); - - expect(moveGroupSpyAfter).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocument:MoveEvent', - { - document: DOCUMENT_1, - position: 5, - newGroupId: DOCUMENT_GROUP_ID_2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocument:Action', - { - document: DOCUMENT_1, - action: 'delete', - }, - ], - [ - 'AppBridge:GuidelineDocument:Action', - { - document: { - ...DOCUMENT_1, - sort: 5, - }, - action: 'add', - }, - ], - ]); - }); - }); - - it('should move a document group and emit 2 events', async () => { - const DOCUMENT_GROUP_1 = DocumentGroupDummy.withFields({ - ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1), - sort: 1, - }); - - const appBridge = getAppBridgeThemeStub(); - const fetchDocumentGroupsSpy = vi.spyOn(appBridge, 'getDocumentGroups'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const moveDocumentGroupSpy = vi.spyOn(appBridge, 'moveDocumentGroup').mockResolvedValueOnce({ - ...DOCUMENT_GROUP_1, - sort: 2, - }); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - fetchDocumentGroupsSpy.mockResolvedValueOnce([ - DOCUMENT_GROUP_1, - DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2), sort: 2 }), - DocumentGroupDummy.withFields({ ...DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3), sort: 3 }), - ]); - - const { result: documentGroups } = renderHook(() => useDocumentGroups(appBridge)); - - await waitFor(() => { - expect(documentGroups.current.documentGroups.map((documentGroup) => documentGroup.id)).toEqual([ - DOCUMENT_GROUP_ID_1, - DOCUMENT_GROUP_ID_2, - DOCUMENT_GROUP_ID_3, - ]); - }); - - guidelineActions.current.moveDocumentGroup(DOCUMENT_GROUP_1, 2); - - expect(moveDocumentGroupSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentGroup:MoveEvent', - { - documentGroup: DOCUMENT_GROUP_1, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentGroup:Action', - { - documentGroup: { - ...DOCUMENT_GROUP_1, - sort: 2, - }, - action: 'update', - }, - ], - ]); - }); - }); - - it('should move a document category and emit 2 events', async () => { - const CATEGORY_1 = DocumentCategoryDummy.withFields({ - ...DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID_1), - sort: 1, - }); - const CATEGORY_2 = DocumentCategoryDummy.withFields({ - ...DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID_2), - sort: 2, - }); - const CATEGORY_3 = DocumentCategoryDummy.withFields({ - ...DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID_3), - sort: 3, - }); - - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'getDocumentCategoriesByDocumentId'); - const emitSpy = vi.spyOn(window.emitter, 'emit'); - - const { result: guidelineActions } = renderHook(() => useGuidelineActions(appBridge)); - - const categoriesSpy = spy.mockResolvedValueOnce([CATEGORY_1, CATEGORY_2, CATEGORY_3]); - - const { result: documentCategories } = renderHook(() => useDocumentCategories(appBridge, DOCUMENT_ID_1)); - - expect(categoriesSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect( - documentCategories.current.documentCategories.map((documentCategory) => documentCategory.id), - ).toEqual([DOCUMENT_CATEGORY_ID_1, DOCUMENT_CATEGORY_ID_2, DOCUMENT_CATEGORY_ID_3]); - }); - - guidelineActions.current.moveDocumentCategory(CATEGORY_1, DOCUMENT_ID_1, 2); - expect(categoriesSpy).toHaveBeenCalledOnce(); - - await waitFor(() => { - expect(emitSpy.mock.calls).toEqual([ - [ - 'AppBridge:GuidelineDocumentCategory:MoveEvent', - { - documentCategory: CATEGORY_1, - documentId: DOCUMENT_ID_1, - position: 2, - action: 'movePreview', - }, - ], - [ - 'AppBridge:GuidelineDocumentCategory:Action', - { - documentCategory: { - ...CATEGORY_1, - documentId: DOCUMENT_ID_1, - sort: 2, - }, - action: 'update', - }, - ], - ]); - }); - }); -}); diff --git a/packages/app-bridge/src/react/useGuidelineActions.ts b/packages/app-bridge/src/react/useGuidelineActions.ts deleted file mode 100644 index 1566b79f2..000000000 --- a/packages/app-bridge/src/react/useGuidelineActions.ts +++ /dev/null @@ -1,676 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useCallback } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { - type BrandportalLink, - type CoverPage, - type CoverPageCreate, - type CoverPageUpdate, - type CoverPageUpdateLegacy, - type DocumentCategory, - type DocumentCategoryCreate, - type DocumentCategoryDelete, - type DocumentCategoryUpdate, - type DocumentGroup, - type DocumentGroupCreate, - type DocumentGroupDelete, - type DocumentGroupUpdate, - type DocumentLibraryCreate, - type DocumentLibraryDelete, - type DocumentLibraryUpdate, - type DocumentLinkCreate, - type DocumentLinkDelete, - type DocumentLinkUpdate, - type DocumentPage, - type DocumentPageCreate, - type DocumentPageDelete, - type DocumentPageUpdate, - type DocumentStandardCreate, - type DocumentStandardDelete, - type DocumentStandardUpdate, - type EmitterEvents, -} from '../types'; - -export const useGuidelineActions = (appBridge: AppBridgeTheme) => { - const createLink = useCallback( - async (link: DocumentLinkCreate) => { - const result = await appBridge.createLink(link); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { ...result, ...(link.documentGroupId && { documentGroupId: link.documentGroupId }) }, - action: 'add', - }); - - if (link.documentGroupId) { - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - document: { id: result.id, documentGroupId: link.documentGroupId }, - action: 'add', - }); - } - - return result; - }, - [appBridge], - ); - - const updateLink = useCallback( - async (link: DocumentLinkUpdate) => { - const result = await appBridge.updateLink(link); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { ...result, ...(link.documentGroupId && { documentGroupId: link.documentGroupId }) }, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - const deleteLink = useCallback( - async (link: DocumentLinkDelete) => { - await appBridge.deleteLink(link.id); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: link, - action: 'delete', - }); - - if (link.documentGroupId) { - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - document: { ...link, documentGroupId: link.documentGroupId }, - action: 'delete', - }); - } - }, - [appBridge], - ); - - const createLibrary = useCallback( - async (library: DocumentLibraryCreate) => { - const result = await appBridge.createLibrary(library); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { - ...result, - ...(library.documentGroupId && { documentGroupId: library.documentGroupId }), - }, - action: 'add', - }); - - if (library.documentGroupId) { - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - document: { id: result.id, documentGroupId: library.documentGroupId }, - action: 'add', - }); - } - - return result; - }, - [appBridge], - ); - - const updateLibrary = useCallback( - async (library: DocumentLibraryUpdate) => { - const result = await appBridge.updateLibrary(library); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { - ...result, - ...(library.documentGroupId && { documentGroupId: library.documentGroupId }), - }, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - const deleteLibrary = useCallback( - async (library: DocumentLibraryDelete) => { - await appBridge.deleteLibrary(library.id); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: library, - action: 'delete', - }); - - if (library.documentGroupId) { - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - document: { ...library, documentGroupId: library.documentGroupId }, - action: 'delete', - }); - } - }, - [appBridge], - ); - - const createStandardDocument = useCallback( - async (document: DocumentStandardCreate) => { - const result = await appBridge.createStandardDocument(document); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { - ...result, - ...(document.documentGroupId && { documentGroupId: document.documentGroupId }), - }, - action: 'add', - }); - - if (document.documentGroupId) { - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - document: { id: result.id, documentGroupId: document.documentGroupId }, - action: 'add', - }); - } - - return result; - }, - [appBridge], - ); - - const updateStandardDocument = useCallback( - async (document: DocumentStandardUpdate) => { - const result = await appBridge.updateStandardDocument(document); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { - ...result, - ...(document.documentGroupId && { documentGroupId: document.documentGroupId }), - }, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - const deleteStandardDocument = useCallback( - async (document: DocumentStandardDelete) => { - await appBridge.deleteStandardDocument(document.id); - - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document, - action: 'delete', - }); - - if (document.documentGroupId) { - window.emitter.emit('AppBridge:GuidelineDocumentGroup:DocumentAction', { - document: { ...document, documentGroupId: document.documentGroupId }, - action: 'delete', - }); - } - }, - [appBridge], - ); - - const createDocumentGroup = useCallback( - async (documentGroup: DocumentGroupCreate) => { - const result = await appBridge.createDocumentGroup(documentGroup); - - window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup: result, - action: 'add', - }); - - return result; - }, - [appBridge], - ); - - const updateDocumentGroup = useCallback( - async (documentGroupUpdate: DocumentGroupUpdate) => { - const documentGroup = await appBridge.updateDocumentGroup(documentGroupUpdate); - - window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup, - action: 'update', - }); - }, - [appBridge], - ); - - const deleteDocumentGroup = useCallback( - async (documentGroup: DocumentGroupDelete) => { - await appBridge.deleteDocumentGroup(documentGroup.id); - - window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup, - action: 'delete', - }); - }, - [appBridge], - ); - - const createDocumentPage = useCallback( - async (documentPage: DocumentPageCreate) => { - const result = await appBridge.createDocumentPage(documentPage); - - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - documentPage: result, - action: 'add', - }); - - if (documentPage.categoryId) { - window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { - documentPage: { - id: result.id, - categoryId: documentPage.categoryId, - documentId: documentPage.documentId, - }, - action: 'add', - }); - } - - return result; - }, - [appBridge], - ); - - /** - * A method for page update - * - * @param documentPage - {@link DocumentPageUpdate} object - * @requires id - Indicates page identifier. - * - * - * and at least one of - * - * @property title - Indicates title of a page. - * @property documentId - Indicates to witch document the page belongs to. - * @property categoryId - Indicates to witch category the page belongs to. - * @property visibility - Indicates whether the page is visible only to the editor or everyone. - * @property linkUrl - Indicates whether the page is link or not. - */ - const updateDocumentPage = useCallback( - async (documentPage: DocumentPageUpdate) => { - const result = await appBridge.updateDocumentPage(documentPage); - - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - documentPage: result, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - const deleteDocumentPage = useCallback( - async (documentPage: DocumentPageDelete) => { - await appBridge.deleteDocumentPage(documentPage.id); - - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - documentPage: { ...documentPage, categoryId: documentPage.categoryId ?? null }, - action: 'delete', - }); - - if (documentPage.categoryId) { - window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { - documentPage: { - ...documentPage, - categoryId: documentPage.categoryId, - documentId: documentPage.documentId, - }, - action: 'delete', - }); - } else { - window.emitter.emit('AppBridge:GuidelineDocument:DocumentPageAction', { - documentPage, - action: 'delete', - }); - } - }, - [appBridge], - ); - - const duplicateDocumentPage = useCallback( - async ({ id, documentId, categoryId }: { id: number; documentId: number; categoryId?: number }) => { - const duplicatedDocumentPage = await appBridge.duplicateDocumentPage(id); - - window.emitter.emit('AppBridge:GuidelineDocumentPage:Action', { - documentPage: { ...duplicatedDocumentPage, documentId, categoryId } as unknown as DocumentPage, - action: 'add', - }); - - if (categoryId) { - window.emitter.emit('AppBridge:GuidelineDocumentCategory:DocumentPageAction', { - documentPage: { id: duplicatedDocumentPage.id, categoryId, documentId }, - action: 'add', - }); - } - - return duplicatedDocumentPage; - }, - [appBridge], - ); - - const createDocumentCategory = useCallback( - async (category: DocumentCategoryCreate) => { - const result = await appBridge.createDocumentCategory(category); - - window.emitter.emit('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory: result, - action: 'add', - }); - - window.emitter.emit('AppBridge:GuidelineDocument:DocumentCategoryAction', { - documentCategory: result, - action: 'add', - }); - - return result; - }, - [appBridge], - ); - - const updateDocumentCategory = useCallback( - async (category: DocumentCategoryUpdate) => { - const documentCategory = await appBridge.updateDocumentCategory(category); - - window.emitter.emit('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory, - action: 'update', - }); - }, - [appBridge], - ); - - const deleteDocumentCategory = useCallback( - async (documentCategory: DocumentCategoryDelete) => { - await appBridge.deleteDocumentCategory(documentCategory.id); - - window.emitter.emit('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory, - action: 'delete', - }); - - window.emitter.emit('AppBridge:GuidelineDocument:DocumentCategoryAction', { - documentCategory, - action: 'delete', - }); - }, - [appBridge], - ); - - const createCoverPage = useCallback( - async (coverPage: CoverPageCreate) => { - const result = await appBridge.createCoverPage(coverPage); - - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { - coverPage: result, - action: 'add', - }); - - return result; - }, - [appBridge], - ); - - const updateCoverPage = useCallback( - async (coverPage: CoverPageUpdate) => { - const result = await appBridge.updateCoverPage(coverPage); - - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { - coverPage: result, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - /** - * @deprecated legacy method, should be removed once new endpoint is available - */ - const updateLegacyCoverPage = useCallback( - async (coverPage: Partial) => { - const legacyCoverPage: CoverPageUpdateLegacy = { - ...(coverPage.title && { brandhome_title: coverPage.title }), - ...(coverPage.draft !== undefined && { brandhome_draft: coverPage.draft }), - ...(coverPage.hideInNav !== undefined && { brandhome_hide_in_nav: coverPage.hideInNav }), - }; - - const result = await appBridge.updateLegacyCoverPage(legacyCoverPage); - - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { - coverPage: coverPage as CoverPage, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - const deleteCoverPage = useCallback(async () => { - await appBridge.deleteCoverPage(); - - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { - action: 'delete', - }); - }, [appBridge]); - - const updateBrandportalLink = useCallback( - async (brandportalLink: Partial) => { - const result = await appBridge.updateBrandportalLink(brandportalLink); - - if (result) { - window.emitter.emit('AppBridge:GuidelineBrandportalLink:Action', { - brandportalLink: result as BrandportalLink, - action: 'update', - }); - } - - return result; - }, - [appBridge], - ); - - const moveDocument = useCallback( - async ( - document: { id: number; sort?: Nullable; documentGroupId?: Nullable }, - position: number, - newGroupId?: number, - ) => { - const previewUpdateChannel: keyof EmitterEvents = 'AppBridge:GuidelineDocument:MoveEvent'; - window.emitter.emit(previewUpdateChannel, { - document, - position, - newGroupId, - action: 'movePreview', - }); - - const result = await appBridge.moveDocument(document.id, position, newGroupId); - - const channel: keyof EmitterEvents = 'AppBridge:GuidelineDocument:Action'; - - // Emits in `useDocumentGroups` hook - if (document.documentGroupId === newGroupId) { - window.emitter.emit(channel, { - document: { ...result, sort: position }, - action: 'move', - }); - } else { - window.emitter.emit(channel, { - document, - action: 'delete', - }); - - window.emitter.emit(channel, { - document: result, - action: 'add', - }); - } - }, - [appBridge], - ); - - const moveDocumentGroup = useCallback( - async (documentGroup: { id: number; sort?: Nullable }, position: number) => { - const previewUpdateChannel: keyof EmitterEvents = 'AppBridge:GuidelineDocumentGroup:MoveEvent'; - window.emitter.emit(previewUpdateChannel, { - documentGroup, - position, - action: 'movePreview', - }); - - await appBridge.moveDocumentGroup(documentGroup.id, position); - - window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup: { ...documentGroup, sort: position } as DocumentGroup, - action: 'update', - }); - }, - [appBridge], - ); - - const moveDocumentCategory = useCallback( - async (documentCategory: { id: number; sort?: Nullable }, documentId: number, position: number) => { - const previewUpdateChannel: keyof EmitterEvents = 'AppBridge:GuidelineDocumentCategory:MoveEvent'; - window.emitter.emit(previewUpdateChannel, { - documentCategory, - documentId, - position, - action: 'movePreview', - }); - - await appBridge.moveDocumentCategory(documentCategory.id, documentId, position); - - window.emitter.emit('AppBridge:GuidelineDocumentCategory:Action', { - documentCategory: { ...documentCategory, documentId, sort: position } as DocumentCategory, - action: 'update', - }); - }, - [appBridge], - ); - - const moveDocumentPage = useCallback( - async ( - documentPage: { - id: number; - documentId: number; - sort?: Nullable; - categoryId?: Nullable; - }, - documentId: number, - position?: number, - categoryId: Nullable = null, - ) => { - const previewUpdateChannel: keyof EmitterEvents = 'AppBridge:GuidelineDocumentPage:MoveEvent'; - window.emitter.emit(previewUpdateChannel, { - documentPage, - documentId, - position, - categoryId, - action: 'movePreview', - }); - - const result = await appBridge.moveDocumentPage( - documentPage.id, - documentId, - position, - categoryId ?? undefined, - ); - - const channel: keyof EmitterEvents = 'AppBridge:GuidelineDocumentPage:Action'; - - // Emits in `useCategorizedDocumentPages` and `useUncategorizedDocumentPages` hooks - if (documentPage.categoryId === categoryId && documentPage.documentId === documentId) { - window.emitter.emit(channel, { - documentPage: { ...result, sort: position ?? result.sort }, - action: 'move', - }); - } else { - window.emitter.emit(channel, { - documentPage: { ...documentPage, categoryId: documentPage.categoryId ?? null }, - action: 'delete', - }); - - window.emitter.emit(channel, { - documentPage: result, - action: 'add', - }); - } - - // Emits in `useDocumentCategories` and `useDocuments` hook - const deleteChannel = documentPage.categoryId - ? 'AppBridge:GuidelineDocumentCategory:DocumentPageAction' - : 'AppBridge:GuidelineDocument:DocumentPageAction'; - - const addChannel = result.categoryId - ? 'AppBridge:GuidelineDocumentCategory:DocumentPageAction' - : 'AppBridge:GuidelineDocument:DocumentPageAction'; - - window.emitter.emit(deleteChannel, { documentPage, action: 'delete' }); - window.emitter.emit(addChannel, { documentPage: result, action: 'add' }); - }, - [appBridge], - ); - - const updateDocumentPageTargets = useCallback( - async (targets: number[], documentPageIds: number[]) => { - const result = await appBridge.updateDocumentPageTargets(targets, documentPageIds); - - window.emitter.emit('AppBridge:GuidelineDocumentPageTargets:Action', { - payload: { targets, pageIds: documentPageIds }, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - const updateDocumentTargets = useCallback( - async (targets: number[], documentIds: number[]) => { - const result = await appBridge.updateDocumentTargets(targets, documentIds); - - window.emitter.emit('AppBridge:GuidelineDocumentTargets:Action', { - payload: { targets, documentIds }, - action: 'update', - }); - - return result; - }, - [appBridge], - ); - - return { - createLink, - updateLink, - deleteLink, - createDocumentPage, - updateDocumentPage, - deleteDocumentPage, - duplicateDocumentPage, - moveDocumentPage, - createLibrary, - updateLibrary, - deleteLibrary, - createDocumentCategory, - updateDocumentCategory, - deleteDocumentCategory, - moveDocumentCategory, - createCoverPage, - updateCoverPage, - deleteCoverPage, - updateLegacyCoverPage, - moveDocumentGroup, - createDocumentGroup, - updateDocumentGroup, - deleteDocumentGroup, - updateBrandportalLink, - createDocument: createStandardDocument, - updateDocument: updateStandardDocument, - deleteDocument: deleteStandardDocument, - moveDocument, - updateDocumentPageTargets, - updateDocumentTargets, - }; -}; diff --git a/packages/app-bridge/src/react/useLanguage.spec.ts b/packages/app-bridge/src/react/useLanguage.spec.ts deleted file mode 100644 index 5545b11cc..000000000 --- a/packages/app-bridge/src/react/useLanguage.spec.ts +++ /dev/null @@ -1,68 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { act, renderHook } from '@testing-library/react'; -import { describe, expect, it, vi } from 'vitest'; - -import { getAppBridgeThemeStub } from '../tests/AppBridgeThemeStub'; - -import { useLanguage } from './useLanguage'; - -describe('useLanguage', () => { - it('should return default language initially', () => { - const appBridge = getAppBridgeThemeStub(); - appBridge.context.withArgs('currentLanguage').returns({ get: () => 'fr', subscribe: () => vi.fn() }); - appBridge.context.withArgs('defaultLanguage').returns({ get: () => 'en', subscribe: () => vi.fn() }); - - const { result } = renderHook(() => useLanguage(appBridge)); - - expect(result.current.currentLanguage).toEqual('fr'); - expect(result.current.defaultLanguage).toEqual('en'); - }); - - it('should update language on context change', () => { - const appBridge = getAppBridgeThemeStub(); - appBridge.context.withArgs('currentLanguage').returns({ - get: () => 'fr', - subscribe: vi.fn(), - }); - appBridge.context.withArgs('defaultLanguage').returns({ - get: () => 'en', - subscribe: vi.fn(), - }); - - const { result } = renderHook(() => useLanguage(appBridge)); - - expect(result.current.currentLanguage).toEqual('fr'); - expect(result.current.defaultLanguage).toEqual('en'); - - act(() => { - const subscribeFn = appBridge.context('currentLanguage').subscribe; - if (vi.isMockFunction(subscribeFn)) { - subscribeFn.mock.calls[0][0]('de'); - } - }); - - expect(result.current.currentLanguage).toEqual('de'); - expect(result.current.defaultLanguage).toEqual('en'); - }); - - it('should unsubscribe on unmount', () => { - const appBridge = getAppBridgeThemeStub(); - const mockUnsubscribeCurrentLanguage = vi.fn(); - const mockUnsubscribeDefaultLanguage = vi.fn(); - - appBridge.context - .withArgs('currentLanguage') - .returns({ get: () => 'fr', subscribe: () => mockUnsubscribeCurrentLanguage }); - appBridge.context - .withArgs('defaultLanguage') - .returns({ get: () => 'en', subscribe: () => mockUnsubscribeDefaultLanguage }); - - const { unmount } = renderHook(() => useLanguage(appBridge)); - - unmount(); - - expect(mockUnsubscribeCurrentLanguage).toHaveBeenCalledTimes(1); - expect(mockUnsubscribeDefaultLanguage).toHaveBeenCalledTimes(1); - }); -}); diff --git a/packages/app-bridge/src/react/useLanguage.ts b/packages/app-bridge/src/react/useLanguage.ts deleted file mode 100644 index d0aee479e..000000000 --- a/packages/app-bridge/src/react/useLanguage.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; - -type UseLanguageReturn = { - currentLanguage: string; - defaultLanguage: string; -}; - -export const useLanguage = (appBridge: AppBridgeTheme): UseLanguageReturn => { - const [currentLanguage, setCurrentLanguage] = useState(appBridge.context('currentLanguage').get()); - const [defaultLanguage, setDefaultLanguage] = useState(appBridge.context('defaultLanguage').get()); - - useEffect(() => { - const unsubscribeCurrentLanguageObserver = appBridge.context('currentLanguage').subscribe(setCurrentLanguage); - const unsubscribeDefaultLanguageObserver = appBridge.context('defaultLanguage').subscribe(setDefaultLanguage); - - return () => { - unsubscribeCurrentLanguageObserver(); - unsubscribeDefaultLanguageObserver(); - }; - }, [appBridge]); - - return { currentLanguage, defaultLanguage }; -}; diff --git a/packages/app-bridge/src/react/useNavigationManager.spec.ts b/packages/app-bridge/src/react/useNavigationManager.spec.ts deleted file mode 100644 index 5c3e5494f..000000000 --- a/packages/app-bridge/src/react/useNavigationManager.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook } from '@testing-library/react'; -import { beforeAll, describe, expect, it, vi } from 'vitest'; - -import { getAppBridgeThemeStub } from '../tests'; - -import { useNavigationManager } from './useNavigationManager'; - -describe('useNavigationManager hook', () => { - let useNavigationManagerStub: ReturnType; - - beforeAll(() => { - const appBridgeStub = getAppBridgeThemeStub(); - const { result } = renderHook(() => useNavigationManager(appBridgeStub)); - - useNavigationManagerStub = result.current; - }); - - it('should call openNavigationManager', async () => { - const spy = vi.spyOn(useNavigationManagerStub, 'openNavigationManager').mockImplementation(() => undefined); - - useNavigationManagerStub.openNavigationManager(); - - expect(spy).toBeCalled(); - }); -}); diff --git a/packages/app-bridge/src/react/useNavigationManager.ts b/packages/app-bridge/src/react/useNavigationManager.ts deleted file mode 100644 index 052b89a43..000000000 --- a/packages/app-bridge/src/react/useNavigationManager.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type AppBridgeTheme } from '../AppBridgeTheme'; - -export const useNavigationManager = (appBridge: AppBridgeTheme) => { - const { openNavigationManager } = appBridge; - - return { - openNavigationManager: () => openNavigationManager(), - }; -}; diff --git a/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts b/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts deleted file mode 100644 index 5c0c6a00f..000000000 --- a/packages/app-bridge/src/react/usePageTemplateSettings.spec.ts +++ /dev/null @@ -1,337 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { cleanup, renderHook, waitFor } from '@testing-library/react'; -import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; - -import { getAppBridgeThemeStub } from '../tests'; -import { type ThemeTemplate } from '../types'; - -import { usePageTemplateSettings } from './usePageTemplateSettings'; - -const DOCUMENT_ID = 3462; -const THEME_SETTINGS = { - documentPage: { - customThemeSetting: 123, - themeExclusiveSetting: 234, - }, - cover: {}, - library: {}, -}; -const PAGE_SETTINGS = { - myCustomSetting: 123, -}; - -const PAGE_SETTINGS_WITH_OVERRIDES = { - ...PAGE_SETTINGS, - customThemeSetting: 321, -}; - -const PAGE_SETTINGS_WITH_NULL_OVERRIDES = { - ...PAGE_SETTINGS, - customThemeSetting: null, -}; - -describe('usePageTemplateSettings', () => { - beforeEach(() => { - vi.spyOn(console, 'error').mockImplementation(() => {}); - }); - - afterEach(() => { - vi.restoreAllMocks(); - cleanup(); - }); - - const loadUsePageTemplateSettings = ( - pageTemplateSettings: Record, - template: Parameters[1], - documentId?: Parameters[2], - themeSettings?: Record>, - ) => { - const appBridgeStub = getAppBridgeThemeStub({ - pageTemplateSettings, - themeSettings, - }); - - const { result } = renderHook(() => usePageTemplateSettings(appBridgeStub, template, documentId)); - return { result, appBridgeStub }; - }; - - it('returns the page settings for cover page', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'cover'); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - }); - }); - - it('updates the page settings for cover page', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'cover'); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - }); - - await result.current.updatePageTemplateSettings({ myCustomSetting: 456 }); - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ ...PAGE_SETTINGS, myCustomSetting: 456 }); - }); - - // Reset the object to avoid mutation in other tests - await result.current.updatePageTemplateSettings({ myCustomSetting: 123 }); - }); - - it('returns the page settings for document page', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'documentPage', DOCUMENT_ID); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - }); - }); - - it('returns `null` for document page if no document page id passed', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'documentPage'); - - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(null); - }); - - expect(console.error).toHaveBeenCalledOnce(); - }); - - it('updates the page settings for document page', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'documentPage', DOCUMENT_ID); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - }); - - await result.current.updatePageTemplateSettings({ myCustomSetting: 456 }); - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ ...PAGE_SETTINGS, myCustomSetting: 456 }); - }); - - // Reset the object to avoid mutation in other tests - await result.current.updatePageTemplateSettings({ myCustomSetting: 123 }); - }); - - it('returns the page settings for library page', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'library', DOCUMENT_ID); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - }); - }); - - it('returns `null` for library page if no document id passed', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'library'); - - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(null); - }); - - expect(console.error).toHaveBeenCalledOnce(); - }); - - it('updates the page settings for library page', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'library', DOCUMENT_ID); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - }); - - await result.current.updatePageTemplateSettings({ myCustomSetting: 456 }); - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ ...PAGE_SETTINGS, myCustomSetting: 456 }); - }); - - // Reset the object to avoid mutation in other tests - await result.current.updatePageTemplateSettings({ library: { myCustomSetting: 123 } }); - }); - - it('logs an error when trying to update document or library page without a documentId', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'library'); - - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.pageTemplateSettings).toEqual(null); - }); - - await result.current.updatePageTemplateSettings({ library: { muCystomSetting: 456 } }); - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(null); - }); - - expect(console.error).toHaveBeenCalledTimes(2); - }); - - describe('Theme and Page template overrides', () => { - it('returns the page template settings merged with theme settings and the list of custom overrides', async () => { - const { result } = loadUsePageTemplateSettings( - PAGE_SETTINGS_WITH_OVERRIDES, - 'documentPage', - DOCUMENT_ID, - THEME_SETTINGS, - ); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ - ...THEME_SETTINGS.documentPage, - ...PAGE_SETTINGS_WITH_OVERRIDES, - }); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual(['customThemeSetting']); - expect(result.current.templateThemeSettings).toEqual(THEME_SETTINGS.documentPage); - }); - }); - - it('returns the page template settings merged with theme settings and no overrides', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'cover', undefined, THEME_SETTINGS); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ - ...PAGE_SETTINGS, - ...THEME_SETTINGS.cover, - }); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); - }); - }); - - it('returns an empty object if no theme settins and no page template settings', async () => { - const { result } = loadUsePageTemplateSettings({}, 'cover', undefined, { - documentPage: {}, - cover: {}, - library: {}, - }); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({}); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); - }); - }); - - it('returns only the theme settings if no page template settings', async () => { - const { result } = loadUsePageTemplateSettings({}, 'cover', undefined, THEME_SETTINGS); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(THEME_SETTINGS.cover); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); - }); - }); - - it('returns only the page template settings if no theme settings', async () => { - const { result } = loadUsePageTemplateSettings(PAGE_SETTINGS, 'cover', undefined, { - documentPage: {}, - cover: {}, - library: {}, - }); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual(PAGE_SETTINGS); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); - }); - }); - - it('returns theme setting value if page template override is null', async () => { - const { result } = loadUsePageTemplateSettings( - PAGE_SETTINGS_WITH_NULL_OVERRIDES, - 'documentPage', - DOCUMENT_ID, - THEME_SETTINGS, - ); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ - ...PAGE_SETTINGS, - ...THEME_SETTINGS.documentPage, - }); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); - }); - }); - - it('returns the theme setting if the override is deleted (reset) from page template settings', async () => { - const { result } = loadUsePageTemplateSettings( - PAGE_SETTINGS_WITH_OVERRIDES, - 'documentPage', - DOCUMENT_ID, - THEME_SETTINGS, - ); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ - ...THEME_SETTINGS.documentPage, - ...PAGE_SETTINGS_WITH_OVERRIDES, - }); - }); - - await result.current.updatePageTemplateSettings({ customThemeSetting: null }); - expect(result.current.isLoading).toEqual(false); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.pageTemplateSettings).toEqual({ - ...PAGE_SETTINGS, - ...THEME_SETTINGS.documentPage, - }); - expect(result.current.customizedPageTemplateSettingsKeys).toEqual([]); - }); - - // Reset the object to avoid mutation in other tests - await result.current.updatePageTemplateSettings({ customThemeSetting: 321 }); - }); - }); -}); diff --git a/packages/app-bridge/src/react/usePageTemplateSettings.ts b/packages/app-bridge/src/react/usePageTemplateSettings.ts deleted file mode 100644 index 37f5ae6e7..000000000 --- a/packages/app-bridge/src/react/usePageTemplateSettings.ts +++ /dev/null @@ -1,118 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type EmitterEvents, type ThemeTemplate } from '../types'; - -import { useThemeSettings } from './'; - -export const usePageTemplateSettings = >( - appBridge: AppBridgeTheme, - template: ThemeTemplate, - documentOrDocumentPageId?: number, -) => { - const { themeSettings } = useThemeSettings(appBridge); - const templateThemeSettings = themeSettings?.[template] ?? {}; - const [pageTemplateSettings, setPageTemplateSettings] = useState>(null); - const [isLoading, setIsLoading] = useState(false); - const [customizedPageTemplateSettingsKeys, setCustomizedPageTemplateSettingsKeys] = useState([]); - const [mergedThemeAndPageTemplateSettings, setMergedThemeAndPageTemplateSettings] = - useState>>(null); - - useEffect(() => { - const updateBlockSettingsFromEvent = (event: EmitterEvents['AppBridge:PageTemplateSettingsUpdated']) => { - setPageTemplateSettings({ ...event.pageTemplateSettings } as TPageTemplateSettings); - }; - - const getInitialPageTemplateSettings = async () => { - setIsLoading(true); - let loadedSettings: Nullable = null; - - if (template === 'cover') { - loadedSettings = await appBridge.getCoverPageTemplateSettings(); - } else if (documentOrDocumentPageId === undefined) { - console.error(`Document ID is required for ${template} template settings`); - setMergedThemeAndPageTemplateSettings(null); - setIsLoading(false); - return; - } else if (template === 'documentPage') { - loadedSettings = - await appBridge.getDocumentPageTemplateSettings(documentOrDocumentPageId); - } else if (template === 'library') { - loadedSettings = - await appBridge.getLibraryPageTemplateSettings(documentOrDocumentPageId); - } - - setIsLoading(false); - setPageTemplateSettings(loadedSettings); - }; - - getInitialPageTemplateSettings(); - - window.emitter.on('AppBridge:PageTemplateSettingsUpdated', updateBlockSettingsFromEvent); - - return () => { - window.emitter.off('AppBridge:PageTemplateSettingsUpdated', updateBlockSettingsFromEvent); - }; - }, [appBridge, documentOrDocumentPageId, template]); - - useEffect(() => { - if (!templateThemeSettings || !pageTemplateSettings) { - return; - } - - const overrides = []; - const mergedSettings: Record & TPageTemplateSettings = { ...pageTemplateSettings }; - - for (const field of Object.keys(templateThemeSettings)) { - if ( - (pageTemplateSettings as Record)[field] !== null && - (pageTemplateSettings as Record)[field] !== undefined - ) { - overrides.push(field); - } else { - (mergedSettings as Record)[field] = templateThemeSettings[field]; - } - } - - setCustomizedPageTemplateSettingsKeys(overrides); - setMergedThemeAndPageTemplateSettings(mergedSettings); - }, [themeSettings, pageTemplateSettings]); - - const updatePageTemplateSettings = async (pageTemplateSettingsUpdate: Partial) => { - try { - if (template === 'cover') { - await appBridge.updateCoverPageTemplateSettings(pageTemplateSettingsUpdate); - } else if (documentOrDocumentPageId === undefined) { - console.error(`Document ID is required for ${template} template settings`); - setIsLoading(false); - return; - } else if (template === 'documentPage') { - await appBridge.updateDocumentPageTemplateSettings( - documentOrDocumentPageId, - pageTemplateSettingsUpdate, - ); - } else if (template === 'library') { - await appBridge.updateLibraryPageTemplateSettings(documentOrDocumentPageId, pageTemplateSettingsUpdate); - } - - window.emitter.emit('AppBridge:PageTemplateSettingsUpdated', { - pageTemplateSettings: { - ...pageTemplateSettings, - ...pageTemplateSettingsUpdate, - }, - }); - } catch (error) { - console.error(error); - } - }; - - return { - pageTemplateSettings: mergedThemeAndPageTemplateSettings, - templateThemeSettings, - customizedPageTemplateSettingsKeys, - updatePageTemplateSettings, - isLoading, - }; -}; diff --git a/packages/app-bridge/src/react/usePortalNavigation.spec.ts b/packages/app-bridge/src/react/usePortalNavigation.spec.ts deleted file mode 100644 index 97f526073..000000000 --- a/packages/app-bridge/src/react/usePortalNavigation.spec.ts +++ /dev/null @@ -1,314 +0,0 @@ -// @vitest-environment happy-dom - -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { renderHook, waitFor } from '@testing-library/react'; -import { describe, expect, it, vi } from 'vitest'; - -import { PortalNavigationTreeDummy, getAppBridgeThemeStub } from '../tests'; - -import { usePortalNavigation } from './usePortalNavigation'; - -const DEFAULT_NAVIGATION_TREE = PortalNavigationTreeDummy.default(); - -describe('usePortalNavigation', () => { - it('should return the preview and refetch when the cover page is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - - const coverPageIndex = DEFAULT_NAVIGATION_TREE.findIndex((item) => item.type === 'cover-page'); - const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; - updatedNavigationTree.splice(coverPageIndex, 1); - - spy.mockResolvedValueOnce(updatedNavigationTree); - - // Trigger a "cover page deleted" event - window.emitter.emit('AppBridge:GuidelineCoverPage:Action', { action: 'delete' }); - - await waitFor(() => { - expect(spy).toHaveBeenCalledTimes(2); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - expect(result.current.navigationItems).toEqual(updatedNavigationTree); - }); - }); - - it('should return the preview and refetch when a document group is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - - const groupIndex = DEFAULT_NAVIGATION_TREE.findIndex((item) => item.id() === 200); - const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; - updatedNavigationTree.splice(groupIndex, 1); - - spy.mockResolvedValueOnce(updatedNavigationTree); - - // Trigger a "document group deleted" event - window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup: { id: 200 }, - action: 'delete', - }); - - await waitFor(() => { - expect(spy).toHaveBeenCalledTimes(2); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - expect(result.current.navigationItems).toEqual(updatedNavigationTree); - }); - }); - - it('should return the previous tree and refetch when an incorrect document group id is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValue(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - - // Trigger a "document group deleted" event - window.emitter.emit('AppBridge:GuidelineDocumentGroup:Action', { - documentGroup: { id: 2000 }, - action: 'delete', - }); - - await waitFor(() => { - expect(spy).toHaveBeenCalledTimes(2); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - }); - }); - - it('should return the preview and refetch when a document at root level is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - - const documentIndex = DEFAULT_NAVIGATION_TREE.findIndex((item) => item.id() === 101); - const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; - updatedNavigationTree.splice(documentIndex, 1); - - spy.mockResolvedValueOnce(updatedNavigationTree); - - // Trigger a "document deleted" event - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { id: 101 }, - action: 'delete', - }); - - await waitFor(() => { - expect(spy).toHaveBeenCalledTimes(2); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - expect(result.current.navigationItems).toEqual(updatedNavigationTree); - }); - }); - - it('should return the same tree and refetch when a document within a group is deleted', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValue(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - - // Trigger a "document deleted" event - window.emitter.emit('AppBridge:GuidelineDocument:Action', { - document: { id: 201, documentGroupId: 200 }, - action: 'delete', - }); - - await waitFor(() => { - expect(spy).toHaveBeenCalledTimes(2); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - }); - - it('should fetch the navigation tree on mount', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(result.current.isLoading).toBe(true); - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - }); - - it('should refetch if targets in documents change', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValue(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - // Trigger a "document targets changed" event - window.emitter.emit('AppBridge:GuidelineDocumentTargets:Action', { - payload: { targets: [], documentIds: [] }, - action: 'update', - }); - - await waitFor(() => { - expect(spy).toHaveBeenCalledTimes(2); - expect(result.current.isLoading).toBe(false); - }); - }); - - it('should show document group in new position and refetch when a document group is moved', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - const NEW_POSITION = 1; - const groupIndex = DEFAULT_NAVIGATION_TREE.findIndex((item) => item.id() === 200); - const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; - const movedGroup = updatedNavigationTree.splice(groupIndex, 1); - updatedNavigationTree.splice(NEW_POSITION, 0, ...movedGroup); - - spy.mockResolvedValueOnce(updatedNavigationTree); - - // Trigger a "document group is moved" event - window.emitter.emit('AppBridge:GuidelineDocumentGroup:MoveEvent', { - action: 'movePreview', - position: NEW_POSITION, - documentGroup: { id: 200, sort: 3 }, - }); - - await waitFor(() => { - expect(result.current.navigationItems).toEqual(updatedNavigationTree); - }); - }); - - it('should show document in new position when a document is moved at root level', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - const NEW_POSITION = 2; - const documentIndex = DEFAULT_NAVIGATION_TREE.findIndex((item) => item.id() === 121); - const updatedNavigationTree = [...DEFAULT_NAVIGATION_TREE]; - const movedDocument = updatedNavigationTree.splice(documentIndex, 1); - updatedNavigationTree.splice(NEW_POSITION, 0, ...movedDocument); - - // Trigger a "document is moved" event - window.emitter.emit('AppBridge:GuidelineDocument:MoveEvent', { - action: 'movePreview', - position: NEW_POSITION, - document: { id: 121, sort: 5 }, - }); - - await waitFor(() => { - expect(result.current.navigationItems).toEqual(updatedNavigationTree); - }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - }); - - it('should return the same tree when a document is moved within/in/out a group', async () => { - const appBridge = getAppBridgeThemeStub(); - const spy = vi.spyOn(appBridge, 'api'); - - spy.mockResolvedValueOnce(DEFAULT_NAVIGATION_TREE); - - const { result } = renderHook(() => usePortalNavigation(appBridge)); - - await waitFor(() => { - expect(result.current.isLoading).toBe(false); - }); - - const NEW_POSITION = 2; - - // Trigger a "document is moved" event - window.emitter.emit('AppBridge:GuidelineDocument:MoveEvent', { - action: 'movePreview', - position: NEW_POSITION, - document: { id: 201, sort: 2, documentGroupId: 200 }, - newGroupId: undefined, - }); - - await waitFor(() => { - expect(result.current.navigationItems).toEqual(DEFAULT_NAVIGATION_TREE); - }); - - expect(spy).toHaveBeenCalledOnce(); - expect(spy).toHaveBeenCalledWith({ name: 'getPortalNavigation' }); - }); -}); diff --git a/packages/app-bridge/src/react/usePortalNavigation.ts b/packages/app-bridge/src/react/usePortalNavigation.ts deleted file mode 100644 index dc4140b55..000000000 --- a/packages/app-bridge/src/react/usePortalNavigation.ts +++ /dev/null @@ -1,158 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { produce } from 'immer'; -import debounce from 'lodash-es/debounce'; -import { useCallback, useEffect, useMemo, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type EmitterEvents } from '../types/Emitter'; -import { type PortalNavigationItem } from '../types/Guideline'; - -type Options = { - /** - * Whether it should fetch on mount. - */ - enabled?: boolean; -}; - -export const usePortalNavigation = (appBridge: AppBridgeTheme, options: Options = { enabled: true }) => { - const [navigationItems, setNavigationItems] = useState([]); - const [isLoading, setIsLoading] = useState(true); - - const refetch = useCallback(async () => { - setIsLoading(true); - setNavigationItems(await appBridge.api({ name: 'getPortalNavigation' })); - setIsLoading(false); - }, [appBridge]); - - const debouncedRefetch = useMemo( - () => - debounce(() => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - refetch(); - }, 100), - [refetch], - ); - - useEffect(() => { - if (options.enabled) { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - refetch(); - } - }, [options.enabled, refetch]); - - useEffect(() => { - const handleCoverPageAction = (event: EmitterEvents['AppBridge:GuidelineCoverPage:Action']) => { - if (event.action === 'delete') { - setNavigationItems( - produce((draft) => { - return deleteItem(draft, 'cover-page', null); - }), - ); - } - - debouncedRefetch(); - }; - - const handleDocumentGroupAction = (event: EmitterEvents['AppBridge:GuidelineDocumentGroup:Action']) => { - if (event.action === 'delete') { - setNavigationItems( - produce((draft) => { - return deleteItem(draft, 'document-group', event.documentGroup.id); - }), - ); - } - - debouncedRefetch(); - }; - - const handleDocumentAction = (event: EmitterEvents['AppBridge:GuidelineDocument:Action']) => { - if (event.action === 'delete') { - setNavigationItems( - produce((draft) => { - if (!event.document.documentGroupId) { - return deleteItem(draft, 'document', event.document.id); - } - return draft; - }), - ); - } - - debouncedRefetch(); - }; - - const handleDocumentGroupMoveEventPreview = ( - event: EmitterEvents['AppBridge:GuidelineDocumentGroup:MoveEvent'], - ) => { - setNavigationItems( - produce((draft) => previewItemPosition(draft, event.documentGroup, event.position, ['document-group'])), - ); - }; - - const handleDocumentMoveEventPreview = (event: EmitterEvents['AppBridge:GuidelineDocument:MoveEvent']) => { - if (!event.document.documentGroupId && !event.newGroupId) { - setNavigationItems( - produce((draft) => - previewItemPosition(draft, event.document, event.position, [ - 'document', - 'document-library', - 'document-link', - ]), - ), - ); - } - }; - - window.emitter.on('AppBridge:GuidelineCoverPage:Action', handleCoverPageAction); - - window.emitter.on('AppBridge:GuidelineDocumentGroup:Action', handleDocumentGroupAction); - window.emitter.on('AppBridge:GuidelineDocumentGroup:MoveEvent', handleDocumentGroupMoveEventPreview); - - window.emitter.on('AppBridge:GuidelineDocument:Action', handleDocumentAction); - window.emitter.on('AppBridge:GuidelineDocument:MoveEvent', handleDocumentMoveEventPreview); - window.emitter.on('AppBridge:GuidelineDocumentTargets:Action', debouncedRefetch); - - return () => { - window.emitter.off('AppBridge:GuidelineCoverPage:Action', handleCoverPageAction); - - window.emitter.off('AppBridge:GuidelineDocumentGroup:Action', handleDocumentGroupAction); - window.emitter.off('AppBridge:GuidelineDocumentGroup:MoveEvent', handleDocumentGroupMoveEventPreview); - - window.emitter.off('AppBridge:GuidelineDocument:Action', handleDocumentAction); - window.emitter.off('AppBridge:GuidelineDocument:MoveEvent', handleDocumentMoveEventPreview); - window.emitter.off('AppBridge:GuidelineDocumentTargets:Action', debouncedRefetch); - }; - }, [navigationItems, debouncedRefetch]); - - return { navigationItems, refetch, isLoading }; -}; - -const deleteItem = (draft: PortalNavigationItem[], type: PortalNavigationItem['type'], itemId: Nullable) => { - const itemDraftIndex = draft.findIndex((item) => - !itemId ? item.type === type : item.type === type && item.id() === itemId, - ); - - if (itemDraftIndex !== -1) { - draft.splice(itemDraftIndex, 1); - } - - return draft; -}; - -const previewItemPosition = ( - draft: PortalNavigationItem[], - itemMoved: - | EmitterEvents['AppBridge:GuidelineDocument:MoveEvent']['document'] - | EmitterEvents['AppBridge:GuidelineDocumentGroup:MoveEvent']['documentGroup'], - newPosition: number, - allowedTypes: PortalNavigationItem['type'][], -) => { - const itemDraftIndex = draft.findIndex((item) => allowedTypes.includes(item.type) && item.id() === itemMoved.id); - - if (itemDraftIndex !== -1) { - const itemToMove = draft.splice(itemDraftIndex, 1); - draft.splice(newPosition, 0, ...itemToMove); - } - - return draft; -}; diff --git a/packages/app-bridge/src/react/useTemplateAssets.spec.ts b/packages/app-bridge/src/react/useTemplateAssets.spec.ts deleted file mode 100644 index 67e21c242..000000000 --- a/packages/app-bridge/src/react/useTemplateAssets.spec.ts +++ /dev/null @@ -1,445 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { act, cleanup, renderHook, waitFor } from '@testing-library/react'; -import { type SinonStub } from 'sinon'; -import { type Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; - -import { type ThemeTemplate } from '..'; -import { AssetDummy, getAppBridgeThemeStub } from '../tests'; - -import { useTemplateAssets } from './useTemplateAssets'; - -const DOCUMENT_ID = 16; -const DOCUMENT_PAGE_ID = 568; - -const THEME_ASSETS = { - key: [AssetDummy.with(3)], -}; - -const THEME_ASSETS_WITH_CUSTOM_KEY = { - customKey: [AssetDummy.with(2)], -}; - -const TEMPLATE_ASSETS = { - key: [AssetDummy.with(1)], -}; - -describe('useTemplateAssets hook', () => { - beforeEach(() => { - vi.spyOn(console, 'error').mockImplementation(() => {}); - }); - - afterEach(() => { - vi.restoreAllMocks(); - cleanup(); - }); - - const loadUseTemplateAssets = async ( - template: ThemeTemplate, - existingTemplateAssets = [AssetDummy.with(1)], - existingThemeAssets = {}, - returnEmptyTemplateAssets = false, - ) => { - const asset = AssetDummy.with(1); - const appBridgeStub = getAppBridgeThemeStub({ - pageTemplateAssets: returnEmptyTemplateAssets ? {} : { key: existingTemplateAssets }, - themeAssets: existingThemeAssets, - }); - - const { result, rerender } = renderHook(() => - useTemplateAssets(appBridgeStub, template, DOCUMENT_ID, DOCUMENT_PAGE_ID), - ); - - await act(async () => { - rerender(); - }); - - return { result, appBridgeStub, asset }; - }; - - describe('documentPage template context', () => { - it('should delete an asset', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('documentPage', []); - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = appBridgeStub.deleteAssetIdsFromDocumentPageTemplateAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual(DOCUMENT_PAGE_ID); - expect(call.args[1]).toEqual('key'); - expect(call.lastArg).toEqual([1]); - expect(result.current.templateAssets).toStrictEqual({ key: [] }); - }); - }); - - it('should sort assets', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('documentPage', [ - AssetDummy.with(1), - AssetDummy.with(2), - ]); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - const deleteCall = appBridgeStub.deleteAssetIdsFromDocumentPageTemplateAssetKey.getCall(0); - const addCall = appBridgeStub.addAssetIdsToDocumentPageTemplateAssetKey.getCall(0); - - await waitFor(async () => { - expect(deleteCall.firstArg).toEqual(DOCUMENT_PAGE_ID); - expect(deleteCall.args[1]).toEqual('key'); - expect(deleteCall.lastArg).toEqual([1, 2]); - expect(addCall.firstArg).toEqual(DOCUMENT_PAGE_ID); - expect(addCall.args[1]).toEqual('key'); - expect(addCall.lastArg).toEqual([2, 1]); - expect(result.current.templateAssets.key.map((asset) => asset.id)).toEqual([2, 1]); - }); - }); - - it('should not sort assets if api call throws error', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('documentPage', [ - AssetDummy.with(1), - AssetDummy.with(2), - ]); - (appBridgeStub.deleteAssetIdsFromDocumentPageTemplateAssetKey as unknown as Mock) = vi - .fn() - .mockRejectedValue('Unsuccessful API call'); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - await waitFor(async () => { - expect(result.current.templateAssets.key.map((asset) => asset.id)).toEqual([1, 2]); - }); - - expect(console.error).toHaveBeenCalledOnce(); - }); - - it('should notify about updated assets on delete', async () => { - const { result, asset } = await loadUseTemplateAssets('documentPage'); - - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:TemplateAssetsUpdated'); - expect(call.lastArg.template).toEqual('documentPage'); - expect(call.lastArg.documentId).toEqual(DOCUMENT_ID); - expect(call.lastArg.documentPageId).toEqual(DOCUMENT_PAGE_ID); - expect(call.lastArg.templateAssets).toStrictEqual({ key: [] }); - expect(call.lastArg.prevTemplateAssets).toMatchObject({ key: [asset] }); - }); - }); - - it('should add asset ids', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('documentPage'); - await act(async () => { - await result.current.addAssetIdsToKey('key', [2]); - }); - - const call = appBridgeStub.addAssetIdsToDocumentPageTemplateAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual(DOCUMENT_PAGE_ID); - expect(call.args[1]).toEqual('key'); - expect(call.lastArg).toEqual([2]); - expect(result.current.templateAssets.key.map(({ id }) => id)).toEqual([1, 2]); - }); - }); - - it('should notify about updated assets on add asset ids to key', async () => { - const { result, asset } = await loadUseTemplateAssets('documentPage'); - const assetToAdd = AssetDummy.with(2); - await act(async () => { - await result.current.addAssetIdsToKey('key', [assetToAdd.id]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:TemplateAssetsUpdated'); - expect(call.lastArg.template).toEqual('documentPage'); - expect(call.lastArg.documentId).toEqual(DOCUMENT_ID); - expect(call.lastArg.documentPageId).toEqual(DOCUMENT_PAGE_ID); - expect(call.lastArg.templateAssets).toMatchObject({ key: [asset, assetToAdd] }); - expect(call.lastArg.prevTemplateAssets).toMatchObject({ key: [asset] }); - }); - }); - }); - - describe('library template context', () => { - it('should delete an asset', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('library', []); - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = appBridgeStub.deleteAssetIdsFromLibraryPageTemplateAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual(DOCUMENT_ID); - expect(call.args[1]).toEqual('key'); - expect(call.lastArg).toEqual([1]); - expect(result.current.templateAssets).toStrictEqual({ key: [] }); - }); - }); - - it('should sort assets', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('library', [ - AssetDummy.with(1), - AssetDummy.with(2), - ]); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - const deleteCall = appBridgeStub.deleteAssetIdsFromLibraryPageTemplateAssetKey.getCall(0); - const addCall = appBridgeStub.addAssetIdsToLibraryPageTemplateAssetKey.getCall(0); - - await waitFor(async () => { - expect(deleteCall.firstArg).toEqual(DOCUMENT_ID); - expect(deleteCall.args[1]).toEqual('key'); - expect(deleteCall.lastArg).toEqual([1, 2]); - expect(addCall.firstArg).toEqual(DOCUMENT_ID); - expect(addCall.args[1]).toEqual('key'); - expect(addCall.lastArg).toEqual([2, 1]); - expect(result.current.templateAssets.key.map((asset) => asset.id)).toEqual([2, 1]); - }); - }); - - it('should not sort assets if api call throws error', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('library', [ - AssetDummy.with(1), - AssetDummy.with(2), - ]); - (appBridgeStub.deleteAssetIdsFromLibraryPageTemplateAssetKey as unknown as Mock) = vi - .fn() - .mockRejectedValue('Unsuccessful API call'); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - await waitFor(async () => { - expect(result.current.templateAssets.key.map((asset) => asset.id)).toEqual([1, 2]); - }); - - expect(console.error).toHaveBeenCalledOnce(); - }); - - it('should notify about updated assets on delete', async () => { - const { result, asset } = await loadUseTemplateAssets('library'); - - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:TemplateAssetsUpdated'); - expect(call.lastArg.template).toEqual('library'); - expect(call.lastArg.documentId).toEqual(DOCUMENT_ID); - expect(call.lastArg.documentPageId).toEqual(DOCUMENT_PAGE_ID); - expect(call.lastArg.templateAssets).toStrictEqual({ key: [] }); - expect(call.lastArg.prevTemplateAssets).toMatchObject({ key: [asset] }); - }); - }); - - it('should add asset ids', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('library'); - await act(async () => { - await result.current.addAssetIdsToKey('key', [2]); - }); - - const call = appBridgeStub.addAssetIdsToLibraryPageTemplateAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual(DOCUMENT_ID); - expect(call.args[1]).toEqual('key'); - expect(call.lastArg).toEqual([2]); - expect(result.current.templateAssets.key.map(({ id }) => id)).toEqual([1, 2]); - }); - }); - - it('should notify about updated assets on add asset ids to key', async () => { - const { result, asset } = await loadUseTemplateAssets('library'); - const assetToAdd = AssetDummy.with(2); - await act(async () => { - await result.current.addAssetIdsToKey('key', [assetToAdd.id]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:TemplateAssetsUpdated'); - expect(call.lastArg.template).toEqual('library'); - expect(call.lastArg.documentId).toEqual(DOCUMENT_ID); - expect(call.lastArg.documentPageId).toEqual(DOCUMENT_PAGE_ID); - expect(call.lastArg.templateAssets).toMatchObject({ key: [asset, assetToAdd] }); - expect(call.lastArg.prevTemplateAssets).toMatchObject({ key: [asset] }); - }); - }); - }); - - describe('cover template context', () => { - it('should delete an asset', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('cover', []); - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = appBridgeStub.deleteAssetIdsFromCoverPageTemplateAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('key'); - expect(call.lastArg).toEqual([1]); - expect(result.current.templateAssets).toStrictEqual({ key: [] }); - }); - }); - - it('should sort assets', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('cover', [ - AssetDummy.with(1), - AssetDummy.with(2), - ]); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - const deleteCall = appBridgeStub.deleteAssetIdsFromCoverPageTemplateAssetKey.getCall(0); - const addCall = appBridgeStub.addAssetIdsToCoverPageTemplateAssetKey.getCall(0); - - await waitFor(async () => { - expect(deleteCall.firstArg).toEqual('key'); - expect(deleteCall.lastArg).toEqual([1, 2]); - expect(addCall.firstArg).toEqual('key'); - expect(addCall.lastArg).toEqual([2, 1]); - expect(result.current.templateAssets.key.map((asset) => asset.id)).toEqual([2, 1]); - }); - }); - - it('should not sort assets if api call throws error', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('cover', [ - AssetDummy.with(1), - AssetDummy.with(2), - ]); - (appBridgeStub.deleteAssetIdsFromCoverPageTemplateAssetKey as unknown as Mock) = vi - .fn() - .mockRejectedValue('Unsuccessful API call'); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - await waitFor(async () => { - expect(result.current.templateAssets.key.map((asset) => asset.id)).toEqual([1, 2]); - }); - - expect(console.error).toHaveBeenCalledOnce(); - }); - - it('should notify about updated assets on delete', async () => { - const { result, asset } = await loadUseTemplateAssets('cover'); - - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:TemplateAssetsUpdated'); - expect(call.lastArg.template).toEqual('cover'); - expect(call.lastArg.documentId).toEqual(DOCUMENT_ID); - expect(call.lastArg.documentPageId).toEqual(DOCUMENT_PAGE_ID); - expect(call.lastArg.templateAssets).toStrictEqual({ key: [] }); - expect(call.lastArg.prevTemplateAssets).toMatchObject({ key: [asset] }); - }); - }); - - it('should add asset ids', async () => { - const { result, appBridgeStub } = await loadUseTemplateAssets('cover'); - await act(async () => { - await result.current.addAssetIdsToKey('key', [2]); - }); - - const call = appBridgeStub.addAssetIdsToCoverPageTemplateAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('key'); - expect(call.lastArg).toEqual([2]); - expect(result.current.templateAssets.key.map(({ id }) => id)).toEqual([1, 2]); - }); - }); - - it('should notify about updated assets on add asset ids to key', async () => { - const { result, asset } = await loadUseTemplateAssets('cover'); - const assetToAdd = AssetDummy.with(2); - await act(async () => { - await result.current.addAssetIdsToKey('key', [assetToAdd.id]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:TemplateAssetsUpdated'); - expect(call.lastArg.template).toEqual('cover'); - expect(call.lastArg.documentId).toEqual(DOCUMENT_ID); - expect(call.lastArg.documentPageId).toEqual(DOCUMENT_PAGE_ID); - expect(call.lastArg.templateAssets).toMatchObject({ key: [asset, assetToAdd] }); - expect(call.lastArg.prevTemplateAssets).toMatchObject({ key: [asset] }); - }); - }); - }); - - describe('Theme and Template assets overrides', () => { - it('returns the template assets merged with theme assets and the list of custom overrides', async () => { - const { result } = await loadUseTemplateAssets('cover', [AssetDummy.with(1)], THEME_ASSETS); - await waitFor(() => { - expect(result.current.templateAssets).toEqual({ - ...TEMPLATE_ASSETS, - }); - expect(result.current.customizedTemplateAssetsKeys).toEqual(['key']); - }); - }); - - it('returns the template assets merged with theme assets and no overrides', async () => { - const { result } = await loadUseTemplateAssets('cover', [AssetDummy.with(1)], THEME_ASSETS_WITH_CUSTOM_KEY); - await waitFor(() => { - expect(result.current.templateAssets).toEqual({ - ...THEME_ASSETS_WITH_CUSTOM_KEY, - ...TEMPLATE_ASSETS, - }); - expect(result.current.customizedTemplateAssetsKeys).toEqual([]); - }); - }); - - it('returns an empty object if no theme assets and no template assets', async () => { - const { result } = await loadUseTemplateAssets('cover', [], {}, true); - await waitFor(() => { - expect(result.current.templateAssets).toEqual({}); - expect(result.current.customizedTemplateAssetsKeys).toEqual([]); - }); - }); - - it('returns only the theme assets if no template assets', async () => { - const { result } = await loadUseTemplateAssets('cover', [], THEME_ASSETS, true); - await waitFor(() => { - expect(result.current.templateAssets).toEqual({ - ...THEME_ASSETS, - }); - expect(result.current.customizedTemplateAssetsKeys).toEqual([]); - }); - }); - - it('returns only the template assets if no theme assets', async () => { - const { result } = await loadUseTemplateAssets('cover', [AssetDummy.with(1)], {}, false); - await waitFor(() => { - expect(result.current.templateAssets).toEqual({ - ...TEMPLATE_ASSETS, - }); - expect(result.current.customizedTemplateAssetsKeys).toEqual([]); - }); - }); - }); -}); diff --git a/packages/app-bridge/src/react/useTemplateAssets.ts b/packages/app-bridge/src/react/useTemplateAssets.ts deleted file mode 100644 index dcc8a4a43..000000000 --- a/packages/app-bridge/src/react/useTemplateAssets.ts +++ /dev/null @@ -1,208 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type Asset, type ThemeTemplate } from '../types'; -import { compareObjects } from '../utilities'; - -import { useThemeAssets } from './'; - -type HookArgs = { - appBridge: AppBridgeTheme; - template?: ThemeTemplate; - documentId?: number; - documentPageId?: number; -}; - -const getTemplateAssets = async ({ - appBridge, - template, - documentId, - documentPageId, -}: HookArgs): Promise> => { - if (template === 'cover') { - return await appBridge.getCoverPageTemplateAssets(); - } else if (template === 'documentPage' && documentPageId) { - return await appBridge.getDocumentPageTemplateAssets(documentPageId); - } else if (template === 'library' && documentId) { - return await appBridge.getLibraryPageTemplateAssets(documentId); - } - - return {}; -}; - -const addAssetIdsToTemplateAssetKey = async ( - key: string, - assetIds: number[], - { appBridge, template, documentId, documentPageId }: HookArgs, -): Promise => { - if (template === 'cover') { - await appBridge.addAssetIdsToCoverPageTemplateAssetKey(key, assetIds); - } else if (template === 'documentPage' && documentPageId) { - await appBridge.addAssetIdsToDocumentPageTemplateAssetKey(documentPageId, key, assetIds); - } else if (template === 'library' && documentId) { - await appBridge.addAssetIdsToLibraryPageTemplateAssetKey(documentId, key, assetIds); - } -}; - -const deleteAssetIdsFromTemplateAssetKey = async ( - key: string, - assetIds: number[], - { appBridge, template, documentId, documentPageId }: HookArgs, -): Promise => { - if (template === 'cover') { - await appBridge.deleteAssetIdsFromCoverPageTemplateAssetKey(key, assetIds); - } else if (template === 'documentPage' && documentPageId) { - await appBridge.deleteAssetIdsFromDocumentPageTemplateAssetKey(documentPageId, key, assetIds); - } else if (template === 'library' && documentId) { - await appBridge.deleteAssetIdsFromLibraryPageTemplateAssetKey(documentId, key, assetIds); - } -}; - -export const useTemplateAssets = ( - appBridge: AppBridgeTheme, - template: ThemeTemplate, - documentId?: number, - documentPageId?: number, -) => { - const [templateAssets, setTemplateAssets] = useState>({}); - const { themeAssets } = useThemeAssets(appBridge, template); - const [customizedTemplateAssetsKeys, setCustomizedTemplateAssetsKeys] = useState([]); - const [mergedThemeAndTemplateAssets, setMergedThemeAndTemplateAssets] = useState>({}); - - // Fetch the template assets on mount. - // And add listener for template assets updates. - useEffect(() => { - let componentMounted = true; - - const updateTemplateAssetsFromEvent = (event: { - template: ThemeTemplate; - documentId?: number; - documentPageId?: number; - templateAssets: Record; - prevTemplateAssets: Record; - }) => { - if ( - event.template === template && - event.documentId === documentId && - event.documentPageId === documentPageId && - !compareObjects(event.templateAssets, event.prevTemplateAssets) - ) { - setTemplateAssets(event.templateAssets); - } - }; - - if (template) { - const mountingFetch = async () => { - const allTemplateAssets = await getTemplateAssets({ - appBridge, - template, - documentId, - documentPageId, - }); - - if (componentMounted) { - setTemplateAssets(allTemplateAssets); - } - }; - mountingFetch(); - - window.emitter.on('AppBridge:TemplateAssetsUpdated', updateTemplateAssetsFromEvent); - } - - return () => { - componentMounted = false; - window.emitter.off('AppBridge:TemplateAssetsUpdated', updateTemplateAssetsFromEvent); - }; - }, [appBridge, documentId, documentPageId, template]); - - useEffect(() => { - const overrides = []; - const mergedAssets = { ...templateAssets }; - - for (const field in themeAssets) { - if (templateAssets[field] !== null && templateAssets[field] !== undefined) { - overrides.push(field); - } else if (themeAssets[field].length > 0) { - mergedAssets[field] = themeAssets[field]; - } - } - - setCustomizedTemplateAssetsKeys(overrides); - setMergedThemeAndTemplateAssets(mergedAssets); - }, [themeAssets, templateAssets]); - - const emitUpdatedTemplateAssets = async () => { - window.emitter.emit('AppBridge:TemplateAssetsUpdated', { - template, - documentId, - documentPageId, - templateAssets: await getTemplateAssets({ - appBridge, - template, - documentId, - documentPageId, - }), - prevTemplateAssets: { ...templateAssets }, - }); - }; - - const updateAssetIdsFromKey = async (key: string, newAssetIds: number[]) => { - const currentTemplateAssets = await getTemplateAssets({ - appBridge, - template, - documentId, - documentPageId, - }); - const oldAssetIds = currentTemplateAssets[key]?.map((asset) => asset.id) ?? []; - - try { - await deleteAssetIdsFromTemplateAssetKey(key, oldAssetIds, { - appBridge, - template, - documentId, - documentPageId, - }); - await addAssetIdsToTemplateAssetKey(key, newAssetIds, { - appBridge, - template, - documentId, - documentPageId, - }); - } catch (error) { - console.error(error); - } - - emitUpdatedTemplateAssets(); - }; - - const deleteAssetIdsFromKey = async (key: string, assetIds: number[]) => { - await deleteAssetIdsFromTemplateAssetKey(key, assetIds, { - appBridge, - template, - documentId, - documentPageId, - }); - emitUpdatedTemplateAssets(); - }; - - const addAssetIdsToKey = async (key: string, assetIds: number[]) => { - await addAssetIdsToTemplateAssetKey(key, assetIds, { - appBridge, - template, - documentId, - documentPageId, - }); - emitUpdatedTemplateAssets(); - }; - - return { - templateAssets: mergedThemeAndTemplateAssets, - themeAssets, - customizedTemplateAssetsKeys, - addAssetIdsToKey, - deleteAssetIdsFromKey, - updateAssetIdsFromKey, - }; -}; diff --git a/packages/app-bridge/src/react/useThemeAssets.spec.ts b/packages/app-bridge/src/react/useThemeAssets.spec.ts deleted file mode 100644 index 76d268249..000000000 --- a/packages/app-bridge/src/react/useThemeAssets.spec.ts +++ /dev/null @@ -1,163 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { act, cleanup, renderHook, waitFor } from '@testing-library/react'; -import { type SinonStub } from 'sinon'; -import { type Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; - -import { type Asset, type ThemeTemplate } from '..'; -import { AssetDummy, getAppBridgeThemeStub } from '../tests'; - -import { useThemeAssets } from './useThemeAssets'; - -const DOCUMENT_PAGE_TEMPLATE = 'documentPage'; - -describe('useThemeAssets hook', () => { - beforeEach(() => { - vi.spyOn(console, 'error').mockImplementation(() => {}); - }); - - afterEach(() => { - vi.restoreAllMocks(); - cleanup(); - }); - - const loadUseThemeAssets = async (existingAssets: Asset[], template: ThemeTemplate, keyName: string) => { - const asset = AssetDummy.with(1); - const appBridgeStub = getAppBridgeThemeStub({ - themeAssets: { [keyName]: existingAssets }, - }); - - const { result, rerender } = renderHook(() => useThemeAssets(appBridgeStub, template)); - - // eslint-disable-next-line @typescript-eslint/require-await - await act(async () => { - rerender(); - }); - - return { result, appBridgeStub, asset }; - }; - - it('should delete an asset', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets([], DOCUMENT_PAGE_TEMPLATE, 'key'); - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = appBridgeStub.deleteAssetIdsFromThemeAssetKey.getCall(0); - - await waitFor(() => { - expect(call.firstArg).toEqual('key'); - expect(call.args[1]).toEqual([1]); - expect(call.lastArg).toEqual(DOCUMENT_PAGE_TEMPLATE); - expect(result.current.themeAssets).toStrictEqual({ key: [] }); - }); - }); - - it('should sort assets', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets( - [AssetDummy.with(1), AssetDummy.with(2)], - DOCUMENT_PAGE_TEMPLATE, - 'key', - ); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - const deleteCall = appBridgeStub.deleteAssetIdsFromThemeAssetKey.getCall(0); - const addCall = appBridgeStub.addAssetIdsToThemeAssetKey.getCall(0); - - await waitFor(async () => { - expect(deleteCall.firstArg).toEqual('key'); - expect(deleteCall.args[1]).toEqual([1, 2]); - expect(addCall.firstArg).toEqual('key'); - expect(addCall.args[1]).toEqual([2, 1]); - expect(result.current.themeAssets.key.map((asset) => asset.id)).toEqual([2, 1]); - }); - }); - - it('should delete nothing if key does not exist', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets( - [AssetDummy.with(1), AssetDummy.with(2)], - DOCUMENT_PAGE_TEMPLATE, - 'non-existing-key', - ); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - const deleteCall = appBridgeStub.deleteAssetIdsFromThemeAssetKey.getCall(0); - - await waitFor(async () => { - expect(deleteCall.firstArg).toEqual('key'); - expect(deleteCall.args[1]).toEqual([]); - }); - }); - - it('should not sort assets if api call throws error', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets( - [AssetDummy.with(1), AssetDummy.with(2)], - DOCUMENT_PAGE_TEMPLATE, - 'key', - ); - (appBridgeStub.deleteAssetIdsFromThemeAssetKey as unknown as Mock) = vi - .fn() - .mockRejectedValue('Unsuccessful API call'); - - await act(async () => { - await result.current.updateAssetIdsFromKey('key', [2, 1]); - }); - - await waitFor(async () => { - expect(result.current.themeAssets.key.map((asset) => asset.id)).toEqual([1, 2]); - }); - - expect(console.error).toHaveBeenCalledOnce(); - }); - - it('should notify about updated assets on delete', async () => { - const { result, asset } = await loadUseThemeAssets([AssetDummy.with(1)], DOCUMENT_PAGE_TEMPLATE, 'key'); - - await act(async () => { - await result.current.deleteAssetIdsFromKey('key', [1]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:ThemeAssetsUpdated'); - expect(call.lastArg.themeAssets).toStrictEqual({ key: [] }); - expect(call.lastArg.prevThemeAssets).toMatchObject({ key: [asset] }); - }); - }); - - it('should add asset ids', async () => { - const { result, appBridgeStub } = await loadUseThemeAssets([AssetDummy.with(1)], DOCUMENT_PAGE_TEMPLATE, 'key'); - await act(async () => { - await result.current.addAssetIdsToKey('key', [2]); - }); - - const call = appBridgeStub.addAssetIdsToThemeAssetKey.getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('key'); - expect(call.args[1]).toEqual([2]); - expect(result.current.themeAssets.key.map(({ id }) => id)).toEqual([1, 2]); - }); - }); - - it('should notify about updated assets on add asset ids to key', async () => { - const { result, asset } = await loadUseThemeAssets([AssetDummy.with(1)], DOCUMENT_PAGE_TEMPLATE, 'key'); - const assetToAdd = AssetDummy.with(2); - await act(async () => { - await result.current.addAssetIdsToKey('key', [assetToAdd.id]); - }); - - const call = (window.emitter.emit as SinonStub).getCall(0); - await waitFor(() => { - expect(call.firstArg).toEqual('AppBridge:ThemeAssetsUpdated'); - expect(call.lastArg.themeAssets).toMatchObject({ key: [asset, assetToAdd] }); - expect(call.lastArg.prevThemeAssets).toMatchObject({ key: [asset] }); - }); - }); -}); diff --git a/packages/app-bridge/src/react/useThemeAssets.ts b/packages/app-bridge/src/react/useThemeAssets.ts deleted file mode 100644 index 051ad1478..000000000 --- a/packages/app-bridge/src/react/useThemeAssets.ts +++ /dev/null @@ -1,111 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type Asset, type ThemeTemplate } from '../types'; -import { compareObjects } from '../utilities'; - -export const useThemeAssets = (appBridge: AppBridgeTheme, template?: ThemeTemplate) => { - const portalId = appBridge.getPortalId(); - - const [themeAssets, setThemeAssets] = useState>({}); - - const updateThemeAssetsFromEvent = (event: { - template?: ThemeTemplate; - portalId: number; - themeAssets: Record; - prevThemeAssets: Record; - }) => { - if ( - template && - event.template === template && - event.portalId === portalId && - !compareObjects(event.themeAssets, event.prevThemeAssets) - ) { - setThemeAssets(event.themeAssets); - } - }; - - const getThemeAssets = async (): Promise> => { - return template ? await appBridge.getThemeAssets(template) : Promise.resolve({}); - }; - - const addAssetIdsToThemeAssetKey = async (key: string, assetIds: number[]): Promise => { - if (template) { - await appBridge.addAssetIdsToThemeAssetKey(key, assetIds, template); - } - }; - - const deleteAssetIdsFromThemeAssetKey = async (key: string, assetIds: number[]): Promise => { - if (template) { - await appBridge.deleteAssetIdsFromThemeAssetKey(key, assetIds, template); - } - }; - - // Fetch the theme assets on mount. - // And add listener for theme assets updates. - useEffect(() => { - let componentMounted = true; - - if (portalId) { - const mountingFetch = async () => { - const allThemeAssets = template ? await getThemeAssets() : {}; - - if (componentMounted && template) { - setThemeAssets(allThemeAssets); - } - }; - mountingFetch(); - - window.emitter.on('AppBridge:ThemeAssetsUpdated', updateThemeAssetsFromEvent); - } - - return () => { - componentMounted = false; - window.emitter.off('AppBridge:ThemeAssetsUpdated', updateThemeAssetsFromEvent); - }; - }, [appBridge]); - - const emitUpdatedThemeAssets = async () => { - if (template) { - window.emitter.emit('AppBridge:ThemeAssetsUpdated', { - portalId, - themeAssets: await getThemeAssets(), - prevThemeAssets: { ...themeAssets }, - template, - }); - } - }; - - const updateAssetIdsFromKey = async (key: string, newAssetIds: number[]) => { - const currentThemeAssets = await getThemeAssets(); - const oldAssetIds = currentThemeAssets[key]?.map((asset) => asset.id) ?? []; - - try { - await deleteAssetIdsFromThemeAssetKey(key, oldAssetIds); - await addAssetIdsToThemeAssetKey(key, newAssetIds); - } catch (error) { - console.error(error); - } - - emitUpdatedThemeAssets(); - }; - - const deleteAssetIdsFromKey = async (key: string, assetIds: number[]) => { - await deleteAssetIdsFromThemeAssetKey(key, assetIds); - emitUpdatedThemeAssets(); - }; - - const addAssetIdsToKey = async (key: string, assetIds: number[]) => { - await addAssetIdsToThemeAssetKey(key, assetIds); - emitUpdatedThemeAssets(); - }; - - return { - themeAssets, - addAssetIdsToKey, - deleteAssetIdsFromKey, - updateAssetIdsFromKey, - }; -}; diff --git a/packages/app-bridge/src/react/useThemeSettings.spec.ts b/packages/app-bridge/src/react/useThemeSettings.spec.ts deleted file mode 100644 index c98c2e130..000000000 --- a/packages/app-bridge/src/react/useThemeSettings.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { cleanup, renderHook, waitFor } from '@testing-library/react'; -import { type SinonStub } from 'sinon'; -import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; - -import { getAppBridgeThemeStub } from '../tests'; -import { type ThemeTemplate } from '../types'; - -import { useThemeSettings } from './useThemeSettings'; - -const THEME_SETTINGS = { - cover: { - coverSettingOne: 'value one', - coverSettingTwo: 'value two', - }, - documentPage: {}, - library: {}, -}; - -describe('useThemeSettings', () => { - beforeEach(() => { - vi.spyOn(console, 'error').mockImplementation(() => {}); - }); - - afterEach(() => { - vi.restoreAllMocks(); - cleanup(); - }); - - const loadUseThemeSettings = async (themeSettings: Record>) => { - const appBridgeStub = getAppBridgeThemeStub({ - themeSettings, - }); - - const { result } = renderHook(() => useThemeSettings(appBridgeStub)); - return { result, appBridgeStub }; - }; - - it('returns the theme settings', async () => { - const { result } = await loadUseThemeSettings(THEME_SETTINGS); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.themeSettings).toEqual(THEME_SETTINGS); - }); - }); - - it('updates the theme settings', async () => { - const { result } = await loadUseThemeSettings(THEME_SETTINGS); - - expect(result.current.isLoading).toEqual(true); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.themeSettings).toEqual(THEME_SETTINGS); - }); - - await result.current.updateThemeSettings({ - cover: { coverSettingTwo: 'value two - updated' }, - }); - expect(result.current.isLoading).toEqual(false); - - const emitCall = (window.emitter.emit as SinonStub).getCall(0); - - await waitFor(() => { - expect(result.current.isLoading).toEqual(false); - expect(result.current.themeSettings).toEqual({ - cover: { coverSettingOne: 'value one', coverSettingTwo: 'value two - updated' }, - documentPage: {}, - library: {}, - }); - expect(emitCall.firstArg).toEqual('AppBridge:ThemeSettingsUpdated'); - expect(emitCall.lastArg.themeSettings).toStrictEqual({ - cover: { coverSettingOne: 'value one', coverSettingTwo: 'value two - updated' }, - documentPage: {}, - library: {}, - }); - }); - }); -}); diff --git a/packages/app-bridge/src/react/useThemeSettings.ts b/packages/app-bridge/src/react/useThemeSettings.ts deleted file mode 100644 index 3aa6b76c4..000000000 --- a/packages/app-bridge/src/react/useThemeSettings.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { useEffect, useState } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type EmitterEvents, type ThemeTemplate } from '../types'; - -export const useThemeSettings = >>( - appBridge: AppBridgeTheme, -) => { - const [themeSettings, setThemeSettings] = useState>(null); - const [isLoading, setIsLoading] = useState(true); - - useEffect(() => { - const updateThemeSettingsFromEvent = (event: EmitterEvents['AppBridge:ThemeSettingsUpdated']) => { - setThemeSettings({ ...event.themeSettings } as T); - }; - - const getInitialThemeSettings = async () => { - setIsLoading(true); - - const themeSettings = await appBridge.getThemeSettings(); - setThemeSettings(themeSettings); - - setIsLoading(false); - }; - - getInitialThemeSettings(); - - window.emitter.on('AppBridge:ThemeSettingsUpdated', updateThemeSettingsFromEvent); - - return () => { - window.emitter.off('AppBridge:ThemeSettingsUpdated', updateThemeSettingsFromEvent); - }; - }, [appBridge]); - - const updateThemeSettings = async (themeSettingsUpdate: Partial) => { - try { - await appBridge.updateThemeSettings(themeSettingsUpdate); - - window.emitter.emit('AppBridge:ThemeSettingsUpdated', { - themeSettings: { - cover: { ...themeSettings?.cover, ...themeSettingsUpdate.cover }, - library: { ...themeSettings?.library, ...themeSettingsUpdate.library }, - documentPage: { ...themeSettings?.documentPage, ...themeSettingsUpdate.documentPage }, - }, - }); - } catch (error) { - console.error(error); - } - }; - - return { themeSettings, updateThemeSettings, isLoading }; -}; diff --git a/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts b/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts index 4d08b485f..c18587dd3 100644 --- a/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts +++ b/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts @@ -4,7 +4,6 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type DocumentPage, type EmitterEvents } from '../types'; import { type DocumentPageTargetEvent } from './useDocumentPageTargets'; @@ -21,7 +20,7 @@ type Options = { const sortDocumentPages = (a: DocumentPage, b: DocumentPage) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useUncategorizedDocumentPages = ( - appBridge: AppBridgeBlock | AppBridgeTheme, + appBridge: AppBridgeBlock, documentId: number, options: Options = { enabled: true }, ) => { @@ -162,7 +161,7 @@ const moveDocumentPage = (draft: Map, documentPage: Docume return draft; }; -const fetchDocumentPagesByDocumentId = async (appBridge: AppBridgeBlock | AppBridgeTheme, documentId: number) => { +const fetchDocumentPagesByDocumentId = async (appBridge: AppBridgeBlock, documentId: number) => { const pages = await appBridge.getUncategorizedDocumentPagesByDocumentId(documentId); return new Map([...pages].sort(sortDocumentPages).map((page) => [page.id, page])); }; diff --git a/packages/app-bridge/src/react/useUngroupedDocuments.ts b/packages/app-bridge/src/react/useUngroupedDocuments.ts index 7607e3683..305c2de2d 100644 --- a/packages/app-bridge/src/react/useUngroupedDocuments.ts +++ b/packages/app-bridge/src/react/useUngroupedDocuments.ts @@ -4,7 +4,6 @@ import { produce } from 'immer'; import { useCallback, useEffect, useState } from 'react'; import { type AppBridgeBlock } from '../AppBridgeBlock'; -import { type AppBridgeTheme } from '../AppBridgeTheme'; import { type Document, type EmitterEvents } from '../types'; type DocumentPageEvent = EmitterEvents['AppBridge:GuidelineDocument:DocumentPageAction']; @@ -22,10 +21,7 @@ type Options = { const sortDocuments = (a: Document, b: Document) => (a.sort && b.sort ? a.sort - b.sort : 0); -export const useUngroupedDocuments = ( - appBridge: AppBridgeBlock | AppBridgeTheme, - options: Options = { enabled: true }, -) => { +export const useUngroupedDocuments = (appBridge: AppBridgeBlock, options: Options = { enabled: true }) => { const [documents, setDocuments] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); @@ -272,7 +268,7 @@ const actionHandlers = { default: (documents: Map) => documents, }; -const fetchUngroupedDocuments = async (appBridge: AppBridgeBlock | AppBridgeTheme) => { +const fetchUngroupedDocuments = async (appBridge: AppBridgeBlock) => { const documents = await appBridge.getUngroupedDocuments(); return new Map([...documents].sort(sortDocuments).map((document) => [document.id, document])); }; diff --git a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts index 7014be767..acc95fb7d 100644 --- a/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts +++ b/packages/app-bridge/src/registries/api/ApiMethodRegistry.ts @@ -7,8 +7,6 @@ import { type GetAssetBulkDownloadTokenResponse, } from './GetAssetBulkDownloadToken'; import { type GetCurrentUserPayload, type GetCurrentUserResponse } from './GetCurrentUser.ts'; -import { type GetDocumentNavigationPayload, type GetDocumentNavigationResponse } from './GetDocumentNavigation'; -import { type GetPortalNavigationResponse } from './GetPortalNavigation'; import { type SetAssetIdsByBlockAssetKeyPayload, type SetAssetIdsByBlockAssetKeyResponse, @@ -24,6 +22,4 @@ export type ApiMethodRegistry = ApiMethodNameValidator<{ payload: SetAssetIdsByBlockAssetKeyPayload; response: SetAssetIdsByBlockAssetKeyResponse; }; - getDocumentNavigation: { payload: GetDocumentNavigationPayload; response: GetDocumentNavigationResponse }; - getPortalNavigation: { payload: void; response: GetPortalNavigationResponse }; }>; diff --git a/packages/app-bridge/src/registries/api/GetDocumentNavigation.spec.ts b/packages/app-bridge/src/registries/api/GetDocumentNavigation.spec.ts deleted file mode 100644 index be862a687..000000000 --- a/packages/app-bridge/src/registries/api/GetDocumentNavigation.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { GuidelineDocumentClass, GuidelineDocumentClassDummy } from '../../tests'; - -import { getDocumentNavigation } from './GetDocumentNavigation'; - -describe('GetDocumentNavigation', () => { - it('should return correct method name', () => { - const document = GuidelineDocumentClassDummy.with(101, 'document-101'); - - const documentNavigationCall = getDocumentNavigation({ document }); - expect(documentNavigationCall.name).toBe('getDocumentNavigation'); - }); - - it('should return correct payload', () => { - const document = GuidelineDocumentClassDummy.with(101, 'document-101'); - - const documentNavigationCall = getDocumentNavigation({ document }); - expect(documentNavigationCall.payload.document).toBeInstanceOf(GuidelineDocumentClass); - }); -}); diff --git a/packages/app-bridge/src/registries/api/GetDocumentNavigation.ts b/packages/app-bridge/src/registries/api/GetDocumentNavigation.ts deleted file mode 100644 index fbaa8465f..000000000 --- a/packages/app-bridge/src/registries/api/GetDocumentNavigation.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type DocumentNavigationItem, type GuidelineDocument } from '../../types/Guideline'; - -export type GetDocumentNavigationPayload = { - document: GuidelineDocument; -}; - -export type GetDocumentNavigationResponse = DocumentNavigationItem[]; - -export const getDocumentNavigation = ( - payload: GetDocumentNavigationPayload, -): { name: 'getDocumentNavigation'; payload: GetDocumentNavigationPayload } => ({ - name: 'getDocumentNavigation', - payload, -}); diff --git a/packages/app-bridge/src/registries/api/GetPortalNavigation.spec.ts b/packages/app-bridge/src/registries/api/GetPortalNavigation.spec.ts deleted file mode 100644 index 77bf9df8b..000000000 --- a/packages/app-bridge/src/registries/api/GetPortalNavigation.spec.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { describe, expect, it } from 'vitest'; - -import { getPortalNavigation } from './GetPortalNavigation'; - -describe('GetPortalNavigation', () => { - it('should return correct method name', () => { - const portalNavigationCall = getPortalNavigation(); - expect(portalNavigationCall.name).toBe('getPortalNavigation'); - }); -}); diff --git a/packages/app-bridge/src/registries/api/GetPortalNavigation.ts b/packages/app-bridge/src/registries/api/GetPortalNavigation.ts deleted file mode 100644 index a8ae0b80a..000000000 --- a/packages/app-bridge/src/registries/api/GetPortalNavigation.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type PortalNavigationItem } from '../../types/Guideline'; - -export type GetPortalNavigationResponse = PortalNavigationItem[]; - -export const getPortalNavigation = () => ({ name: 'getPortalNavigation' }); diff --git a/packages/app-bridge/src/registries/api/index.ts b/packages/app-bridge/src/registries/api/index.ts index af80031b5..cb8368d33 100644 --- a/packages/app-bridge/src/registries/api/index.ts +++ b/packages/app-bridge/src/registries/api/index.ts @@ -3,6 +3,4 @@ export * from './ApiMethodRegistry'; export * from './GetAssetBulkDownloadToken'; export * from './SetAssetIdsByBlockAssetKey'; -export * from './GetDocumentNavigation'; -export * from './GetPortalNavigation'; export * from './GetCurrentUser'; diff --git a/packages/app-bridge/src/registries/commands/CommandRegistry.ts b/packages/app-bridge/src/registries/commands/CommandRegistry.ts index d3e1443a3..9fc869da8 100644 --- a/packages/app-bridge/src/registries/commands/CommandRegistry.ts +++ b/packages/app-bridge/src/registries/commands/CommandRegistry.ts @@ -13,11 +13,9 @@ type CloseAssetChooserPayload = void; type OpenAssetViewerPayload = AssetViewerOptions; type OpenTemplateChooser = void; type CloseTemplateChooser = void; -type OpenNavigationManager = void; type DownloadAsset = Asset; type OpenSearchDialog = void; type CloseSearchDialog = void; -type NavigateToDocumentSection = number | string; export type CommandRegistry = CommandNameValidator<{ openAssetChooser?: OpenAssetChooserPayload; @@ -26,9 +24,7 @@ export type CommandRegistry = CommandNameValidator<{ openTemplateChooser: OpenTemplateChooser; closeTemplateChooser: CloseTemplateChooser; downloadAsset: DownloadAsset; - openNavigationManager: OpenNavigationManager; openNewPublication: OpenNewPublicationPayload; openSearchDialog: OpenSearchDialog; closeSearchDialog: CloseSearchDialog; - navigateToDocumentSection: NavigateToDocumentSection; }>; diff --git a/packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts b/packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts deleted file mode 100644 index d75f6f62c..000000000 --- a/packages/app-bridge/src/registries/commands/NavigateToDocumentSection.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type DispatchHandlerParameter } from '../../AppBridge'; - -import { type CommandRegistry } from './CommandRegistry'; - -export const navigateToDocumentSection = ( - sectionId: CommandRegistry['navigateToDocumentSection'], -): DispatchHandlerParameter<'navigateToDocumentSection', CommandRegistry> => ({ - name: 'navigateToDocumentSection', - payload: sectionId, -}); diff --git a/packages/app-bridge/src/registries/commands/NavigationManager.ts b/packages/app-bridge/src/registries/commands/NavigationManager.ts deleted file mode 100644 index efe190276..000000000 --- a/packages/app-bridge/src/registries/commands/NavigationManager.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type DispatchHandlerParameter } from '../../AppBridge'; - -import { type CommandRegistry } from './CommandRegistry'; - -export const openNavigationManager = (): DispatchHandlerParameter<'openNavigationManager', CommandRegistry> => ({ - name: 'openNavigationManager', -}); diff --git a/packages/app-bridge/src/registries/commands/index.ts b/packages/app-bridge/src/registries/commands/index.ts index 902e73e3b..d98b80338 100644 --- a/packages/app-bridge/src/registries/commands/index.ts +++ b/packages/app-bridge/src/registries/commands/index.ts @@ -4,8 +4,6 @@ export * from './AssetChooser'; export * from './AssetViewer'; export * from './CommandRegistry'; export * from './DownloadAsset'; -export * from './NavigationManager'; export * from './NewPublication'; export * from './SearchDialog'; export * from './TemplateChooser'; -export * from './NavigateToDocumentSection'; diff --git a/packages/app-bridge/src/registries/verbs/Verbs.ts b/packages/app-bridge/src/registries/verbs/Verbs.ts index a18d6e7b8..6881c0938 100644 --- a/packages/app-bridge/src/registries/verbs/Verbs.ts +++ b/packages/app-bridge/src/registries/verbs/Verbs.ts @@ -1,5 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export type ApiVerb = 'get' | 'create' | 'update' | 'delete' | 'add' | 'remove' | 'set'; -export type CommandVerb = 'open' | 'close' | 'navigate' | 'download'; +export type CommandVerb = 'open' | 'close' | 'download'; export type EventVerb = 'chosen'; diff --git a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts index 0a62329eb..3541da34a 100644 --- a/packages/app-bridge/src/tests/AppBridgeBlockStub.ts +++ b/packages/app-bridge/src/tests/AppBridgeBlockStub.ts @@ -14,6 +14,9 @@ import { AssetDummy } from './AssetDummy'; import { BulkDownloadDummy } from './BulkDownloadDummy'; import { ColorDummy } from './ColorDummy'; import { ColorPaletteDummy } from './ColorPaletteDummy'; +import { DocumentCategoryDummy } from './DocumentCategoryDummy'; +import { DocumentDummy } from './DocumentDummy'; +import { DocumentPageDummy } from './DocumentPageDummy'; import { DocumentSectionApiDummy } from './DocumentSectionApiDummy'; import { TemplateDummy } from './TemplateDummy'; import { TemplateLegacyDummy } from './TemplateLegacyDummy'; @@ -24,6 +27,22 @@ const SECTION_ID = 2341; const USER_ID = 4561; const PROJECT_ID = 345214; +const DOCUMENT_GROUP_ID_1 = 5332; +const GROUPED_DOCUMENT_ID_1 = 2434; +const GROUPED_DOCUMENT_ID_2 = 552; +const GROUPED_DOCUMENT_ID_3 = 1145; +const GROUPED_DOCUMENT_ID_4 = 32345; +const DOCUMENT_PAGE_ID_1 = 23442; +const DOCUMENT_PAGE_ID_2 = 235345; +const DOCUMENT_PAGE_ID_3 = 12352; +const DOCUMENT_PAGE_ID_4 = 55221; +const UNCATEGORIZED_DOCUMENT_PAGE_ID_1 = 24324; +const UNCATEGORIZED_DOCUMENT_PAGE_ID_2 = 3532; +const UNCATEGORIZED_DOCUMENT_PAGE_ID_3 = 98954; +const DOCUMENT_CATEGORY_ID_1 = 147; +const DOCUMENT_CATEGORY_ID_2 = 258; +const DOCUMENT_CATEGORY_ID_3 = 369; + export type getAppBridgeBlockStubProps = { blockSettings?: Record; blockAssets?: Record; @@ -242,15 +261,57 @@ export const getAppBridgeBlockStub = ({ updateBlockSettings: stub>().resolves(), getAllDocuments: stub>().resolves(), getUngroupedDocuments: stub>().resolves(), - getDocumentsByDocumentGroupId: stub>().resolves(), + getDocumentsByDocumentGroupId: stub>().resolves([ + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), + DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), + ]), getDocumentGroups: stub>().resolves(), getDocumentPagesByDocumentId: stub>().resolves(), - getDocumentPagesByDocumentCategoryId: - stub>().resolves(), - getDocumentCategoriesByDocumentId: - stub>().resolves(), - getUncategorizedDocumentPagesByDocumentId: - stub>().resolves(), + getDocumentPagesByDocumentCategoryId: stub< + Parameters + >().callsFake((documentCategoryId) => + Promise.resolve([ + DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_1, categoryId: documentCategoryId, sort: 1 }), + DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_2, categoryId: documentCategoryId, sort: 2 }), + DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_3, categoryId: documentCategoryId, sort: 3 }), + DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_4, categoryId: documentCategoryId, sort: 4 }), + ]), + ), + getDocumentCategoriesByDocumentId: stub< + Parameters + >().callsFake((documentId) => + Promise.resolve([ + DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages(DOCUMENT_CATEGORY_ID_1, documentId, 2), + DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages(DOCUMENT_CATEGORY_ID_2, documentId, 0), + DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages(DOCUMENT_CATEGORY_ID_3, documentId, 2), + ]), + ), + getUncategorizedDocumentPagesByDocumentId: stub< + Parameters + >().callsFake((documentId) => + Promise.resolve([ + DocumentPageDummy.withFields({ + id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, + documentId, + categoryId: null, + sort: 1, + }), + DocumentPageDummy.withFields({ + id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, + documentId, + categoryId: null, + sort: 2, + }), + DocumentPageDummy.withFields({ + id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, + documentId, + categoryId: null, + sort: 3, + }), + ]), + ), getDocumentTargets: stub>().resolves(), getDocumentPageTargets: stub>().resolves(), state: stub>().resolves(), diff --git a/packages/app-bridge/src/tests/AppBridgeThemeStub.ts b/packages/app-bridge/src/tests/AppBridgeThemeStub.ts deleted file mode 100644 index dd08751ea..000000000 --- a/packages/app-bridge/src/tests/AppBridgeThemeStub.ts +++ /dev/null @@ -1,442 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import mitt, { type Emitter } from 'mitt'; -import { type SinonStubbedInstance, spy, stub } from 'sinon'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; -import { type Asset, type ThemeTemplate } from '../types'; -import { type EmitterEvents } from '../types/Emitter'; -import { mergeDeep } from '../utilities'; - -import { GuidelineSearchResultDummy } from './GuidelineSearchResultDummy'; - -import { - AssetDummy, - BrandportalLinkDummy, - ColorDummy, - ColorPaletteDummy, - CoverPageDummy, - DocumentCategoryDummy, - DocumentDummy, - DocumentGroupDummy, - DocumentPageDummy, - DocumentPageTargetsDummy, - DocumentSectionDummy, - DocumentTargetsDummy, - UpdateTargetsDummy, -} from '.'; - -const BRAND_ID = 234551; -const PROJECT_ID = 3452; -const PORTAL_ID = 7777; -const DOCUMENT_GROUP_ID_1 = 5332; -const DOCUMENT_GROUP_ID_2 = 95694; -const DOCUMENT_GROUP_ID_3 = 345882; -const DOCUMENT_ID_1 = 6456; -const DOCUMENT_ID_2 = 34532; -const DOCUMENT_ID_3 = 3455345; -const DOCUMENT_ID_4 = 2342; -const DOCUMENT_ID_5 = 2343445; -const GROUPED_DOCUMENT_ID_1 = 2434; -const GROUPED_DOCUMENT_ID_2 = 552; -const GROUPED_DOCUMENT_ID_3 = 1145; -const GROUPED_DOCUMENT_ID_4 = 32345; -const DOCUMENT_CATEGORY_ID_1 = 147; -const DOCUMENT_CATEGORY_ID_2 = 258; -const DOCUMENT_CATEGORY_ID_3 = 369; -const DOCUMENT_PAGE_ID_1 = 23442; -const DOCUMENT_PAGE_ID_2 = 235345; -const DOCUMENT_PAGE_ID_3 = 12352; -const DOCUMENT_PAGE_ID_4 = 55221; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_1 = 24324; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_2 = 3532; -const UNCATEGORIZED_DOCUMENT_PAGE_ID_3 = 98954; -const DOCUMENT_SECTION_ID_1 = 3421; -const DOCUMENT_SECTION_ID_2 = 65725; -const DOCUMENT_SECTION_ID_3 = 95934; -const DOCUMENT_PAGE_DUPLICATE_ID_1 = 2341; -const TARGET_ID_1 = 653543; -const TARGET_ID_2 = 23411; -const TARGET_ID_3 = 56657; - -export type getAppBridgeThemeStubProps = { - editorState?: boolean; - brandId?: number; - portalId?: number; - projectId?: number; - pageTemplateSettings?: Record; - pageTemplateAssets?: Record; - themeSettings?: Record>; - themeAssets?: Record; - language?: string; - openAssetChooser?: (callback: Parameters[0]) => void; - closeAssetChooser?: () => void; -}; - -export const getAppBridgeThemeStub = ({ - editorState = false, - brandId = BRAND_ID, - portalId = PORTAL_ID, - projectId = PROJECT_ID, - pageTemplateSettings = {}, - pageTemplateAssets = {}, - themeSettings = { cover: {}, documentPage: {}, library: {} }, - themeAssets = {}, - language = 'en', - openAssetChooser = () => null, - closeAssetChooser = () => null, -}: getAppBridgeThemeStubProps = {}): SinonStubbedInstance => { - window.emitter = spy(mitt()) as unknown as Emitter; - - let localPageTemplateSettings = pageTemplateSettings; - let localThemeSettings = themeSettings; - - const deletedAssetIds: Record = {}; - const addedAssetIds: Record = {}; - - const getAssets = async (themeOrTemplateAssets: Record) => { - return Object.entries(themeOrTemplateAssets).reduce>((assetsDiff, [key, assets]) => { - const addedAssetIdsList = addedAssetIds[key] ?? []; - const deletedAssetIdsList = deletedAssetIds[key] ?? []; - assetsDiff[key] = [ - ...assets.filter((asset) => !deletedAssetIdsList.includes(asset.id)), - ...addedAssetIdsList.map((id) => AssetDummy.with(id)), - ]; - return assetsDiff; - }, {}); - }; - - const getTemplateAssets = async () => getAssets(pageTemplateAssets); - - const getThemeAssets = async () => getAssets(themeAssets); - - return { - getPortalId: stub>().returns(portalId), - getProjectId: stub>().returns(projectId), - getEditorState: stub>().returns(editorState), - getCoverPage: stub>().resolves(CoverPageDummy.with(PORTAL_ID)), - getAllDocuments: stub>().resolves([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - DocumentDummy.with(DOCUMENT_ID_4), - DocumentDummy.with(DOCUMENT_ID_5), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), - ]), - getUngroupedDocuments: stub>().resolves([ - DocumentDummy.with(DOCUMENT_ID_1), - DocumentDummy.with(DOCUMENT_ID_2), - DocumentDummy.with(DOCUMENT_ID_3), - DocumentDummy.with(DOCUMENT_ID_4), - DocumentDummy.with(DOCUMENT_ID_5), - ]), - getDocumentsByDocumentGroupId: stub>().resolves([ - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_1, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_2, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_3, DOCUMENT_GROUP_ID_1), - DocumentDummy.withDocumentGroupId(GROUPED_DOCUMENT_ID_4, DOCUMENT_GROUP_ID_1), - ]), - getDocumentGroups: stub>().resolves([ - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_1, 3), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_2, 0), - DocumentGroupDummy.with(DOCUMENT_GROUP_ID_3, 2), - ]), - getDocumentPagesByDocumentId: stub>().resolves([ - DocumentPageDummy.with(DOCUMENT_PAGE_ID_1), - DocumentPageDummy.with(DOCUMENT_PAGE_ID_2), - DocumentPageDummy.with(UNCATEGORIZED_DOCUMENT_PAGE_ID_1), - DocumentPageDummy.with(DOCUMENT_PAGE_ID_3), - DocumentPageDummy.with(UNCATEGORIZED_DOCUMENT_PAGE_ID_2), - DocumentPageDummy.with(DOCUMENT_PAGE_ID_4), - DocumentPageDummy.with(UNCATEGORIZED_DOCUMENT_PAGE_ID_3), - ]), - getDocumentPagesByDocumentCategoryId: stub< - Parameters - >().callsFake((documentCategoryId) => - Promise.resolve([ - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_1, categoryId: documentCategoryId, sort: 1 }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_2, categoryId: documentCategoryId, sort: 2 }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_3, categoryId: documentCategoryId, sort: 3 }), - DocumentPageDummy.withFields({ id: DOCUMENT_PAGE_ID_4, categoryId: documentCategoryId, sort: 4 }), - ]), - ), - getDocumentCategoriesByDocumentId: stub< - Parameters - >().callsFake((documentId) => - Promise.resolve([ - DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages(DOCUMENT_CATEGORY_ID_1, documentId, 2), - DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages(DOCUMENT_CATEGORY_ID_2, documentId, 0), - DocumentCategoryDummy.withDocumentIdAndNumberOfDocumentPages(DOCUMENT_CATEGORY_ID_3, documentId, 2), - ]), - ), - getUncategorizedDocumentPagesByDocumentId: stub< - Parameters - >().callsFake((documentId) => - Promise.resolve([ - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_1, - documentId, - categoryId: null, - sort: 1, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_2, - documentId, - categoryId: null, - sort: 2, - }), - DocumentPageDummy.withFields({ - id: UNCATEGORIZED_DOCUMENT_PAGE_ID_3, - documentId, - categoryId: null, - sort: 3, - }), - ]), - ), - getDocumentSectionsByDocumentPageId: stub< - Parameters - >().resolves([ - DocumentSectionDummy.with(DOCUMENT_SECTION_ID_1), - DocumentSectionDummy.with(DOCUMENT_SECTION_ID_2), - DocumentSectionDummy.with(DOCUMENT_SECTION_ID_3), - ]), - getColorPalettes: stub>().resolves([ - ColorPaletteDummy.with(678, 'Palette 1'), - ColorPaletteDummy.with(427, 'Palette 2'), - ColorPaletteDummy.with(679, 'Palette 3'), - ]), - getColorsByColorPaletteId: stub>().resolves([ - ColorDummy.red(9834), - ColorDummy.green(342), - ColorDummy.yellow(9314), - ]), - duplicateDocumentPage: stub>().resolves( - DocumentPageDummy.with(DOCUMENT_PAGE_DUPLICATE_ID_1), - ), - getDocumentTargets: stub>().resolves( - DocumentTargetsDummy.with(DOCUMENT_ID_1), - ), - getDocumentPageTargets: stub>().resolves( - DocumentPageTargetsDummy.with(DOCUMENT_PAGE_ID_1), - ), - addAssetIdsToCoverPageTemplateAssetKey: stub< - Parameters - >().callsFake(async (key: string, assetsIds: number[]) => { - addedAssetIds[key] = [...(addedAssetIds[key] ?? []), ...assetsIds]; - return pageTemplateAssets; - }), - addAssetIdsToThemeAssetKey: stub>().callsFake( - async (key: string, assetsIds: number[]) => { - addedAssetIds[key] = [...(addedAssetIds[key] ?? []), ...assetsIds]; - return pageTemplateAssets; - }, - ), - addAssetIdsToLibraryPageTemplateAssetKey: stub< - Parameters - >().callsFake(async (_documentId: number, key: string, assetsIds: number[]) => { - addedAssetIds[key] = [...(addedAssetIds[key] ?? []), ...assetsIds]; - return pageTemplateAssets; - }), - addAssetIdsToDocumentPageTemplateAssetKey: stub< - Parameters - >().callsFake(async (_documentPageId: number, key: string, assetsIds: number[]) => { - addedAssetIds[key] = [...(addedAssetIds[key] ?? []), ...assetsIds]; - return pageTemplateAssets; - }), - getCoverPageTemplateAssets: - stub>().callsFake(getTemplateAssets), - getThemeAssets: stub>().callsFake(getThemeAssets), - getLibraryPageTemplateAssets: - stub>().callsFake(getTemplateAssets), - getDocumentPageTemplateAssets: - stub>().callsFake(getTemplateAssets), - deleteAssetIdsFromCoverPageTemplateAssetKey: stub< - Parameters - >().callsFake(async (key, assetIds) => { - deletedAssetIds[key] = [...(deletedAssetIds[key] ?? []), ...assetIds]; - }), - deleteAssetIdsFromThemeAssetKey: stub< - Parameters - >().callsFake(async (key, assetIds) => { - deletedAssetIds[key] = [...(deletedAssetIds[key] ?? []), ...assetIds]; - }), - deleteAssetIdsFromLibraryPageTemplateAssetKey: stub< - Parameters - >().callsFake(async (_documentId: number, key, assetIds) => { - deletedAssetIds[key] = [...(deletedAssetIds[key] ?? []), ...assetIds]; - }), - deleteAssetIdsFromDocumentPageTemplateAssetKey: stub< - Parameters - >().callsFake(async (_documentPageId: number, key, assetIds) => { - deletedAssetIds[key] = [...(deletedAssetIds[key] ?? []), ...assetIds]; - }), - getCoverPageTemplateSettings: - stub>().resolves(localPageTemplateSettings), - getDocumentPageTemplateSettings: - stub>().resolves(localPageTemplateSettings), - getLibraryPageTemplateSettings: - stub>().resolves(localPageTemplateSettings), - getThemeSettings: stub>().resolves(localThemeSettings), - createLink: stub>().resolves(DocumentDummy.with(1)), - createLibrary: stub>().resolves(DocumentDummy.with(1)), - createStandardDocument: stub>().resolves( - DocumentDummy.with(1), - ), - createDocumentPage: stub>().resolves( - DocumentPageDummy.with(1), - ), - createDocumentGroup: stub>().resolves( - DocumentGroupDummy.with(1, 0), - ), - createDocumentCategory: stub>().resolves( - DocumentCategoryDummy.with(1), - ), - createCoverPage: stub>().resolves(CoverPageDummy.with(1)), - updateLink: stub>().resolves(DocumentDummy.with(1)), - updateLibrary: stub>().resolves(DocumentDummy.with(1)), - updateStandardDocument: stub>().resolves( - DocumentDummy.with(1), - ), - updateDocumentPage: stub>().resolves( - DocumentPageDummy.with(1), - ), - updateDocumentGroup: stub>().resolves( - DocumentGroupDummy.with(1, 0), - ), - updateDocumentCategory: stub>().resolves( - DocumentCategoryDummy.with(1), - ), - updateCoverPage: stub>().resolves(CoverPageDummy.with(1)), - updateLegacyCoverPage: stub>().resolves( - CoverPageDummy.withLegacy(1), - ), - updateBrandportalLink: stub>().resolves( - BrandportalLinkDummy.with(), - ), - updateCoverPageTemplateSettings: stub< - Parameters - >().callsFake(async (pageTemplateSettingsUpdate) => { - localPageTemplateSettings = mergeDeep(localPageTemplateSettings, pageTemplateSettingsUpdate); - }), - updateDocumentPageTemplateSettings: stub< - Parameters - >().callsFake(async (pageTemplateSettingsUpdate) => { - localPageTemplateSettings = mergeDeep(localPageTemplateSettings, pageTemplateSettingsUpdate); - }), - updateLibraryPageTemplateSettings: stub< - Parameters - >().callsFake(async (pageTemplateSettingsUpdate) => { - localPageTemplateSettings = mergeDeep(localPageTemplateSettings, pageTemplateSettingsUpdate); - }), - updateThemeSettings: stub>().callsFake( - async (themeSettingsUpdate) => { - localThemeSettings = mergeDeep(localThemeSettings, themeSettingsUpdate); - }, - ), - deleteCoverPage: stub>().resolves(), - deleteDocumentCategory: stub>().resolves(), - deleteDocumentGroup: stub>().resolves(), - deleteDocumentPage: stub>().resolves(), - deleteLibrary: stub>().resolves(), - deleteLink: stub>().resolves(), - deleteStandardDocument: stub>().resolves(), - getBrandId: stub>().returns(brandId), - getBrandportalLink: stub>().resolves( - BrandportalLinkDummy.with(), - ), - getTranslationLanguage: stub>().returns(language), - moveDocument: stub>().resolves(DocumentDummy.with(DOCUMENT_ID_1)), - moveDocumentCategory: stub>().resolves( - DocumentCategoryDummy.with(DOCUMENT_CATEGORY_ID_1), - ), - moveDocumentGroup: stub>().resolves( - DocumentGroupDummy.with(DOCUMENT_CATEGORY_ID_1, 0), - ), - moveDocumentPage: stub>().resolves( - DocumentPageDummy.with(DOCUMENT_PAGE_ID_1), - ), - openNavigationManager: stub>(), - updateDocumentPageTargets: stub>().resolves( - UpdateTargetsDummy.with([TARGET_ID_1, TARGET_ID_2, TARGET_ID_3]), - ), - updateDocumentTargets: stub>().resolves( - UpdateTargetsDummy.with([TARGET_ID_1, TARGET_ID_2, TARGET_ID_3]), - ), - searchInGuideline: stub>().callsFake(async (query) => { - return Promise.resolve([ - GuidelineSearchResultDummy.with(`${query}-1`), - GuidelineSearchResultDummy.with(`${query}-1`), - GuidelineSearchResultDummy.with(`${query}-3`), - ]); - }), - closeAssetChooser: stub>().callsFake(() => { - closeAssetChooser(); - }), - openAssetChooser: stub>().callsFake((callback) => { - openAssetChooser(callback); - }), - api: stub>().resolves(), - context: stub>().callsFake((args) => { - if (args === undefined) { - return { - get: () => ({ portalId, brandId, projectId, isEditing: editorState }), - }; - } else { - switch (args) { - case 'portalId': - return { - get: () => portalId, - }; - case 'brandId': - return { - get: () => brandId, - }; - case 'projectId': - return { - get: () => projectId, - }; - case 'isEditing': - return { - get: () => editorState, - }; - default: - return { - get: () => { - throw new Error(`Unknown context key: ${args}`); - }, - }; - } - } - }), - state: stub>().callsFake((args) => { - if (args === undefined) { - return { - get: () => [themeSettings], - set: () => undefined, - }; - } else { - switch (args) { - case 'settings': - return { - get: () => themeSettings, - set: () => undefined, - }; - default: - return { - get: () => { - throw new Error(`Unknown context key: ${args}`); - }, - set: () => { - throw new Error(`Unknown context key: ${args}`); - }, - }; - } - } - }), - subscribe: stub>().resolves(), - dispatch: stub>().resolves(), - }; -}; diff --git a/packages/app-bridge/src/tests/BrandportalLinkApiDummy.ts b/packages/app-bridge/src/tests/BrandportalLinkApiDummy.ts deleted file mode 100644 index 77079584a..000000000 --- a/packages/app-bridge/src/tests/BrandportalLinkApiDummy.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type BrandportalLinkApi } from '../types'; - -export class BrandportalLinkApiDummy { - static get(): BrandportalLinkApi { - return { - brand_portal: { - enabled: true, - label: 'Brandportal Link', - url: '/url', - }, - }; - } -} diff --git a/packages/app-bridge/src/tests/BrandportalLinkDummy.ts b/packages/app-bridge/src/tests/BrandportalLinkDummy.ts deleted file mode 100644 index adf7bcc2b..000000000 --- a/packages/app-bridge/src/tests/BrandportalLinkDummy.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type BrandportalLink } from '../types'; -import { convertObjectCase } from '../utilities'; - -import { BrandportalLinkApiDummy } from './BrandportalLinkApiDummy'; - -export class BrandportalLinkDummy { - static with(fields?: Partial): BrandportalLink { - return { ...convertObjectCase(BrandportalLinkApiDummy.get().brand_portal, 'camel'), ...fields }; - } -} diff --git a/packages/app-bridge/src/tests/CoverPageDummy.ts b/packages/app-bridge/src/tests/CoverPageDummy.ts index a6d608638..4958f9897 100644 --- a/packages/app-bridge/src/tests/CoverPageDummy.ts +++ b/packages/app-bridge/src/tests/CoverPageDummy.ts @@ -1,10 +1,15 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type CoverPage, type CoverPageUpdateLegacy } from '../types'; +import { type CoverPage } from '../types'; import { convertObjectCase } from '../utilities'; import { CoverPageApiDummy } from './CoverPageApiDummy'; +type CoverPageUpdateLegacy = { + brandhome_draft?: boolean; + brandhome_title?: string; + brandhome_hide_in_nav?: boolean; +}; export class CoverPageDummy { static with(id: number, title = 'Cover Page Name'): CoverPage { const coverPageApi = CoverPageApiDummy.with(id, title); diff --git a/packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts b/packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts deleted file mode 100644 index e976c928c..000000000 --- a/packages/app-bridge/src/tests/DocumentNavigationTreeDummy.ts +++ /dev/null @@ -1,140 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - type DocumentNavigationItem, - type GuidelineDocumentPageHeading, - type GuidelineDocumentPage, - type GuidelineDocumentPageLink, - type GuidelinePageCategory, -} from '../types'; - -class DocumentPageCategoryDummy implements GuidelinePageCategory { - readonly type = 'page-category' as const; - - readonly #id: number; - readonly #children: (GuidelineDocumentPage | GuidelineDocumentPageLink)[]; - - constructor(id: number, children?: (GuidelineDocumentPage | GuidelineDocumentPageLink)[]) { - this.#id = id; - this.#children = children ?? []; - } - - id(): number { - return this.#id; - } - - title(): string { - return 'Dummy title'; - } - - slug(): string { - return 'dummy slug'; - } - - children(): (GuidelineDocumentPage | GuidelineDocumentPageLink)[] { - return this.#children; - } -} - -class DocumentPageDummy implements GuidelineDocumentPage { - readonly type = 'document-page' as const; - - readonly #id: number; - readonly #headings: GuidelineDocumentPageHeading[]; - - constructor(id: number, headings?: GuidelineDocumentPageHeading[]) { - this.#id = id ?? 1234; - this.#headings = headings ?? []; - } - - id(): number { - return this.#id; - } - - title(): string { - return 'Dummy title'; - } - - slug(): string { - return 'dummy slug'; - } - - url(): string { - return 'dummy url'; - } - - headings(): GuidelineDocumentPageHeading[] { - return this.#headings; - } -} - -class DocumentPageLinkDummy implements GuidelineDocumentPageLink { - readonly type = 'document-page-link' as const; - - readonly #id: number; - - constructor(id: number) { - this.#id = id; - } - - id(): number { - return this.#id; - } - - title(): string { - return 'Dummy title'; - } - - url(): string { - return 'dummy url'; - } -} - -class DocumentPageHeadingDummy implements GuidelineDocumentPageHeading { - readonly type = 'document-page-heading' as const; - - readonly #id; - - constructor(id: number) { - this.#id = id; - } - - id(): number { - return this.#id; - } - - title(): string { - return 'Dummy title'; - } - - slug(): string { - return 'dummy slug'; - } -} - -export class DocumentNavigationTreeDummy { - static default(): DocumentNavigationItem[] { - return [ - new DocumentPageCategoryDummy(1, [ - new DocumentPageDummy(1, [ - new DocumentPageHeadingDummy(1), - new DocumentPageHeadingDummy(2), - new DocumentPageHeadingDummy(3), - ]), - new DocumentPageLinkDummy(2), - ]), - new DocumentPageDummy(3), - ]; - } - - static alternative(): DocumentNavigationItem[] { - return [ - new DocumentPageCategoryDummy(1, [ - new DocumentPageDummy(1, [new DocumentPageHeadingDummy(2), new DocumentPageHeadingDummy(3)]), - new DocumentPageLinkDummy(2), - ]), - new DocumentPageDummy(2, [new DocumentPageHeadingDummy(1)]), - new DocumentPageLinkDummy(6), - ]; - } -} diff --git a/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts b/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts deleted file mode 100644 index b22f5085f..000000000 --- a/packages/app-bridge/src/tests/GuidelineSearchResultApiDummy.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type GuidelineSearchResultApi } from '../types'; - -export class GuidelineSearchResultApiDummy { - static with(query: string): GuidelineSearchResultApi { - return { - highlights: [query], - type: 'BLOCK', - object_id: 1, - page_id: 1, - page_slug: 'page-slug', - page_title: 'Page Title', - page_category_slug: 'page-category-slug', - block_id: 1, - document_id: 1, - document_slug: 'document-slug', - document_title: 'Document Title', - guideline_title: 'Guideline Title', - portal_id: 1, - portal_token: 'portal-token', - section_id: null, - section_slug: null, - section_title: null, - color_hex: undefined, - project_color_id: undefined, - }; - } -} diff --git a/packages/app-bridge/src/tests/GuidelineSearchResultDummy.ts b/packages/app-bridge/src/tests/GuidelineSearchResultDummy.ts deleted file mode 100644 index 822c8b9a4..000000000 --- a/packages/app-bridge/src/tests/GuidelineSearchResultDummy.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type GuidelineSearchResult } from '../types'; -import { convertObjectCase } from '../utilities'; - -import { GuidelineSearchResultApiDummy } from './GuidelineSearchResultApiDummy'; - -export class GuidelineSearchResultDummy { - static with(query: string): GuidelineSearchResult { - return convertObjectCase(GuidelineSearchResultApiDummy.with(query), 'camel'); - } -} diff --git a/packages/app-bridge/src/tests/PortalNavigationTreeDummy.ts b/packages/app-bridge/src/tests/PortalNavigationTreeDummy.ts deleted file mode 100644 index d414ea0f7..000000000 --- a/packages/app-bridge/src/tests/PortalNavigationTreeDummy.ts +++ /dev/null @@ -1,234 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { - type GuidelineDocument, - type GuidelineDocumentGroup, - type GuidelineDocumentLibrary, - type GuidelineDocumentLink, - LinkSettingsDisplay, - LinkSettingsIconPosition, - type GuidelineCoverPage, - type PortalNavigationItem, -} from '../types'; - -class GuidelineCoverPageClass implements GuidelineCoverPage { - readonly type = 'cover-page' as const; - readonly #id: number; - readonly #title: string; - readonly #isPublished: boolean = false; - readonly #isHiddenFromNavigation: boolean = false; - - constructor(id: number, title: string, published: boolean, hiddenFromNavigation: boolean) { - this.#id = id; - this.#title = title; - this.#isPublished = published; - this.#isHiddenFromNavigation = hiddenFromNavigation; - } - - id() { - return this.#id; - } - title(language?: string) { - return `${this.#title} - ${language ?? 'default'}`; - } - isPublished() { - return this.#isPublished ?? false; - } - isHiddenInNavigation() { - return this.#isHiddenFromNavigation ?? false; - } - url(language?: string) { - return `http://domain.com/hub/${language ?? 'default'}/${this.#id}`; - } -} - -class GuidelineDocumentGroupClass implements GuidelineDocumentGroup { - readonly type = 'document-group' as const; - readonly #id: number; - readonly #title: string; - readonly #children: (GuidelineDocument | GuidelineDocumentLibrary | GuidelineDocumentLink)[] = []; - - constructor( - id: number, - title: string, - children: (GuidelineDocument | GuidelineDocumentLibrary | GuidelineDocumentLink)[], - ) { - this.#id = id; - this.#title = title; - this.#children = children; - } - - id() { - return this.#id; - } - title(language?: string) { - return `${this.#title} - ${language ?? 'default'}`; - } - children() { - return this.#children ?? []; - } -} - -export class GuidelineDocumentClass implements GuidelineDocument { - readonly type = 'document' as const; - readonly #id: number; - readonly #title: string; - readonly #parent: Nullable; - - constructor(id: number, title: string, parent: Nullable = null) { - this.#id = id; - this.#title = title; - this.#parent = parent; - } - - id() { - return this.#id; - } - title(language?: string) { - return `${this.#title} - ${language ?? 'default'}`; - } - slug(language?: string) { - return `${this.#title.toLowerCase().replace(' ', '-')}-${language ?? 'default'}`; - } - url(language?: string) { - return `http://domain.com/document/${this.#id}/${language ?? 'default'}/`; - } - parentId() { - return this.#parent; - } -} - -class GuidelineDocumentLibraryClass implements GuidelineDocumentLibrary { - readonly type = 'document-library' as const; - readonly #id: number; - readonly #title: string; - readonly #parent: Nullable; - - constructor(id: number, title: string, parent: Nullable = null) { - this.#id = id; - this.#title = title; - this.#parent = parent; - } - - id() { - return this.#id; - } - title(language?: string) { - return `${this.#title} - ${language ?? 'default'}`; - } - slug(language?: string) { - return `${this.#title.toLowerCase().replace(' ', '-')}-${language ?? 'default'}`; - } - url(language?: string) { - return `http://domain.com/document/${this.#id}/${language ?? 'default'}/`; - } - parentId() { - return this.#parent; - } -} - -class GuidelineDocumentLinkClass implements GuidelineDocumentLink { - readonly type = 'document-link' as const; - readonly #id: number; - readonly #title: string; - readonly #displayMode: LinkSettingsDisplay = LinkSettingsDisplay.TextOnly; - readonly #icoPosition: LinkSettingsIconPosition = LinkSettingsIconPosition.Left; - readonly #openNewTab: boolean = true; - readonly #parent: Nullable; - - constructor(id: number, title: string, parent: Nullable = null) { - this.#id = id; - this.#title = title; - this.#parent = parent; - } - - id() { - return this.#id; - } - title(language?: string) { - return `${this.#title} - ${language ?? 'default'}`; - } - url() { - return 'http://some-external-domain.com/page'; - } - - displayMode() { - return this.#displayMode; - } - iconPosition() { - return this.#icoPosition; - } - customIconUrl() { - return null; - } - shouldOpenInNewTab() { - return this.#openNewTab; - } - parentId() { - return this.#parent; - } -} - -class GuidelineCoverPageClassDummy { - static with( - id: number, - title = 'Cover Page Name', - published = false, - hiddenFromNavigation = false, - ): GuidelineCoverPageClass { - return new GuidelineCoverPageClass(id, title, published, hiddenFromNavigation); - } -} - -class GuidelineDocumentGroupClassDummy { - static with( - id: number, - title = 'guideline document group', - children: (GuidelineDocumentClass | GuidelineDocumentLibraryClass | GuidelineDocumentLinkClass)[] = [], - ): GuidelineDocumentGroupClass { - return new GuidelineDocumentGroupClass(id, title, children); - } -} - -export class GuidelineDocumentClassDummy { - static with(id: number, title = 'guideline document', parentId: Nullable = null): GuidelineDocumentClass { - return new GuidelineDocumentClass(id, title, parentId); - } -} - -class GuidelineDocumentLibraryClassDummy { - static with( - id: number, - title = 'guideline document library', - parentId: Nullable = null, - ): GuidelineDocumentLibraryClass { - return new GuidelineDocumentLibraryClass(id, title, parentId); - } -} - -class GuidelineDocumentLinkClassDummy { - static with( - id: number, - title = 'guideline document library', - parentId: Nullable = null, - ): GuidelineDocumentLinkClass { - return new GuidelineDocumentLinkClass(id, title, parentId); - } -} - -export class PortalNavigationTreeDummy { - static default(): PortalNavigationItem[] { - return [ - GuidelineCoverPageClassDummy.with(5, 'the Cover Page', true, false), - GuidelineDocumentClassDummy.with(101, 'document-101'), - GuidelineDocumentClassDummy.with(102, 'document-102'), - GuidelineDocumentGroupClassDummy.with(200, 'document-group-200', [ - GuidelineDocumentClassDummy.with(201, 'document-201', 200), - GuidelineDocumentClassDummy.with(202, 'document-203', 200), - GuidelineDocumentClassDummy.with(204, 'document-204', 200), - ]), - GuidelineDocumentLinkClassDummy.with(111, 'document-link-111'), - GuidelineDocumentLibraryClassDummy.with(121, 'document-library-121'), - ]; - } -} diff --git a/packages/app-bridge/src/tests/index.ts b/packages/app-bridge/src/tests/index.ts index 4cf181961..fdd0078ed 100644 --- a/packages/app-bridge/src/tests/index.ts +++ b/packages/app-bridge/src/tests/index.ts @@ -1,13 +1,10 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './AppBridgeBlockStub'; -export * from './AppBridgeThemeStub'; export * from './AssetApiDummy'; export * from './AssetChooserOptionsDummy'; export * from './AssetChooserResultDummy'; export * from './AssetDummy'; -export * from './BrandportalLinkApiDummy'; -export * from './BrandportalLinkDummy'; export * from './BulkDownloadDummy'; export * from './ColorApiDummy'; export * from './ColorDummy'; @@ -25,8 +22,6 @@ export * from './DocumentPageApiDummy'; export * from './DocumentPageDummy'; export * from './DocumentSectionApiDummy'; export * from './DocumentSectionDummy'; -export * from './GuidelineSearchResultApiDummy'; -export * from './GuidelineSearchResultDummy'; export * from './HttpUtilResponseDummy'; export * from './TargetsApiDummy'; export * from './TargetsDummy'; @@ -36,6 +31,3 @@ export * from './TemplateDummy'; export * from './UserApiDummy'; export * from './UserDummy'; export * from './withAppBridgeBlockStubs'; -export * from './withAppBridgeThemeStubs'; -export * from './PortalNavigationTreeDummy'; -export * from './DocumentNavigationTreeDummy'; diff --git a/packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx b/packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx deleted file mode 100644 index 5dc2e2b21..000000000 --- a/packages/app-bridge/src/tests/withAppBridgeThemeStubs.tsx +++ /dev/null @@ -1,24 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type ComponentType } from 'react'; - -import { type AppBridgeTheme } from '../AppBridgeTheme'; - -import { getAppBridgeThemeStub, type getAppBridgeThemeStubProps } from './AppBridgeThemeStub'; - -type withAppBridgeThemeStubsProps = { appBridge: AppBridgeTheme }; - -export function withAppBridgeThemeStubs( - WrappedComponent: ComponentType, - appBridgeProps?: getAppBridgeThemeStubProps, -): [ComponentType>, ReturnType] { - const appBridge = getAppBridgeThemeStub(appBridgeProps ?? {}); - const ComponentWithAppBridgeStubs = (props: Omit) => { - return ; - }; - - const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; - ComponentWithAppBridgeStubs.displayName = `withAppBridgeThemeStubs(${displayName})`; - - return [ComponentWithAppBridgeStubs, appBridge]; -} diff --git a/packages/app-bridge/src/types/BrandportalLink.ts b/packages/app-bridge/src/types/BrandportalLink.ts deleted file mode 100644 index 286d4d28e..000000000 --- a/packages/app-bridge/src/types/BrandportalLink.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type BrandportalLinkApi = { - brand_portal: { - enabled: boolean; - label: string; - url: string; - }; -}; - -export type BrandportalLink = BrandportalLinkApi['brand_portal']; diff --git a/packages/app-bridge/src/types/CoverPage.ts b/packages/app-bridge/src/types/CoverPage.ts index 9660b1458..55c0ee2fb 100644 --- a/packages/app-bridge/src/types/CoverPage.ts +++ b/packages/app-bridge/src/types/CoverPage.ts @@ -31,12 +31,3 @@ export type CoverPage = Merge< enabled: boolean; } >; - -export type CoverPageCreate = PickRequired, 'id'>, 'documentId' | 'template'>; -export type CoverPageUpdate = RequireOnlyOne; - -export type CoverPageUpdateLegacy = { - brandhome_draft?: boolean; - brandhome_title?: string; - brandhome_hide_in_nav?: boolean; -}; diff --git a/packages/app-bridge/src/types/DispatchHandler.ts b/packages/app-bridge/src/types/DispatchHandler.ts index 87f968352..90328eee0 100644 --- a/packages/app-bridge/src/types/DispatchHandler.ts +++ b/packages/app-bridge/src/types/DispatchHandler.ts @@ -8,7 +8,6 @@ export type DispatchPayload = { openAssetViewer: { token: string }; openTemplateChooser: void; closeTemplateChooser: void; - openNavigationManager: void; openNewPublication: OpenNewPublicationPayload; }; diff --git a/packages/app-bridge/src/types/Document.ts b/packages/app-bridge/src/types/Document.ts index 1dc311e51..2ab798f22 100644 --- a/packages/app-bridge/src/types/Document.ts +++ b/packages/app-bridge/src/types/Document.ts @@ -30,7 +30,7 @@ type DocumentApiAsNoneLink = { link_url: Nullable; }; -export type DocumentLinkSettingsApi = { +type DocumentLinkSettingsApi = { new_tab: boolean; display?: LinkSettingsDisplay; icon_position?: LinkSettingsIconPosition; diff --git a/packages/app-bridge/src/types/Emitter.ts b/packages/app-bridge/src/types/Emitter.ts index dab5f3718..a5d0db567 100644 --- a/packages/app-bridge/src/types/Emitter.ts +++ b/packages/app-bridge/src/types/Emitter.ts @@ -3,10 +3,8 @@ import { type BlockSettingsUpdateEvent } from '../react/useBlockSettings'; import { type Asset } from './Asset'; -import { type BrandportalLink } from './BrandportalLink'; import { type Color } from './Color'; import { type ColorPalette } from './ColorPalette'; -import { type CoverPage } from './CoverPage'; import { type Document } from './Document'; import { type DocumentCategory } from './DocumentCategory'; import { type DocumentGroup } from './DocumentGroup'; @@ -19,13 +17,10 @@ import { import { type PrivacySettings } from './PrivacySettings'; import { type Template } from './Template'; import { type AssetViewerOptions } from './Terrific'; -import { type ThemeTemplate } from './ThemeTemplate'; export type EmitterAction = 'add' | 'update' | 'delete'; export type EmitterEvents = { - 'AppBridge:PageTemplateSettingsUpdated': { pageTemplateSettings: Record }; - 'AppBridge:ThemeSettingsUpdated': { themeSettings: Record> }; 'AppBridge:BlockSettingsUpdated': BlockSettingsUpdateEvent; 'AppBridge:BlockAssetsUpdated': { @@ -34,21 +29,6 @@ export type EmitterEvents = { prevBlockAssets: Record; }; - 'AppBridge:TemplateAssetsUpdated': { - template: ThemeTemplate; - documentId?: number; - documentPageId?: number; - templateAssets: Record; - prevTemplateAssets: Record; - }; - - 'AppBridge:ThemeAssetsUpdated': { - portalId: number; - themeAssets: Record; - prevThemeAssets: Record; - template: ThemeTemplate; - }; - 'AppBridge:BlockTemplatesUpdated': { blockId: number; blockTemplates: Record; @@ -87,27 +67,10 @@ export type EmitterEvents = { action: 'delete'; }; - 'AppBridge:GuidelineCoverPage:Action': - | { - coverPage: CoverPage; - action: 'add' | 'update'; - } - | { - action: 'delete'; - }; - - 'AppBridge:GuidelineBrandportalLink:Action': { - brandportalLink: BrandportalLink; - action: 'update'; - }; - 'AppBridge:PrivacySettingsChanged': PrivacySettings; 'AppBridge:OpenNavigationManager': void; - 'AppBridge:OpenSearchDialog': void; - 'AppBridge:CloseSearchDialog': void; - 'AppBridge:GuidelineDocumentPage:Action': | { documentPage: DocumentPage; diff --git a/packages/app-bridge/src/types/Guideline.ts b/packages/app-bridge/src/types/Guideline.ts deleted file mode 100644 index 26c09120f..000000000 --- a/packages/app-bridge/src/types/Guideline.ts +++ /dev/null @@ -1,93 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type LinkSettingsDisplay, type LinkSettingsIconPosition } from './Document.ts'; - -export interface GuidelineCoverPage { - id(): number; - title(language?: string): string; - isPublished(): boolean; - isHiddenInNavigation(): boolean; - url(language?: string): string; - type: 'cover-page'; -} - -export interface GuidelineDocumentGroup { - id(): number; - title(language?: string): string; - children(): (GuidelineDocument | GuidelineDocumentLibrary | GuidelineDocumentLink)[]; - type: 'document-group'; -} - -export interface GuidelineDocument { - id(): number; - title(language?: string): string; - slug(language?: string): string; - url(language?: string): string; - parentId(): Nullable; - type: 'document'; -} - -export interface GuidelineDocumentLibrary { - id(): number; - title(language?: string): string; - slug(language?: string): string; - url(language?: string): string; - parentId(): Nullable; - type: 'document-library'; -} - -export interface GuidelineDocumentLink { - id(): number; - title(language?: string): string; - url(): string; - displayMode(): LinkSettingsDisplay; - iconPosition(): LinkSettingsIconPosition; - customIconUrl(): Nullable; - shouldOpenInNewTab(): boolean; - parentId(): Nullable; - type: 'document-link'; -} - -export interface GuidelinePageCategory { - id(): number; - title(language?: string): string; - slug(language?: string): string; - children(): (GuidelineDocumentPage | GuidelineDocumentPageLink)[]; - type: 'page-category'; -} - -export interface GuidelineDocumentPage { - id(): number; - title(language?: string): string; - slug(language?: string): string; - url(language?: string): string; - headings(): GuidelineDocumentPageHeading[]; - type: 'document-page'; -} - -export interface GuidelineDocumentPageLink { - id(): number; - title(language?: string): string; - url(): string; - type: 'document-page-link'; -} - -export interface GuidelineDocumentPageHeading { - id(): number; - title(language?: string): string; - slug(language?: string): string; - type: 'document-page-heading'; -} - -export type PortalNavigationItem = - | GuidelineCoverPage - | GuidelineDocumentGroup - | GuidelineDocument - | GuidelineDocumentLibrary - | GuidelineDocumentLink; - -export type DocumentNavigationItem = - | GuidelinePageCategory - | GuidelineDocumentPage - | GuidelineDocumentPageLink - | GuidelineDocumentPageHeading; diff --git a/packages/app-bridge/src/types/GuidelineSearchResult.ts b/packages/app-bridge/src/types/GuidelineSearchResult.ts deleted file mode 100644 index 3b39d72e9..000000000 --- a/packages/app-bridge/src/types/GuidelineSearchResult.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type CamelCasedPropertiesDeep } from 'type-fest'; - -export const GuidelineSearchResultTypeMap = { - block: 'BLOCK', - section: 'SECTION', - page: 'PAGE', - color: 'COLOR', -} as const; -type GuidelineSearchResultType = (typeof GuidelineSearchResultTypeMap)[keyof typeof GuidelineSearchResultTypeMap]; - -export type GuidelineSearchResultApi = { - highlights: string[]; - type: GuidelineSearchResultType; - object_id: number; - page_id: number; - page_slug: string; - page_title: string; - page_category_slug: string | null; - block_id: number; - document_id: number; - document_slug: string; - document_title: string; - guideline_title: string; - portal_id: number; - portal_token: string | null; - section_id: string | null; - section_slug: string | null; - section_title: string | null; - color_hex?: string; - project_color_id?: string; -}; - -export type GuidelineSearchResult = CamelCasedPropertiesDeep; diff --git a/packages/app-bridge/src/types/Language.ts b/packages/app-bridge/src/types/Language.ts deleted file mode 100644 index ea2838728..000000000 --- a/packages/app-bridge/src/types/Language.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type Language = { - /** - * The language code in ISO 639-1 format. - */ - isoCode: string; - - /** - * The name of the language. - */ - name: string; - - /** - * Indicates whether the language is the default language. - */ - isDefault: boolean; - - /** - * Indicates whether the language is in draft state. - */ - isDraft: boolean; -}; diff --git a/packages/app-bridge/src/types/Project.ts b/packages/app-bridge/src/types/Project.ts deleted file mode 100644 index 6a65d7aff..000000000 --- a/packages/app-bridge/src/types/Project.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -import { type CamelCasedPropertiesDeep } from 'type-fest'; - -import { type DocumentLibraryMode } from './Document'; - -export type ProjectApi = { - id: number; - created: string; - creator: number; - name: string; - slug: string; - account: number; - token: string; - email_notification: number; - user_count: number; - brand_id: number; - project_type: string; - auto_tagging_enabled: Nullable; - date_begin: Nullable; - date_end: Nullable; - is_template: number; - download_sizes: string; - zoom_level: string; - success: boolean; - project: { - id: number; - url: string; - slug: string; - creator: number; - creator_name: string; - creator_initials: string; - name: string; - description: Nullable; - account: number; - }; -}; - -export type ProjectCreateApi = { - name: string; - brand: number; - styleguide: number; - project_type: DocumentLibraryMode; -}; - -export type Project = CamelCasedPropertiesDeep; - -export type ProjectCreate = CamelCasedPropertiesDeep; diff --git a/packages/app-bridge/src/types/ThemeTemplate.ts b/packages/app-bridge/src/types/ThemeTemplate.ts deleted file mode 100644 index 1b3df14e9..000000000 --- a/packages/app-bridge/src/types/ThemeTemplate.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -export type ThemeTemplate = 'documentPage' | 'cover' | 'library'; diff --git a/packages/app-bridge/src/types/index.ts b/packages/app-bridge/src/types/index.ts index c9995b19a..2a059c20e 100644 --- a/packages/app-bridge/src/types/index.ts +++ b/packages/app-bridge/src/types/index.ts @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ export * from './Asset'; -export * from './BrandportalLink'; export * from './BulkDownload'; export * from './Color'; export * from './ColorPalette'; @@ -18,17 +17,12 @@ export * from './File'; export * from './FileExtension'; export * from './FileExtensionSets'; export * from './FileType'; -export * from './Guideline'; -export * from './GuidelineSearchResult'; -export * from './Language'; export * from './PageTemplateAsset'; export * from './PrivacySettings'; -export * from './Project'; export * from './SubscriptionHandler'; export * from './Targets'; export * from './TemplateLegacy'; export * from './Template'; export * from './Terrific'; -export * from './ThemeTemplate'; export * from './Topic'; export * from './User'; From 062d954060e32a6deb45c2bfd332f91846a65aef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:17:58 +0200 Subject: [PATCH 181/327] chore: release packages (alpha) (#1240) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 0261552bf..419af1d3e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -85,6 +85,7 @@ "tasty-coins-jam", "tasty-vans-cough", "ten-guests-wash", + "thirty-eggs-judge", "thirty-pears-lay", "three-avocados-push", "tough-nails-shout", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f325072a1..f5f66b15e 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.42 + +### Patch Changes + +- [#1237](https://github.com/Frontify/brand-sdk/pull/1237) [`eb6822d`](https://github.com/Frontify/brand-sdk/commit/eb6822d507e6a96a77725cb4aeb16d26846b72ee) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor: Removed `appBridgeTheme` from the `@frontify/app-bridge` package. It is now provided via the `@frontify/app-bridge-theme` package. + ## 4.0.0-alpha.41 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index c01a87db5..dbd5da2a0 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.41", + "version": "4.0.0-alpha.42", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 8fc41efdd7a98081e912c19f12633891fd4d4eb3 Mon Sep 17 00:00:00 2001 From: Oliver Eisenhut Date: Tue, 8 Jul 2025 08:41:15 +0200 Subject: [PATCH 182/327] feat(app): Enable to pass preview features to the GQL calls (#1248) * Enable to pass preview features to the GQL calls * Create heavy-cats-lay.md --- .changeset/heavy-cats-lay.md | 5 +++++ packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/heavy-cats-lay.md diff --git a/.changeset/heavy-cats-lay.md b/.changeset/heavy-cats-lay.md new file mode 100644 index 000000000..0453eeadd --- /dev/null +++ b/.changeset/heavy-cats-lay.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-app": patch +--- + +feat(app): Enable to pass preview features to the GQL calls diff --git a/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts b/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts index 1caacc70c..2ab25ab63 100644 --- a/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts +++ b/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts @@ -8,6 +8,7 @@ export type ExecuteGraphQlPayload = { * Attention: All Beta APIs can and will change without any warning. Be advised not to use those in production, see them as a preview of what is to come. */ beta?: boolean; + previewFeatures?: string[]; }; export type ExecuteGraphQlResponse = Record; From f8be8cf6c5afb42b2dcec780414f8db7565b0b23 Mon Sep 17 00:00:00 2001 From: Oliver Eisenhut Date: Tue, 8 Jul 2025 08:47:17 +0200 Subject: [PATCH 183/327] Revert "feat(app): Enable to pass preview features to the GQL calls (#1248)" (#1249) This reverts commit 8fc41efdd7a98081e912c19f12633891fd4d4eb3. --- .changeset/heavy-cats-lay.md | 5 ----- packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts | 1 - 2 files changed, 6 deletions(-) delete mode 100644 .changeset/heavy-cats-lay.md diff --git a/.changeset/heavy-cats-lay.md b/.changeset/heavy-cats-lay.md deleted file mode 100644 index 0453eeadd..000000000 --- a/.changeset/heavy-cats-lay.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@frontify/app-bridge-app": patch ---- - -feat(app): Enable to pass preview features to the GQL calls diff --git a/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts b/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts index 2ab25ab63..1caacc70c 100644 --- a/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts +++ b/packages/app-bridge-app/src/registries/api/ExecuteGraphQl.ts @@ -8,7 +8,6 @@ export type ExecuteGraphQlPayload = { * Attention: All Beta APIs can and will change without any warning. Be advised not to use those in production, see them as a preview of what is to come. */ beta?: boolean; - previewFeatures?: string[]; }; export type ExecuteGraphQlResponse = Record; From 010b72ca227278bcb4e0eadaf70252791f037532 Mon Sep 17 00:00:00 2001 From: Daniel Fulop Date: Tue, 12 Aug 2025 11:06:27 +0200 Subject: [PATCH 184/327] Feat/add focal point to asset (#1268) * feat(Asset): add focal point to asset * add changeset --- .changeset/angry-scissors-tap.md | 5 +++++ packages/app-bridge/src/repositories/AssetRepository.ts | 2 ++ packages/app-bridge/src/tests/AssetApiDummy.ts | 2 ++ packages/app-bridge/src/tests/AssetChooserResultDummy.ts | 2 ++ packages/app-bridge/src/tests/AssetDummy.ts | 2 ++ packages/app-bridge/src/types/Asset.ts | 4 ++++ 6 files changed, 17 insertions(+) create mode 100644 .changeset/angry-scissors-tap.md diff --git a/.changeset/angry-scissors-tap.md b/.changeset/angry-scissors-tap.md new file mode 100644 index 000000000..7c8580ea5 --- /dev/null +++ b/.changeset/angry-scissors-tap.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge": patch +--- + +feat(Asset): added the focal point properties diff --git a/packages/app-bridge/src/repositories/AssetRepository.ts b/packages/app-bridge/src/repositories/AssetRepository.ts index 0ee863fa6..ad1e3fe71 100644 --- a/packages/app-bridge/src/repositories/AssetRepository.ts +++ b/packages/app-bridge/src/repositories/AssetRepository.ts @@ -38,5 +38,7 @@ export const mapAssetApiToAsset = (asset: AssetApi): Asset => { revisionId: asset.revision_id, backgroundColor: asset.background_color, isDownloadProtected: asset.is_download_protected, + focalPointX: asset.focal_point_x, + focalPointY: asset.focal_point_y, }; }; diff --git a/packages/app-bridge/src/tests/AssetApiDummy.ts b/packages/app-bridge/src/tests/AssetApiDummy.ts index 8d50abf43..48594f75c 100644 --- a/packages/app-bridge/src/tests/AssetApiDummy.ts +++ b/packages/app-bridge/src/tests/AssetApiDummy.ts @@ -29,6 +29,8 @@ export class AssetApiDummy { revision_id: 1, background_color: 'rgba(115, 210, 210, 255)', is_download_protected: false, + focal_point_x: 0.5, + focal_point_y: 0.5, }; } } diff --git a/packages/app-bridge/src/tests/AssetChooserResultDummy.ts b/packages/app-bridge/src/tests/AssetChooserResultDummy.ts index fabe32a57..d74acc734 100644 --- a/packages/app-bridge/src/tests/AssetChooserResultDummy.ts +++ b/packages/app-bridge/src/tests/AssetChooserResultDummy.ts @@ -29,6 +29,8 @@ export class AssetChooserResultDummy { revision_id: 1, background_color: 'rgba(115, 210, 210, 255)', is_download_protected: false, + focal_point_x: 0.5, + focal_point_y: 0.5, }; } } diff --git a/packages/app-bridge/src/tests/AssetDummy.ts b/packages/app-bridge/src/tests/AssetDummy.ts index 7f25d37c4..4199b696d 100644 --- a/packages/app-bridge/src/tests/AssetDummy.ts +++ b/packages/app-bridge/src/tests/AssetDummy.ts @@ -28,6 +28,8 @@ export class AssetDummy { revisionId: 1, backgroundColor: 'rgba(115, 210, 210, 255)', isDownloadProtected: false, + focalPointX: 0.5, + focalPointY: 0.5, }; } } diff --git a/packages/app-bridge/src/types/Asset.ts b/packages/app-bridge/src/types/Asset.ts index 203a45831..3af06ca27 100644 --- a/packages/app-bridge/src/types/Asset.ts +++ b/packages/app-bridge/src/types/Asset.ts @@ -25,6 +25,8 @@ export type AssetApi = { revision_id: Nullable; background_color: Nullable; is_download_protected: boolean; + focal_point_x: Nullable; + focal_point_y: Nullable; }; export type Asset = { @@ -51,4 +53,6 @@ export type Asset = { revisionId: Nullable; backgroundColor: Nullable; isDownloadProtected: boolean; + focalPointX: Nullable; + focalPointY: Nullable; }; From f22e796cf186539a04d789b625a7b36eb96c0376 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 11:14:19 +0200 Subject: [PATCH 185/327] chore: release packages (alpha) (#1269) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/app-bridge/CHANGELOG.md | 6 ++++++ packages/app-bridge/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 419af1d3e..8b6119a88 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -14,6 +14,7 @@ "changesets": [ "angry-dolphins-fry", "angry-hairs-enjoy", + "angry-scissors-tap", "brave-queens-smile", "brave-queens-work", "calm-candles-wink", diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index f5f66b15e..af84512eb 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/app-bridge +## 4.0.0-alpha.43 + +### Patch Changes + +- [#1268](https://github.com/Frontify/brand-sdk/pull/1268) [`010b72c`](https://github.com/Frontify/brand-sdk/commit/010b72ca227278bcb4e0eadaf70252791f037532) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Asset): added the focal point properties + ## 4.0.0-alpha.42 ### Patch Changes diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index dbd5da2a0..afbc9f203 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge", "type": "module", - "version": "4.0.0-alpha.42", + "version": "4.0.0-alpha.43", "description": "Package to establish communication between Frontify and marketplace apps", "author": "Frontify Developers ", "repository": { From 8a81ba2445f5d13b55a106d2c3845b6316e79c4f Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Thu, 4 Sep 2025 08:33:23 +0200 Subject: [PATCH 186/327] chore: bump deps also on dev branch (#1284) * chore: bump deps on alpha * add changeset --- .changeset/hip-trees-leave.md | 7 + .../app-bridge-continuous-integration.yml | 6 +- .../workflows/cli-continuous-integration.yml | 2 +- .nvmrc | 2 +- cypress/support/component.ts | 25 + cypress/support/structuredClone.ts | 1 + package.json | 31 +- packages/app-bridge-app/.eslintrc.cjs | 59 - packages/app-bridge-app/.prettierrc | 7 +- packages/app-bridge-app/CHANGELOG.md | 62 +- packages/app-bridge-app/eslint.config.mjs | 57 + packages/app-bridge-app/package.json | 30 +- .../src/AppBridgePlatformApp.ts | 2 +- .../src/react/renderReactApp.spec.tsx | 4 +- packages/app-bridge-app/src/window.d.ts | 2 +- packages/app-bridge-app/tsconfig.node.json | 8 +- packages/app-bridge-app/vite.config.mts | 15 +- packages/app-bridge-theme/.eslintrc.cjs | 58 - packages/app-bridge-theme/.prettierrc | 8 + packages/app-bridge-theme/.prettierrc.cjs | 10 - packages/app-bridge-theme/eslint.config.mjs | 55 + packages/app-bridge-theme/package.json | 33 +- .../src/react/useDocumentNavigation.ts | 2 +- .../app-bridge-theme/src/types/Guideline.ts | 2 + packages/app-bridge-theme/tsconfig.json | 20 +- packages/app-bridge-theme/tsconfig.node.json | 8 +- packages/app-bridge-theme/vite.config.mts | 2 + packages/app-bridge/.eslintignore | 1 - packages/app-bridge/.eslintrc.cjs | 58 - packages/app-bridge/.prettierrc | 8 + packages/app-bridge/.prettierrc.cjs | 10 - packages/app-bridge/CHANGELOG.md | 207 +- packages/app-bridge/eslint.config.mjs | 56 + packages/app-bridge/package.json | 43 +- .../src/react/useAssetBulkDownload.ts | 8 +- .../src/react/useAssetChooser.spec.tsx | 3 +- .../app-bridge/src/react/useAssetChooser.ts | 1 + .../src/react/useAssetViewer.spec.tsx | 2 +- .../app-bridge/src/react/useAssetViewer.ts | 3 +- .../src/react/useBlockAssets.spec.ts | 6 +- .../src/react/useBlockSettings.spec.tsx | 17 +- .../src/react/useBlockTemplates.spec.ts | 8 +- .../src/react/useCategorizedDocumentPages.ts | 1 + .../app-bridge/src/react/useColors.spec.ts | 8 +- .../src/react/useDocumentCategories.ts | 1 + .../app-bridge/src/react/useDocumentGroups.ts | 1 + .../src/react/useGroupedDocuments.ts | 1 + .../src/react/useReadyForPrint.spec.tsx | 10 +- .../src/react/useTemplateChooser.spec.tsx | 7 +- .../src/react/useTemplateChooser.ts | 1 + .../react/useUncategorizedDocumentPages.ts | 1 + .../src/react/useUngroupedDocuments.ts | 1 + .../src/repositories/AssetRepository.spec.ts | 4 +- .../src/tests/AppBridgeBlockStub.ts | 12 +- packages/app-bridge/src/window.d.ts | 38 +- packages/app-bridge/tsconfig.json | 22 +- packages/app-bridge/tsconfig.node.json | 8 +- packages/app-bridge/vite.config.mts | 7 +- packages/cli/.eslintignore | 1 - packages/cli/.eslintrc.cjs | 42 - packages/cli/.nvmrc | 1 - packages/cli/CHANGELOG.md | 238 +- packages/cli/eslint.config.mjs | 52 + packages/cli/package.json | 30 +- packages/cli/src/commands/deploy.ts | 8 +- packages/cli/src/commands/login.ts | 4 +- packages/cli/src/index.ts | 4 +- packages/cli/src/utils/promiseExec.ts | 4 +- packages/cli/src/utils/zip.ts | 1 + .../tests/utils/appBridgeThemeVersion.spec.ts | 37 +- .../cli/tests/utils/appBridgeVersion.spec.ts | 35 +- packages/cli/tests/utils/compiler.spec.ts | 4 +- packages/cli/tests/utils/hash.spec.ts | 27 +- packages/cli/tests/utils/reactiveJson.spec.ts | 25 +- packages/cli/tsconfig.json | 9 +- packages/cli/vite.config.ts | 2 + .../guideline-blocks-settings/.eslintrc.cjs | 58 - .../guideline-blocks-settings/CHANGELOG.md | 653 +- .../eslint.config.mjs | 63 + .../guideline-blocks-settings/package.json | 59 +- .../guideline-blocks-settings/setupTests.ts | 19 + .../Attachments/Attachments.spec.ct.tsx | 24 +- .../components/Attachments/Attachments.tsx | 1 + .../BlockInjectButton.spec.ct.tsx | 5 +- .../BlockInjectButton/BlockInjectButton.tsx | 4 +- .../BlockItemWrapper.spec.ct.tsx | 17 +- .../BlockItemWrapper/BlockItemWrapper.tsx | 1 - .../AttachmentsToolbarButton.spec.tsx | 6 +- .../AttachmentsToolbarButtonTrigger.spec.tsx | 6 +- .../Toolbar/BaseToolbarButton.spec.tsx | 10 +- .../DragHandleToolbarButton.tsx | 2 +- .../FlyoutToolbarButton.spec.tsx | 10 +- .../FlyoutToolbarButton.tsx | 4 +- .../MenuToolbarButton.spec.tsx | 2 +- .../BlockItemWrapper/Toolbar/Toolbar.spec.tsx | 8 +- .../BlockItemWrapper/Toolbar/Toolbar.tsx | 4 + .../Toolbar/context/DragPreviewContext.tsx | 1 + .../Toolbar/context/MultiFlyoutContext.tsx | 1 + .../hooks/useMultiFlyoutState.spec.tsx | 6 +- .../DownloadButton/DownloadButton.spec.ct.tsx | 12 +- .../src/components/Link/LinkInput.spec.ct.tsx | 25 +- .../src/components/Link/LinkInput.tsx | 4 +- .../Link/LinkSelector/DocumentLink.tsx | 2 +- .../LinkSelector/LinkSelector.spec.ct.tsx | 17 +- .../Link/LinkSelector/LinkSelector.tsx | 2 +- .../src/components/Link/utils/url.ts | 2 +- .../RichTextEditor/RichTextEditor.spec.ct.tsx | 63 +- .../RichTextEditor/RichTextEditor.tsx | 12 +- .../FloatingButton/floatingButtonStore.ts | 1 + .../src/helpers/hasRichTextValue.ts | 2 +- .../src/hooks/useAttachments.spec.tsx | 4 +- .../src/hooks/useAttachments.tsx | 1 + .../guideline-blocks-settings/tsconfig.json | 22 +- .../tsconfig.node.json | 8 +- .../guideline-blocks-settings/vite.config.ts | 8 +- packages/guideline-themes/.eslintrc.cjs | 58 - packages/guideline-themes/eslint.config.mjs | 55 + packages/guideline-themes/package.json | 25 +- packages/guideline-themes/setupTests.ts | 1 + packages/guideline-themes/tsconfig.json | 22 +- packages/guideline-themes/tsconfig.node.json | 8 +- packages/guideline-themes/vite.config.ts | 6 +- packages/platform-app/.eslintrc.cjs | 40 - packages/platform-app/.prettierrc | 6 +- packages/platform-app/CHANGELOG.md | 135 +- packages/platform-app/eslint.config.mjs | 42 + packages/platform-app/package.json | 27 +- packages/platform-app/tsconfig.json | 20 +- packages/platform-app/tsconfig.node.json | 8 +- packages/platform-app/vite.config.ts | 3 + packages/sidebar-settings/.eslintrc.cjs | 40 - packages/sidebar-settings/CHANGELOG.md | 214 +- packages/sidebar-settings/eslint.config.mjs | 42 + packages/sidebar-settings/package.json | 29 +- packages/sidebar-settings/src/blocks/base.ts | 2 +- .../sidebar-settings/src/blocks/fontInput.ts | 6 +- packages/sidebar-settings/tsconfig.json | 20 +- packages/sidebar-settings/tsconfig.node.json | 8 +- packages/sidebar-settings/vite.config.ts | 6 +- ....4.0.patch => @udecode__plate-emoji.patch} | 6 +- pnpm-lock.yaml | 10049 +++++++++------- pnpm-workspace.yaml | 12 +- vite.config.ts | 2 +- 143 files changed, 7318 insertions(+), 6319 deletions(-) create mode 100644 .changeset/hip-trees-leave.md delete mode 100644 packages/app-bridge-app/.eslintrc.cjs create mode 100644 packages/app-bridge-app/eslint.config.mjs delete mode 100644 packages/app-bridge-theme/.eslintrc.cjs create mode 100644 packages/app-bridge-theme/.prettierrc delete mode 100644 packages/app-bridge-theme/.prettierrc.cjs create mode 100644 packages/app-bridge-theme/eslint.config.mjs delete mode 100644 packages/app-bridge/.eslintignore delete mode 100644 packages/app-bridge/.eslintrc.cjs create mode 100644 packages/app-bridge/.prettierrc delete mode 100644 packages/app-bridge/.prettierrc.cjs create mode 100644 packages/app-bridge/eslint.config.mjs delete mode 100644 packages/cli/.eslintignore delete mode 100644 packages/cli/.eslintrc.cjs delete mode 100644 packages/cli/.nvmrc create mode 100644 packages/cli/eslint.config.mjs delete mode 100644 packages/guideline-blocks-settings/.eslintrc.cjs create mode 100644 packages/guideline-blocks-settings/eslint.config.mjs delete mode 100644 packages/guideline-themes/.eslintrc.cjs create mode 100644 packages/guideline-themes/eslint.config.mjs delete mode 100644 packages/platform-app/.eslintrc.cjs create mode 100644 packages/platform-app/eslint.config.mjs delete mode 100644 packages/sidebar-settings/.eslintrc.cjs create mode 100644 packages/sidebar-settings/eslint.config.mjs rename patches/{@udecode__plate-emoji@31.4.0.patch => @udecode__plate-emoji.patch} (65%) diff --git a/.changeset/hip-trees-leave.md b/.changeset/hip-trees-leave.md new file mode 100644 index 000000000..3067a2c90 --- /dev/null +++ b/.changeset/hip-trees-leave.md @@ -0,0 +1,7 @@ +--- +"@frontify/app-bridge-theme": patch +"@frontify/guideline-themes": patch +"@frontify/app-bridge": patch +--- + +chore: update deps diff --git a/.github/workflows/app-bridge-continuous-integration.yml b/.github/workflows/app-bridge-continuous-integration.yml index f705008cd..089057c95 100644 --- a/.github/workflows/app-bridge-continuous-integration.yml +++ b/.github/workflows/app-bridge-continuous-integration.yml @@ -46,7 +46,7 @@ jobs: run: pnpm --stream --filter {packages/app-bridge} test:coverage - name: SonarCloud Scan - uses: sonarsource/sonarqube-scan-action@v4 + uses: sonarsource/sonarqube-scan-action@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} @@ -86,6 +86,10 @@ jobs: key: pnpm-with-cypress-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} restore-keys: pnpm-with-cypress-${{ runner.os }}- + # https://docs.cypress.io/app/get-started/install-cypress#pnpm-configuration + - name: Remove pnpm side effects cache + run: pnpm config set side-effects-cache false --location project + - name: Install npm dependencies run: pnpm i --frozen-lockfile diff --git a/.github/workflows/cli-continuous-integration.yml b/.github/workflows/cli-continuous-integration.yml index 1efdafb3a..c52d2626f 100644 --- a/.github/workflows/cli-continuous-integration.yml +++ b/.github/workflows/cli-continuous-integration.yml @@ -46,7 +46,7 @@ jobs: run: pnpm --stream --filter {packages/cli} test:coverage - name: SonarCloud Scan - uses: sonarsource/sonarqube-scan-action@v4 + uses: sonarsource/sonarqube-scan-action@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.nvmrc b/.nvmrc index 3c032078a..2bd5a0a98 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 +22 diff --git a/cypress/support/component.ts b/cypress/support/component.ts index 0e2f0344c..12fd97c91 100644 --- a/cypress/support/component.ts +++ b/cypress/support/component.ts @@ -1,5 +1,26 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { type ReactNode } from "react"; +import { mount } from "cypress/react"; + +import { MountOptions, MountReturn } from "cypress/react"; + +declare global { + namespace Cypress { + interface Chainable { + /** + * Mounts a React node + * @param component React Node to mount + * @param options Additional options to pass into mount + */ + mount( + component: ReactNode, + options?: MountOptions + ): Cypress.Chainable; + } + } +} + //@ts-ignore global.process ||= {}; //@ts-ignore @@ -17,6 +38,10 @@ before(() => { }); }); +Cypress.Commands.add("mount", (component: ReactNode, options = {}) => { + return mount(component, options); +}); + import "@frontify/fondue/style"; import "cypress-real-events/support"; import "./structuredClone"; diff --git a/cypress/support/structuredClone.ts b/cypress/support/structuredClone.ts index f5caecb1b..253782d8d 100644 --- a/cypress/support/structuredClone.ts +++ b/cypress/support/structuredClone.ts @@ -3,6 +3,7 @@ before(() => { // Cypress doesn't yet have structuredClone cy.window().then((win) => { + // @ts-expect-error Stub win.structuredClone = (value: object) => { return JSON.parse(JSON.stringify(value)); }; diff --git a/package.json b/package.json index 3d5aa43be..c22f2eae3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "root", "private": true, - "packageManager": "pnpm@9.1.3+sha512.7c2ea089e1a6af306409c4fc8c4f0897bdac32b772016196c469d9428f1fe2d5a21daf8ad6512762654ac645b5d9136bb210ec9a00afa8dbc4677843ba362ecd", + "packageManager": "pnpm@10.15.1+sha512.34e538c329b5553014ca8e8f4535997f96180a1d0f614339357449935350d924e22f8614682191264ec33d1462ac21561aff97f6bb18065351c162c7e8f6de67", "scripts": { "build": "pnpm build:app-bridge && pnpm build:sidebar-settings && pnpm build:guideline-blocks-settings && pnpm build:platform-app && pnpm build:cli && pnpm build:app-bridge-theme && pnpm build:app-bridge-app && pnpm build:guideline-themes", "build:app-bridge": "pnpm --stream --filter {packages/app-bridge} build", @@ -22,25 +22,22 @@ "ci:publish": "pnpm build && changeset publish" }, "devDependencies": { + "@4tw/cypress-drag-drop": "^2.3.0", "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", - "@cypress/vite-dev-server": "^5.0.7", + "@cypress/vite-dev-server": "^7.0.0", "@frontify/fondue": "^12.11.0", - "@vitejs/plugin-react": "^4.2.1", - "cypress": "^13.7.2", - "cypress-real-events": "^1.12.0", - "glob": "^10.3.12", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "tailwindcss": "^3.4.3", + "@types/react": "^18.3.24", + "@vitejs/plugin-react": "^5.0.2", + "cypress": "^15.0.0", + "cypress-real-events": "^1.14.0", + "glob": "^11.0.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "tailwindcss": "^3.4.17", "ts-node": "^10.9.2", - "typescript": "^5.4.4", - "vite": "^4.5.2", - "vitest": "^1.4.0" - }, - "pnpm": { - "patchedDependencies": { - "@udecode/plate-emoji@31.4.0": "patches/@udecode__plate-emoji@31.4.0.patch" - } + "typescript": "^5.9.2", + "vite": "^7.1.4", + "vitest": "^3.2.4" } } diff --git a/packages/app-bridge-app/.eslintrc.cjs b/packages/app-bridge-app/.eslintrc.cjs deleted file mode 100644 index c1600e6c3..000000000 --- a/packages/app-bridge-app/.eslintrc.cjs +++ /dev/null @@ -1,59 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -module.exports = { - root: true, - extends: ['@frontify/eslint-config-react'], - plugins: ['notice'], - settings: { - react: { - version: 'detect', - }, - }, - parserOptions: { - project: ['./tsconfig.json', './tsconfig.node.json'], - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - overrides: [ - { - files: ['*.js', '*.ts', '*.tsx'], - rules: { - 'notice/notice': [ - 'error', - { - template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', - messages: { - whenFailedToMatch: 'No Frontify copyright header set.', - }, - }, - ], - }, - }, - { - files: ['*.ts', '*.tsx', '*.mts', '*.cts'], - rules: { - '@typescript-eslint/no-redundant-type-constituents': 'off', - 'no-prototype-builtins': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/no-floating-promises': 'warn', - '@typescript-eslint/no-misused-promises': 'warn', - '@typescript-eslint/no-unsafe-argument': 'warn', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - '@typescript-eslint/require-await': 'warn', - '@typescript-eslint/await-thenable': 'warn', - '@typescript-eslint/no-unsafe-enum-comparison': 'warn', - '@typescript-eslint/restrict-plus-operands': 'warn', - }, - }, - { - files: ['**/*.md/**/*'], - processor: 'markdown/markdown', - parserOptions: { - project: null, - }, - }, - ], -}; diff --git a/packages/app-bridge-app/.prettierrc b/packages/app-bridge-app/.prettierrc index ca0c14e7c..607e8b5e1 100644 --- a/packages/app-bridge-app/.prettierrc +++ b/packages/app-bridge-app/.prettierrc @@ -1,5 +1,8 @@ { - "printWidth": 120, + "singleQuote": true, "tabWidth": 4, - "singleQuote": true + "printWidth": 120, + "trailingComma": "all", + "arrowParens": "always", + "endOfLine": "lf" } diff --git a/packages/app-bridge-app/CHANGELOG.md b/packages/app-bridge-app/CHANGELOG.md index 88ddcb3b5..d352f0c5f 100644 --- a/packages/app-bridge-app/CHANGELOG.md +++ b/packages/app-bridge-app/CHANGELOG.md @@ -1,153 +1,159 @@ # @frontify/app-bridge-app +## 0.1.9 + +### Patch Changes + +- [#1282](https://github.com/Frontify/brand-sdk/pull/1282) [`7363adb`](https://github.com/Frontify/brand-sdk/commit/7363adbb2d32b0bca189e439956609a355483382) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update dependencies + ## 0.1.8 ### Patch Changes -- [#1250](https://github.com/Frontify/brand-sdk/pull/1250) [`9510eba`](https://github.com/Frontify/brand-sdk/commit/9510eba02bd038405bef911579b89f3e23c1216f) Thanks [@olivereisenhut](https://github.com/olivereisenhut)! - feat(app): Enable to pass preview features to the GQL calls +- [#1250](https://github.com/Frontify/brand-sdk/pull/1250) [`9510eba`](https://github.com/Frontify/brand-sdk/commit/9510eba02bd038405bef911579b89f3e23c1216f) Thanks [@olivereisenhut](https://github.com/olivereisenhut)! - feat(app): Enable to pass preview features to the GQL calls ## 0.1.7 ### Patch Changes -- [#1224](https://github.com/Frontify/brand-sdk/pull/1224) [`7658e68`](https://github.com/Frontify/brand-sdk/commit/7658e689bd5169047684cb2c5bb5f14c34b3ed63) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds themeAction to appBridge PlatformApp context +- [#1224](https://github.com/Frontify/brand-sdk/pull/1224) [`7658e68`](https://github.com/Frontify/brand-sdk/commit/7658e689bd5169047684cb2c5bb5f14c34b3ed63) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds themeAction to appBridge PlatformApp context ## 0.1.6 ### Patch Changes -- [#1219](https://github.com/Frontify/brand-sdk/pull/1219) [`bfb23d4`](https://github.com/Frontify/brand-sdk/commit/bfb23d4744fec5bcdefbab30e149e3419de97010) Thanks [@julianiff](https://github.com/julianiff)! - feat: update naming to themeAction and add props +- [#1219](https://github.com/Frontify/brand-sdk/pull/1219) [`bfb23d4`](https://github.com/Frontify/brand-sdk/commit/bfb23d4744fec5bcdefbab30e149e3419de97010) Thanks [@julianiff](https://github.com/julianiff)! - feat: update naming to themeAction and add props ## 0.1.5 ### Patch Changes -- [#1215](https://github.com/Frontify/brand-sdk/pull/1215) [`dd169ee`](https://github.com/Frontify/brand-sdk/commit/dd169ee59253677a8b4500559aa4fec2790202b2) Thanks [@julianiff](https://github.com/julianiff)! - feat: add NavigationAction Context +- [#1215](https://github.com/Frontify/brand-sdk/pull/1215) [`dd169ee`](https://github.com/Frontify/brand-sdk/commit/dd169ee59253677a8b4500559aa4fec2790202b2) Thanks [@julianiff](https://github.com/julianiff)! - feat: add NavigationAction Context ## 0.1.4 ### Patch Changes -- [#1163](https://github.com/Frontify/brand-sdk/pull/1163) [`df6e41a`](https://github.com/Frontify/brand-sdk/commit/df6e41a97a290457cc5f83783c324c2765f2aba2) Thanks [@julianiff](https://github.com/julianiff)! - feat: add context instead of single contexts +- [#1163](https://github.com/Frontify/brand-sdk/pull/1163) [`df6e41a`](https://github.com/Frontify/brand-sdk/commit/df6e41a97a290457cc5f83783c324c2765f2aba2) Thanks [@julianiff](https://github.com/julianiff)! - feat: add context instead of single contexts ## 0.1.3 ### Patch Changes -- [#1147](https://github.com/Frontify/brand-sdk/pull/1147) [`86c0806`](https://github.com/Frontify/brand-sdk/commit/86c080676e3d27375837f29cd37b7957a64fe360) Thanks [@olivereisenhut](https://github.com/olivereisenhut)! - experimental: add `executeSecureRequest` command +- [#1147](https://github.com/Frontify/brand-sdk/pull/1147) [`86c0806`](https://github.com/Frontify/brand-sdk/commit/86c080676e3d27375837f29cd37b7957a64fe360) Thanks [@olivereisenhut](https://github.com/olivereisenhut)! - experimental: add `executeSecureRequest` command ## 0.1.2 ### Patch Changes -- [#1131](https://github.com/Frontify/brand-sdk/pull/1131) [`e3ba1ef`](https://github.com/Frontify/brand-sdk/commit/e3ba1efe1334d8fc5ec7fa4b37c8c09562949e04) Thanks [@julianiff](https://github.com/julianiff)! - feat: remove extensions from context object +- [#1131](https://github.com/Frontify/brand-sdk/pull/1131) [`e3ba1ef`](https://github.com/Frontify/brand-sdk/commit/e3ba1efe1334d8fc5ec7fa4b37c8c09562949e04) Thanks [@julianiff](https://github.com/julianiff)! - feat: remove extensions from context object ## 0.1.1 ### Patch Changes -- [#1129](https://github.com/Frontify/brand-sdk/pull/1129) [`555f9fa`](https://github.com/Frontify/brand-sdk/commit/555f9fa6c0fd15b1d5da0855ed73412f40b8c3de) Thanks [@julianiff](https://github.com/julianiff)! - feat: add BulkActionsContext +- [#1129](https://github.com/Frontify/brand-sdk/pull/1129) [`555f9fa`](https://github.com/Frontify/brand-sdk/commit/555f9fa6c0fd15b1d5da0855ed73412f40b8c3de) Thanks [@julianiff](https://github.com/julianiff)! - feat: add BulkActionsContext ## 0.1.0 ### Minor Changes -- [#1121](https://github.com/Frontify/brand-sdk/pull/1121) [`7888a1a`](https://github.com/Frontify/brand-sdk/commit/7888a1ac221016717527088ea938a4f5089102ce) Thanks [@julianiff](https://github.com/julianiff)! - feat: add assetViewer surface typing +- [#1121](https://github.com/Frontify/brand-sdk/pull/1121) [`7888a1a`](https://github.com/Frontify/brand-sdk/commit/7888a1ac221016717527088ea938a4f5089102ce) Thanks [@julianiff](https://github.com/julianiff)! - feat: add assetViewer surface typing ## 0.0.16 ### Patch Changes -- [#1117](https://github.com/Frontify/brand-sdk/pull/1117) [`9047b9d`](https://github.com/Frontify/brand-sdk/commit/9047b9d4e089e91394ab23ae2ffaed3e9f6807a6) Thanks [@julianiff](https://github.com/julianiff)! - chore: adjust to rootId +- [#1117](https://github.com/Frontify/brand-sdk/pull/1117) [`9047b9d`](https://github.com/Frontify/brand-sdk/commit/9047b9d4e089e91394ab23ae2ffaed3e9f6807a6) Thanks [@julianiff](https://github.com/julianiff)! - chore: adjust to rootId ## 0.0.15 ### Patch Changes -- [#1113](https://github.com/Frontify/brand-sdk/pull/1113) [`084af2f`](https://github.com/Frontify/brand-sdk/commit/084af2f7a7f950766c88bd6c2a6f7481687173a2) Thanks [@julianiff](https://github.com/julianiff)! - feat(platform-app): add nodeId +- [#1113](https://github.com/Frontify/brand-sdk/pull/1113) [`084af2f`](https://github.com/Frontify/brand-sdk/commit/084af2f7a7f950766c88bd6c2a6f7481687173a2) Thanks [@julianiff](https://github.com/julianiff)! - feat(platform-app): add nodeId ## 0.0.14 ### Patch Changes -- [#1096](https://github.com/Frontify/brand-sdk/pull/1096) [`e24fb7a`](https://github.com/Frontify/brand-sdk/commit/e24fb7a7cefa999decc4c8bed3941de5a35b006d) Thanks [@julianiff](https://github.com/julianiff)! - fix: adjust parentId type to no be optional +- [#1096](https://github.com/Frontify/brand-sdk/pull/1096) [`e24fb7a`](https://github.com/Frontify/brand-sdk/commit/e24fb7a7cefa999decc4c8bed3941de5a35b006d) Thanks [@julianiff](https://github.com/julianiff)! - fix: adjust parentId type to no be optional ## 0.0.13 ### Patch Changes -- [#1068](https://github.com/Frontify/brand-sdk/pull/1068) [`7b387ee`](https://github.com/Frontify/brand-sdk/commit/7b387eec0552e861eb71c60af09a0b51eea21dc4) Thanks [@olivereisenhut](https://github.com/olivereisenhut)! - feat: Add option to make beta GraphQL request +- [#1068](https://github.com/Frontify/brand-sdk/pull/1068) [`7b387ee`](https://github.com/Frontify/brand-sdk/commit/7b387eec0552e861eb71c60af09a0b51eea21dc4) Thanks [@olivereisenhut](https://github.com/olivereisenhut)! - feat: Add option to make beta GraphQL request ## 0.0.12 ### Patch Changes -- [#1052](https://github.com/Frontify/brand-sdk/pull/1052) [`723991d`](https://github.com/Frontify/brand-sdk/commit/723991dadfb552dab0afee8267ce4cd3af8c2abf) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Switch from `ApiHandlerParameter` to `PlatformAppHandlerParameter` +- [#1052](https://github.com/Frontify/brand-sdk/pull/1052) [`723991d`](https://github.com/Frontify/brand-sdk/commit/723991dadfb552dab0afee8267ce4cd3af8c2abf) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Switch from `ApiHandlerParameter` to `PlatformAppHandlerParameter` ## 0.0.11 ### Patch Changes -- [#1048](https://github.com/Frontify/brand-sdk/pull/1048) [`c9c4eb2`](https://github.com/Frontify/brand-sdk/commit/c9c4eb26ecbff356c6e384597b153de21073780c) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Expose `PlatformAppApiHandlerParameter` type +- [#1048](https://github.com/Frontify/brand-sdk/pull/1048) [`c9c4eb2`](https://github.com/Frontify/brand-sdk/commit/c9c4eb26ecbff356c6e384597b153de21073780c) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Expose `PlatformAppApiHandlerParameter` type ## 0.0.10 ### Patch Changes -- [#1038](https://github.com/Frontify/brand-sdk/pull/1038) [`d3f1b52`](https://github.com/Frontify/brand-sdk/commit/d3f1b528b361740b5bf820044cd3b54b4fb1a0a0) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Export types from `Api.ts` +- [#1038](https://github.com/Frontify/brand-sdk/pull/1038) [`d3f1b52`](https://github.com/Frontify/brand-sdk/commit/d3f1b528b361740b5bf820044cd3b54b4fb1a0a0) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Export types from `Api.ts` ## 0.0.9 ### Patch Changes -- [#1029](https://github.com/Frontify/brand-sdk/pull/1029) [`03e7a27`](https://github.com/Frontify/brand-sdk/commit/03e7a274b799bc87e1188bb343037a11a26d047f) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Add `PlatformAppApiReturn` type +- [#1029](https://github.com/Frontify/brand-sdk/pull/1029) [`03e7a27`](https://github.com/Frontify/brand-sdk/commit/03e7a274b799bc87e1188bb343037a11a26d047f) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Add `PlatformAppApiReturn` type ## 0.0.8 ### Patch Changes -- [#1027](https://github.com/Frontify/brand-sdk/pull/1027) [`33d3c6a`](https://github.com/Frontify/brand-sdk/commit/33d3c6ac167715cc80d8e9c1149f50c5d7c007a5) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Rename the graphql .api() call to use the `execute` prefix +- [#1027](https://github.com/Frontify/brand-sdk/pull/1027) [`33d3c6a`](https://github.com/Frontify/brand-sdk/commit/33d3c6ac167715cc80d8e9c1149f50c5d7c007a5) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Rename the graphql .api() call to use the `execute` prefix -- [#1026](https://github.com/Frontify/brand-sdk/pull/1026) [`3cad0e2`](https://github.com/Frontify/brand-sdk/commit/3cad0e208460c551b94508d47cbbebd9891869e6) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Add 'graphQl' `.api()` method +- [#1026](https://github.com/Frontify/brand-sdk/pull/1026) [`3cad0e2`](https://github.com/Frontify/brand-sdk/commit/3cad0e208460c551b94508d47cbbebd9891869e6) Thanks [@marguslant0](https://github.com/marguslant0)! - feat: Add 'graphQl' `.api()` method ## 0.0.7 ### Patch Changes -- [#1024](https://github.com/Frontify/brand-sdk/pull/1024) [`1dff29f`](https://github.com/Frontify/brand-sdk/commit/1dff29f978fe2ba591bd9e3b132fed7da3d598a7) Thanks [@julianiff](https://github.com/julianiff)! - feat: add getAccountId to registry +- [#1024](https://github.com/Frontify/brand-sdk/pull/1024) [`1dff29f`](https://github.com/Frontify/brand-sdk/commit/1dff29f978fe2ba591bd9e3b132fed7da3d598a7) Thanks [@julianiff](https://github.com/julianiff)! - feat: add getAccountId to registry ## 0.0.6 ### Patch Changes -- [#1022](https://github.com/Frontify/brand-sdk/pull/1022) [`3f8ecab`](https://github.com/Frontify/brand-sdk/commit/3f8ecab1ac4acdd077d63a000a3ac784d81adf3d) Thanks [@julianiff](https://github.com/julianiff)! - chore: adjust test +- [#1022](https://github.com/Frontify/brand-sdk/pull/1022) [`3f8ecab`](https://github.com/Frontify/brand-sdk/commit/3f8ecab1ac4acdd077d63a000a3ac784d81adf3d) Thanks [@julianiff](https://github.com/julianiff)! - chore: adjust test ## 0.0.5 ### Patch Changes -- [#1005](https://github.com/Frontify/brand-sdk/pull/1005) [`9790524`](https://github.com/Frontify/brand-sdk/commit/979052451ee69cbd9f60c397a30b4e5fd08fa779) Thanks [@julianiff](https://github.com/julianiff)! - chore: update app-bridge-app +- [#1005](https://github.com/Frontify/brand-sdk/pull/1005) [`9790524`](https://github.com/Frontify/brand-sdk/commit/979052451ee69cbd9f60c397a30b4e5fd08fa779) Thanks [@julianiff](https://github.com/julianiff)! - chore: update app-bridge-app ## 0.0.4 ### Patch Changes -- [#1003](https://github.com/Frontify/brand-sdk/pull/1003) [`bca28e1`](https://github.com/Frontify/brand-sdk/commit/bca28e193e59e04618a1b172f7bc14790b24efe2) Thanks [@julianiff](https://github.com/julianiff)! - chore: add exports +- [#1003](https://github.com/Frontify/brand-sdk/pull/1003) [`bca28e1`](https://github.com/Frontify/brand-sdk/commit/bca28e193e59e04618a1b172f7bc14790b24efe2) Thanks [@julianiff](https://github.com/julianiff)! - chore: add exports ## 0.0.3 ### Patch Changes -- [#998](https://github.com/Frontify/brand-sdk/pull/998) [`39b4f32`](https://github.com/Frontify/brand-sdk/commit/39b4f32e6b96bc5a1d39517f268e930995ab960c) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adds utility methods and an updated renderReact method +- [#998](https://github.com/Frontify/brand-sdk/pull/998) [`39b4f32`](https://github.com/Frontify/brand-sdk/commit/39b4f32e6b96bc5a1d39517f268e930995ab960c) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adds utility methods and an updated renderReact method -- [#995](https://github.com/Frontify/brand-sdk/pull/995) [`99b28d3`](https://github.com/Frontify/brand-sdk/commit/99b28d3baec9ff928daf8847514202f85be3e64f) Thanks [@julianiff](https://github.com/julianiff)! - feat: add renderAppReact utility +- [#995](https://github.com/Frontify/brand-sdk/pull/995) [`99b28d3`](https://github.com/Frontify/brand-sdk/commit/99b28d3baec9ff928daf8847514202f85be3e64f) Thanks [@julianiff](https://github.com/julianiff)! - feat: add renderAppReact utility -- [#996](https://github.com/Frontify/brand-sdk/pull/996) [`f1c7360`](https://github.com/Frontify/brand-sdk/commit/f1c7360ea59e49f13170f80d6ce51dad7b30f23e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add typed settings +- [#996](https://github.com/Frontify/brand-sdk/pull/996) [`f1c7360`](https://github.com/Frontify/brand-sdk/commit/f1c7360ea59e49f13170f80d6ce51dad7b30f23e) Thanks [@julianiff](https://github.com/julianiff)! - feat: add typed settings ## 0.0.2 ### Patch Changes -- [#986](https://github.com/Frontify/brand-sdk/pull/986) [`6adb54b`](https://github.com/Frontify/brand-sdk/commit/6adb54bb2a3af14a016b3d979f1c43129953b5f4) Thanks [@julianiff](https://github.com/julianiff)! - feat: copy appBridgePlatformApp to app-bridge-app +- [#986](https://github.com/Frontify/brand-sdk/pull/986) [`6adb54b`](https://github.com/Frontify/brand-sdk/commit/6adb54bb2a3af14a016b3d979f1c43129953b5f4) Thanks [@julianiff](https://github.com/julianiff)! - feat: copy appBridgePlatformApp to app-bridge-app -- [#990](https://github.com/Frontify/brand-sdk/pull/990) [`e1ec08a`](https://github.com/Frontify/brand-sdk/commit/e1ec08a988950997ddc70213300639fd8f3866d9) Thanks [@julianiff](https://github.com/julianiff)! - fix: fix linting and tests +- [#990](https://github.com/Frontify/brand-sdk/pull/990) [`e1ec08a`](https://github.com/Frontify/brand-sdk/commit/e1ec08a988950997ddc70213300639fd8f3866d9) Thanks [@julianiff](https://github.com/julianiff)! - fix: fix linting and tests diff --git a/packages/app-bridge-app/eslint.config.mjs b/packages/app-bridge-app/eslint.config.mjs new file mode 100644 index 000000000..f4f0a1ed6 --- /dev/null +++ b/packages/app-bridge-app/eslint.config.mjs @@ -0,0 +1,57 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +// @ts-check + +// @ts-expect-error No types available +import frontifyConfig from '@frontify/eslint-config-react'; +// @ts-expect-error No types available +import noticePlugin from 'eslint-plugin-notice'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: ['dist/', 'coverage/', 'node_modules/', '**/*.md/**.ts'], + }, + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + frontifyConfig, + { + files: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts', '**/*.cjs'], + languageOptions: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + plugins: { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + notice: noticePlugin, + }, + rules: { + // Copyright header rules + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + + '@typescript-eslint/no-redundant-type-constituents': 'off', + 'no-prototype-builtins': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-misused-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/require-await': 'warn', + '@typescript-eslint/await-thenable': 'warn', + '@typescript-eslint/no-unsafe-enum-comparison': 'warn', + '@typescript-eslint/restrict-plus-operands': 'warn', + }, + }, +); diff --git a/packages/app-bridge-app/package.json b/packages/app-bridge-app/package.json index 988720a68..0e995983a 100644 --- a/packages/app-bridge-app/package.json +++ b/packages/app-bridge-app/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/app-bridge-app", "type": "module", - "version": "0.1.8", + "version": "0.1.9", "description": "Package to establish communication between Frontify and apps", "author": "Frontify Developers ", "repository": { @@ -41,22 +41,24 @@ }, "devDependencies": { "@frontify/app-bridge": "workspace:^", - "@frontify/eslint-config-react": "^0.17.6", + "@frontify/eslint-config-react": "^1.0.4", "@frontify/platform-app": "workspace:^", - "@testing-library/react": "^14.3.1", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.2.24", - "eslint": "^8.57.0", - "eslint-plugin-notice": "^0.9.10", - "happy-dom": "^13.10.1", - "immer": "^10.1.1", - "prettier": "^3.3.2", + "@testing-library/react": "^16.3.0", + "@types/react": "^18.3.24", + "@types/react-dom": "^18.3.7", + "@vitest/coverage-v8": "^3.2.4", + "eslint": "^9.34.0", + "eslint-plugin-notice": "^1.0.0", + "happy-dom": "^18.0.1", + "immer": "^10.1.3", + "prettier": "^3.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", - "type-fest": "^4.15.0", - "typescript": "^5.5.2", - "vite": "^5.3.1", + "type-fest": "^4.41.0", + "typescript": "^5.9.2", + "typescript-eslint": "^8.42.0", + "vite": "^5.4.19", "vite-plugin-dts": "^3.9.1", - "vitest": "^1.6.0" + "vitest": "^3.2.4" } } diff --git a/packages/app-bridge-app/src/AppBridgePlatformApp.ts b/packages/app-bridge-app/src/AppBridgePlatformApp.ts index fafcaf6a0..90fd55a7a 100644 --- a/packages/app-bridge-app/src/AppBridgePlatformApp.ts +++ b/packages/app-bridge-app/src/AppBridgePlatformApp.ts @@ -194,7 +194,7 @@ export class AppBridgePlatformApp { this.callSubscribedTopic('Context.connected', [true, false]); this.callSubscribedTopic('Context.*', [this.localContext, this.localContext]); this.callSubscribedTopic('State.*', [this.localState, this.localState]); - } catch (error) { + } catch { if (attempt < this.maxRetries) { await this.attemptSubscription(attempt + 1, checksum); } else { diff --git a/packages/app-bridge-app/src/react/renderReactApp.spec.tsx b/packages/app-bridge-app/src/react/renderReactApp.spec.tsx index 72bc2a7e8..88fe33943 100644 --- a/packages/app-bridge-app/src/react/renderReactApp.spec.tsx +++ b/packages/app-bridge-app/src/react/renderReactApp.spec.tsx @@ -9,7 +9,7 @@ import { type AppBridgePlatformApp } from '../AppBridgePlatformApp.ts'; import { renderReactApp } from './renderReactApp.ts'; const AppTest = () => { - return
This component got rendered
; + return
This component got rendered
; }; describe('renderAppReact', () => { @@ -63,7 +63,7 @@ describe('renderAppReact', () => { }); await waitFor(() => { - expect(screen.getAllByTestId('test-id')).toBeDefined; + expect(screen.getAllByTestId('test-id')).toBeDefined(); }); }); }); diff --git a/packages/app-bridge-app/src/window.d.ts b/packages/app-bridge-app/src/window.d.ts index 596d61878..591378d1a 100644 --- a/packages/app-bridge-app/src/window.d.ts +++ b/packages/app-bridge-app/src/window.d.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { AppBridgePlatformApp } from './AppBridgePlatformApp.ts'; +import { type AppBridgePlatformApp } from './AppBridgePlatformApp.ts'; declare global { interface Window { diff --git a/packages/app-bridge-app/tsconfig.node.json b/packages/app-bridge-app/tsconfig.node.json index 71a3a257e..a06db87c4 100644 --- a/packages/app-bridge-app/tsconfig.node.json +++ b/packages/app-bridge-app/tsconfig.node.json @@ -1,12 +1,14 @@ { "compilerOptions": { + "allowJs": true, + "allowSyntheticDefaultImports": true, + "baseUrl": ".", "composite": true, + "lib": ["ESNext"], "module": "ESNext", "moduleResolution": "Node", - "allowSyntheticDefaultImports": true, "resolveJsonModule": true, - "lib": ["ESNext"], "target": "ESNext" }, - "include": [".eslintrc.cjs", "vite.config.mts", "package.json"] + "include": ["eslint.config.mjs", "vite.config.mts", "package.json"] } diff --git a/packages/app-bridge-app/vite.config.mts b/packages/app-bridge-app/vite.config.mts index 77e1ad3da..f4d477cc9 100644 --- a/packages/app-bridge-app/vite.config.mts +++ b/packages/app-bridge-app/vite.config.mts @@ -1,15 +1,11 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { defineConfig } from 'vite'; import dts from 'vite-plugin-dts'; +import { defineConfig } from 'vitest/config'; import { peerDependencies as peerDependenciesMap } from './package.json'; const peerDependencies = Object.keys(peerDependenciesMap); -export const globals = { - react: 'React', - 'react-dom': 'ReactDOM', -}; export default defineConfig({ plugins: [dts({ insertTypesEntry: true, rollupTypes: true })], @@ -29,5 +25,14 @@ export default defineConfig({ test: { environment: 'happy-dom', css: true, + coverage: { + enabled: true, + provider: 'v8', + all: true, + reporter: ['text', 'lcov'], + include: ['src/**/*.ts', 'src/**/*.tsx'], + exclude: ['src/**/test.ts', 'src/**/test.tsx', 'src/**/spec.ts', 'src/**/spec.tsx'], + }, + setupFiles: ['./src/setupTests.ts'], }, }); diff --git a/packages/app-bridge-theme/.eslintrc.cjs b/packages/app-bridge-theme/.eslintrc.cjs deleted file mode 100644 index 04ef1024d..000000000 --- a/packages/app-bridge-theme/.eslintrc.cjs +++ /dev/null @@ -1,58 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -module.exports = { - root: true, - extends: ['@frontify/eslint-config-react'], - plugins: ['notice'], - settings: { - react: { - version: 'detect', - }, - }, - parserOptions: { - project: ['./tsconfig.json', './tsconfig.node.json'], - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - overrides: [ - { - files: ['*.js', '*.ts', '*.tsx'], - rules: { - 'notice/notice': [ - 'error', - { - template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', - messages: { - whenFailedToMatch: 'No Frontify copyright header set.', - }, - }, - ], - }, - }, - { - files: ['*.ts', '*.tsx', '*.mts', '*.cts'], - rules: { - 'no-prototype-builtins': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/no-floating-promises': 'warn', - '@typescript-eslint/no-misused-promises': 'warn', - '@typescript-eslint/no-unsafe-argument': 'warn', - '@typescript-eslint/no-unsafe-assignment': 'warn', - '@typescript-eslint/no-unsafe-call': 'warn', - '@typescript-eslint/no-unsafe-member-access': 'warn', - '@typescript-eslint/no-unsafe-return': 'warn', - '@typescript-eslint/require-await': 'warn', - '@typescript-eslint/await-thenable': 'warn', - '@typescript-eslint/no-unsafe-enum-comparison': 'warn', - '@typescript-eslint/restrict-plus-operands': 'warn', - }, - }, - { - files: ['**/*.md/**/*'], - processor: 'markdown/markdown', - parserOptions: { - project: null, - }, - }, - ], -}; diff --git a/packages/app-bridge-theme/.prettierrc b/packages/app-bridge-theme/.prettierrc new file mode 100644 index 000000000..607e8b5e1 --- /dev/null +++ b/packages/app-bridge-theme/.prettierrc @@ -0,0 +1,8 @@ +{ + "singleQuote": true, + "tabWidth": 4, + "printWidth": 120, + "trailingComma": "all", + "arrowParens": "always", + "endOfLine": "lf" +} diff --git a/packages/app-bridge-theme/.prettierrc.cjs b/packages/app-bridge-theme/.prettierrc.cjs deleted file mode 100644 index ac04664a5..000000000 --- a/packages/app-bridge-theme/.prettierrc.cjs +++ /dev/null @@ -1,10 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -module.exports = { - singleQuote: true, - tabWidth: 4, - printWidth: 120, - trailingComma: 'all', - arrowParens: 'always', - endOfLine: 'lf', -}; diff --git a/packages/app-bridge-theme/eslint.config.mjs b/packages/app-bridge-theme/eslint.config.mjs new file mode 100644 index 000000000..7fb53b4b5 --- /dev/null +++ b/packages/app-bridge-theme/eslint.config.mjs @@ -0,0 +1,55 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +// @ts-check + +// @ts-expect-error No types available +import frontifyConfig from '@frontify/eslint-config-react'; +// @ts-expect-error No types available +import noticePlugin from 'eslint-plugin-notice'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: ['dist/', 'coverage/', 'node_modules/', '**/*.md/**.ts'], + }, + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + frontifyConfig, + { + files: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts', '**/*.cjs'], + languageOptions: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + plugins: { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + notice: noticePlugin, + }, + rules: { + // Copyright header rules + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + 'no-prototype-builtins': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-misused-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'warn', + '@typescript-eslint/no-unsafe-call': 'warn', + '@typescript-eslint/no-unsafe-member-access': 'warn', + '@typescript-eslint/no-unsafe-return': 'warn', + '@typescript-eslint/require-await': 'warn', + '@typescript-eslint/await-thenable': 'warn', + '@typescript-eslint/no-unsafe-enum-comparison': 'warn', + '@typescript-eslint/restrict-plus-operands': 'warn', + }, + }, +); diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index 502fad8a0..128ad955e 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -42,23 +42,24 @@ }, "dependencies": {}, "devDependencies": { - "@frontify/eslint-config-react": "^0.17.6", - "@testing-library/react": "^14.3.0", - "@types/react": "^18.2.75", - "@types/react-dom": "^18.2.24", - "@vitest/coverage-v8": "^1.4.0", + "@frontify/eslint-config-react": "^1.0.4", + "@testing-library/react": "^16.3.0", + "@types/react": "^18.3.24", + "@types/react-dom": "^18.3.7", + "@vitest/coverage-v8": "^3.2.4", "@vitest/ui": "^1.4.0", - "eslint": "^8.57.0", - "eslint-plugin-notice": "^0.9.10", - "happy-dom": "^13.10.1", - "prettier": "^3.2.5", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "eslint": "^9.34.0", + "eslint-plugin-notice": "^1.0.0", + "happy-dom": "^18.0.1", + "prettier": "^3.6.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", "ts-json-as-const": "^1.0.7", - "type-fest": "^4.15.0", - "typescript": "^5.4.4", - "vite": "^5.2.10", - "vite-plugin-dts": "^3.8.1", - "vitest": "^1.4.0" + "type-fest": "^4.41.0", + "typescript": "^5.9.2", + "typescript-eslint": "^8.42.0", + "vite": "^5.4.19", + "vite-plugin-dts": "^3.9.1", + "vitest": "^3.2.4" } } diff --git a/packages/app-bridge-theme/src/react/useDocumentNavigation.ts b/packages/app-bridge-theme/src/react/useDocumentNavigation.ts index 8290f72da..85f27af3f 100644 --- a/packages/app-bridge-theme/src/react/useDocumentNavigation.ts +++ b/packages/app-bridge-theme/src/react/useDocumentNavigation.ts @@ -16,5 +16,5 @@ export const useDocumentNavigation = (appBridge: AppBridgeTheme, document: Docum appBridge.dispatch(hydrateContextDocumentNavigation(document.id())); }, [appBridge, document]); - return documentNavigation ? documentNavigation[document.id()] ?? [] : []; + return documentNavigation ? (documentNavigation[document.id()] ?? []) : []; }; diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts index 1ea5dad84..6bcc2a29b 100644 --- a/packages/app-bridge-theme/src/types/Guideline.ts +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -19,7 +19,9 @@ interface CoverPageBase { url(language?: string): string; type: 'cover-page'; } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface CoverPageNavigationItem extends CoverPageBase {} +// eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface CoverPage extends CoverPageBase {} export interface DocumentGroupNavigationItem { diff --git a/packages/app-bridge-theme/tsconfig.json b/packages/app-bridge-theme/tsconfig.json index 2b70f17a7..00bc359ff 100644 --- a/packages/app-bridge-theme/tsconfig.json +++ b/packages/app-bridge-theme/tsconfig.json @@ -1,22 +1,22 @@ { "compilerOptions": { - "target": "ES2021", - "useDefineForClassFields": true, + "allowImportingTsExtensions": true, + "baseUrl": ".", + "isolatedModules": true, + "jsx": "react-jsx", "lib": ["ES2021", "DOM", "DOM.Iterable"], "module": "ESNext", - "skipLibCheck": true, "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, "noEmit": true, - "jsx": "react-jsx", - "strict": true, + "noFallthroughCasesInSwitch": true, + "resolveJsonModule": true, + "target": "ES2021", + "useDefineForClassFields": true, + "skipLibCheck": true, "noUncheckedIndexedAccess": false, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "baseUrl": ".", + "strict": true, "types": ["vite/client"] }, "include": ["src", "./tests/setupTests.ts"], diff --git a/packages/app-bridge-theme/tsconfig.node.json b/packages/app-bridge-theme/tsconfig.node.json index dcb1d4ec2..a06db87c4 100644 --- a/packages/app-bridge-theme/tsconfig.node.json +++ b/packages/app-bridge-theme/tsconfig.node.json @@ -1,12 +1,14 @@ { "compilerOptions": { + "allowJs": true, + "allowSyntheticDefaultImports": true, + "baseUrl": ".", "composite": true, + "lib": ["ESNext"], "module": "ESNext", "moduleResolution": "Node", - "allowSyntheticDefaultImports": true, "resolveJsonModule": true, - "lib": ["ESNext"], "target": "ESNext" }, - "include": [".eslintrc.cjs", ".prettierrc.cjs", "vite.config.mts", "package.json"] + "include": ["eslint.config.mjs", "vite.config.mts", "package.json"] } diff --git a/packages/app-bridge-theme/vite.config.mts b/packages/app-bridge-theme/vite.config.mts index 4266c9261..1c48a5ddf 100644 --- a/packages/app-bridge-theme/vite.config.mts +++ b/packages/app-bridge-theme/vite.config.mts @@ -32,6 +32,8 @@ export default defineConfig({ environment: 'happy-dom', css: true, coverage: { + enabled: true, + provider: 'v8', all: true, reporter: ['text', 'lcov'], include: ['src/**/*.ts', 'src/**/*.tsx'], diff --git a/packages/app-bridge/.eslintignore b/packages/app-bridge/.eslintignore deleted file mode 100644 index c2961a346..000000000 --- a/packages/app-bridge/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -src/workers/upload.worker.js diff --git a/packages/app-bridge/.eslintrc.cjs b/packages/app-bridge/.eslintrc.cjs deleted file mode 100644 index 04ef1024d..000000000 --- a/packages/app-bridge/.eslintrc.cjs +++ /dev/null @@ -1,58 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -module.exports = { - root: true, - extends: ['@frontify/eslint-config-react'], - plugins: ['notice'], - settings: { - react: { - version: 'detect', - }, - }, - parserOptions: { - project: ['./tsconfig.json', './tsconfig.node.json'], - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - overrides: [ - { - files: ['*.js', '*.ts', '*.tsx'], - rules: { - 'notice/notice': [ - 'error', - { - template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', - messages: { - whenFailedToMatch: 'No Frontify copyright header set.', - }, - }, - ], - }, - }, - { - files: ['*.ts', '*.tsx', '*.mts', '*.cts'], - rules: { - 'no-prototype-builtins': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/no-floating-promises': 'warn', - '@typescript-eslint/no-misused-promises': 'warn', - '@typescript-eslint/no-unsafe-argument': 'warn', - '@typescript-eslint/no-unsafe-assignment': 'warn', - '@typescript-eslint/no-unsafe-call': 'warn', - '@typescript-eslint/no-unsafe-member-access': 'warn', - '@typescript-eslint/no-unsafe-return': 'warn', - '@typescript-eslint/require-await': 'warn', - '@typescript-eslint/await-thenable': 'warn', - '@typescript-eslint/no-unsafe-enum-comparison': 'warn', - '@typescript-eslint/restrict-plus-operands': 'warn', - }, - }, - { - files: ['**/*.md/**/*'], - processor: 'markdown/markdown', - parserOptions: { - project: null, - }, - }, - ], -}; diff --git a/packages/app-bridge/.prettierrc b/packages/app-bridge/.prettierrc new file mode 100644 index 000000000..607e8b5e1 --- /dev/null +++ b/packages/app-bridge/.prettierrc @@ -0,0 +1,8 @@ +{ + "singleQuote": true, + "tabWidth": 4, + "printWidth": 120, + "trailingComma": "all", + "arrowParens": "always", + "endOfLine": "lf" +} diff --git a/packages/app-bridge/.prettierrc.cjs b/packages/app-bridge/.prettierrc.cjs deleted file mode 100644 index ac04664a5..000000000 --- a/packages/app-bridge/.prettierrc.cjs +++ /dev/null @@ -1,10 +0,0 @@ -/* (c) Copyright Frontify Ltd., all rights reserved. */ - -module.exports = { - singleQuote: true, - tabWidth: 4, - printWidth: 120, - trailingComma: 'all', - arrowParens: 'always', - endOfLine: 'lf', -}; diff --git a/packages/app-bridge/CHANGELOG.md b/packages/app-bridge/CHANGELOG.md index af84512eb..20a3de5ce 100644 --- a/packages/app-bridge/CHANGELOG.md +++ b/packages/app-bridge/CHANGELOG.md @@ -4,214 +4,222 @@ ### Patch Changes -- [#1268](https://github.com/Frontify/brand-sdk/pull/1268) [`010b72c`](https://github.com/Frontify/brand-sdk/commit/010b72ca227278bcb4e0eadaf70252791f037532) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Asset): added the focal point properties +- [#1268](https://github.com/Frontify/brand-sdk/pull/1268) [`010b72c`](https://github.com/Frontify/brand-sdk/commit/010b72ca227278bcb4e0eadaf70252791f037532) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(Asset): added the focal point properties ## 4.0.0-alpha.42 ### Patch Changes -- [#1237](https://github.com/Frontify/brand-sdk/pull/1237) [`eb6822d`](https://github.com/Frontify/brand-sdk/commit/eb6822d507e6a96a77725cb4aeb16d26846b72ee) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor: Removed `appBridgeTheme` from the `@frontify/app-bridge` package. It is now provided via the `@frontify/app-bridge-theme` package. +- [#1237](https://github.com/Frontify/brand-sdk/pull/1237) [`eb6822d`](https://github.com/Frontify/brand-sdk/commit/eb6822d507e6a96a77725cb4aeb16d26846b72ee) Thanks [@anxobotana](https://github.com/anxobotana)! - refactor: Removed `appBridgeTheme` from the `@frontify/app-bridge` package. It is now provided via the `@frontify/app-bridge-theme` package. ## 4.0.0-alpha.41 ### Patch Changes -- [#1235](https://github.com/Frontify/brand-sdk/pull/1235) [`02fd19d`](https://github.com/Frontify/brand-sdk/commit/02fd19d27220470f6ba523a0cae29fc36ab55758) Thanks [@ragi96](https://github.com/ragi96)! - fix: AssetChooserResult Type as alternative text is prefixed with computed +- [#1235](https://github.com/Frontify/brand-sdk/pull/1235) [`02fd19d`](https://github.com/Frontify/brand-sdk/commit/02fd19d27220470f6ba523a0cae29fc36ab55758) Thanks [@ragi96](https://github.com/ragi96)! - fix: AssetChooserResult Type as alternative text is prefixed with computed ## 4.0.0-alpha.40 ### Minor Changes -- [#1232](https://github.com/Frontify/brand-sdk/pull/1232) [`559f24e`](https://github.com/Frontify/brand-sdk/commit/559f24efe287c913ecfc0755ff18c56fcfe2fa56) Thanks [@ragi96](https://github.com/ragi96)! - feat(Asset): added the property alternativeText +- [#1232](https://github.com/Frontify/brand-sdk/pull/1232) [`559f24e`](https://github.com/Frontify/brand-sdk/commit/559f24efe287c913ecfc0755ff18c56fcfe2fa56) Thanks [@ragi96](https://github.com/ragi96)! - feat(Asset): added the property alternativeText ## 4.0.0-alpha.39 ### Patch Changes -- [#1206](https://github.com/Frontify/brand-sdk/pull/1206) [`7abe2d7`](https://github.com/Frontify/brand-sdk/commit/7abe2d7635dd7f319497fd4e6e422873d7075489) Thanks [@ragi96](https://github.com/ragi96)! - refactor: remove AppBridgeCreateAsset, please use `@frontify/app-bridge-app` +- [#1206](https://github.com/Frontify/brand-sdk/pull/1206) [`7abe2d7`](https://github.com/Frontify/brand-sdk/commit/7abe2d7635dd7f319497fd4e6e422873d7075489) Thanks [@ragi96](https://github.com/ragi96)! - refactor: remove AppBridgeCreateAsset, please use `@frontify/app-bridge-app` ## 4.0.0-alpha.38 ### Patch Changes -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`cd6ac0b`](https://github.com/Frontify/brand-sdk/commit/cd6ac0b022bca6a3ca663be801f0dbe62d129728) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: merge main into dev +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`cd6ac0b`](https://github.com/Frontify/brand-sdk/commit/cd6ac0b022bca6a3ca663be801f0dbe62d129728) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: merge main into dev ## 4.0.0-alpha.37 ### Patch Changes -- chore: merge main to dev +- chore: merge main to dev + +## 3.11.2 + +### Patch Changes + +- [#1282](https://github.com/Frontify/brand-sdk/pull/1282) [`7363adb`](https://github.com/Frontify/brand-sdk/commit/7363adbb2d32b0bca189e439956609a355483382) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update dependencies ## 3.11.1 ### Patch Changes -- [#1154](https://github.com/Frontify/brand-sdk/pull/1154) [`a8f1726`](https://github.com/Frontify/brand-sdk/commit/a8f1726a344be12fe32fe2caee8355a6aeeea15b) Thanks [@mikeyrayvon](https://github.com/mikeyrayvon)! - fix(templates): prevent delete on update without existing template ids +- [#1154](https://github.com/Frontify/brand-sdk/pull/1154) [`a8f1726`](https://github.com/Frontify/brand-sdk/commit/a8f1726a344be12fe32fe2caee8355a6aeeea15b) Thanks [@mikeyrayvon](https://github.com/mikeyrayvon)! - fix(templates): prevent delete on update without existing template ids -- [#1158](https://github.com/Frontify/brand-sdk/pull/1158) [`8937b15`](https://github.com/Frontify/brand-sdk/commit/8937b15b6dfcf17c288f4b22643c991ae74d55a4) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: do not hardcode upload chunk sizes +- [#1158](https://github.com/Frontify/brand-sdk/pull/1158) [`8937b15`](https://github.com/Frontify/brand-sdk/commit/8937b15b6dfcf17c288f4b22643c991ae74d55a4) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: do not hardcode upload chunk sizes ## 4.0.0-alpha.36 ### Patch Changes -- [#1080](https://github.com/Frontify/brand-sdk/pull/1080) [`a78218b`](https://github.com/Frontify/brand-sdk/commit/a78218b302929a05616f2d157968aa007cf36115) Thanks [@julianiff](https://github.com/julianiff)! - Fix: readd method +- [#1080](https://github.com/Frontify/brand-sdk/pull/1080) [`a78218b`](https://github.com/Frontify/brand-sdk/commit/a78218b302929a05616f2d157968aa007cf36115) Thanks [@julianiff](https://github.com/julianiff)! - Fix: readd method ## 4.0.0-alpha.35 ### Patch Changes -- [#1078](https://github.com/Frontify/brand-sdk/pull/1078) [`78555ee`](https://github.com/Frontify/brand-sdk/commit/78555ee76fbb487cf4a7c0fe3cda419704b35f63) Thanks [@julianiff](https://github.com/julianiff)! - chore: remove appBridgePlatformApp +- [#1078](https://github.com/Frontify/brand-sdk/pull/1078) [`78555ee`](https://github.com/Frontify/brand-sdk/commit/78555ee76fbb487cf4a7c0fe3cda419704b35f63) Thanks [@julianiff](https://github.com/julianiff)! - chore: remove appBridgePlatformApp ## 4.0.0-alpha.34 ### Patch Changes -- [#1042](https://github.com/Frontify/brand-sdk/pull/1042) [`e345d27`](https://github.com/Frontify/brand-sdk/commit/e345d2747d00efeadd8130dcde7f0dd1f2c398bf) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add documentId to GuidelineDocumentCategory events +- [#1042](https://github.com/Frontify/brand-sdk/pull/1042) [`e345d27`](https://github.com/Frontify/brand-sdk/commit/e345d2747d00efeadd8130dcde7f0dd1f2c398bf) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add documentId to GuidelineDocumentCategory events ## 4.0.0-alpha.33 ### Patch Changes -- chore: merge main to dev +- chore: merge main to dev ## 4.0.0-alpha.32 ### Patch Changes -- [#1007](https://github.com/Frontify/brand-sdk/pull/1007) [`2c0ebf2`](https://github.com/Frontify/brand-sdk/commit/2c0ebf209915a11dd018b7453d7932d0f0ee6f3e) Thanks [@ragi96](https://github.com/ragi96)! - chore: merge main to dev +- [#1007](https://github.com/Frontify/brand-sdk/pull/1007) [`2c0ebf2`](https://github.com/Frontify/brand-sdk/commit/2c0ebf209915a11dd018b7453d7932d0f0ee6f3e) Thanks [@ragi96](https://github.com/ragi96)! - chore: merge main to dev -- [#992](https://github.com/Frontify/brand-sdk/pull/992) [`f60bbf4`](https://github.com/Frontify/brand-sdk/commit/f60bbf42218880ee8042e5830152a2112eef09dc) Thanks [@julianiff](https://github.com/julianiff)! - feat: deprecate react hooks for platform apps +- [#992](https://github.com/Frontify/brand-sdk/pull/992) [`f60bbf4`](https://github.com/Frontify/brand-sdk/commit/f60bbf42218880ee8042e5830152a2112eef09dc) Thanks [@julianiff](https://github.com/julianiff)! - feat: deprecate react hooks for platform apps ## 4.0.0-alpha.31 ### Patch Changes -- [#956](https://github.com/Frontify/brand-sdk/pull/956) [`2491b6e`](https://github.com/Frontify/brand-sdk/commit/2491b6e88fc41ca8eafff5e41ec181247a968c46) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds state listener to allow push from parent +- [#956](https://github.com/Frontify/brand-sdk/pull/956) [`2491b6e`](https://github.com/Frontify/brand-sdk/commit/2491b6e88fc41ca8eafff5e41ec181247a968c46) Thanks [@julianiff](https://github.com/julianiff)! - feat: adds state listener to allow push from parent ## 4.0.0-alpha.30 ### Patch Changes -- chore: merge branch `main` into dev +- chore: merge branch `main` into dev ## 4.0.0-alpha.29 ### Patch Changes -- [#941](https://github.com/Frontify/brand-sdk/pull/941) [`4e643ec`](https://github.com/Frontify/brand-sdk/commit/4e643ec9414e5671f877c556b68436a1a06569cb) Thanks [@julianiff](https://github.com/julianiff)! - Feat: adjust secure request response +- [#941](https://github.com/Frontify/brand-sdk/pull/941) [`4e643ec`](https://github.com/Frontify/brand-sdk/commit/4e643ec9414e5671f877c556b68436a1a06569cb) Thanks [@julianiff](https://github.com/julianiff)! - Feat: adjust secure request response ## 4.0.0-alpha.28 ### Patch Changes -- [#939](https://github.com/Frontify/brand-sdk/pull/939) [`7ea653c`](https://github.com/Frontify/brand-sdk/commit/7ea653ca17f2a16c72e8ee5525580eaee0d6405a) Thanks [@julianiff](https://github.com/julianiff)! - refactor: rename brandsdk name from secretRequest to secureRequest +- [#939](https://github.com/Frontify/brand-sdk/pull/939) [`7ea653c`](https://github.com/Frontify/brand-sdk/commit/7ea653ca17f2a16c72e8ee5525580eaee0d6405a) Thanks [@julianiff](https://github.com/julianiff)! - refactor: rename brandsdk name from secretRequest to secureRequest ## 4.0.0-alpha.27 ### Patch Changes -- [#937](https://github.com/Frontify/brand-sdk/pull/937) [`341886e`](https://github.com/Frontify/brand-sdk/commit/341886e9d16184048f9285d692df5177bfd2d0d1) Thanks [@julianiff](https://github.com/julianiff)! - chore: rename brand sdk name +- [#937](https://github.com/Frontify/brand-sdk/pull/937) [`341886e`](https://github.com/Frontify/brand-sdk/commit/341886e9d16184048f9285d692df5177bfd2d0d1) Thanks [@julianiff](https://github.com/julianiff)! - chore: rename brand sdk name ## 4.0.0-alpha.26 ### Patch Changes -- [#929](https://github.com/Frontify/brand-sdk/pull/929) [`414ea40`](https://github.com/Frontify/brand-sdk/commit/414ea4092d5446815df032a87471829801604634) Thanks [@julianiff](https://github.com/julianiff)! - refactor: Method to reflect feature +- [#929](https://github.com/Frontify/brand-sdk/pull/929) [`414ea40`](https://github.com/Frontify/brand-sdk/commit/414ea4092d5446815df032a87471829801604634) Thanks [@julianiff](https://github.com/julianiff)! - refactor: Method to reflect feature ## 4.0.0-alpha.25 ### Patch Changes -- chore: merge main to dev +- chore: merge main to dev ## 4.0.0-alpha.24 ### Patch Changes -- chore: merge main to dev +- chore: merge main to dev ## 4.0.0-alpha.23 ### Patch Changes -- [#918](https://github.com/Frontify/brand-sdk/pull/918) [`1d48008`](https://github.com/Frontify/brand-sdk/commit/1d48008561a2dc3f4b7b4c9fcb7bc44cd7d04bc6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: Merge main into dev +- [#918](https://github.com/Frontify/brand-sdk/pull/918) [`1d48008`](https://github.com/Frontify/brand-sdk/commit/1d48008561a2dc3f4b7b4c9fcb7bc44cd7d04bc6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - chore: Merge main into dev ## 4.0.0-alpha.22 ### Patch Changes -- chore: merge branch `main` into dev +- chore: merge branch `main` into dev ## 4.0.0-alpha.21 ### Patch Changes -- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state +- [#910](https://github.com/Frontify/brand-sdk/pull/910) [`0723d89`](https://github.com/Frontify/brand-sdk/commit/0723d89575f47682bc146661e693651f61965c8c) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: (AppBridgeTheme) update appBridgeThemeStub with context and state ## 4.0.0-alpha.20 ### Patch Changes -- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe +- [#900](https://github.com/Frontify/brand-sdk/pull/900) [`9294b16`](https://github.com/Frontify/brand-sdk/commit/9294b164ad2b3fc502004e3d8d86ee29737ac822) Thanks [@julianiff](https://github.com/julianiff)! - feat(AppBridgePlatformApp): only one app bridge per iframe -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`2a5b9cf`](https://github.com/Frontify/brand-sdk/commit/2a5b9cfb1e73331a3a4d39550a3a26de8a7e0c94) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeTheme): add isSearchDialogOpen to context ## 4.0.0-alpha.19 ### Patch Changes -- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable +- [#895](https://github.com/Frontify/brand-sdk/pull/895) [`b31a73d`](https://github.com/Frontify/brand-sdk/commit/b31a73d1756f01374682552a3013173f3c8f5384) Thanks [@julianiff](https://github.com/julianiff)! - feat: add user state variable ## 4.0.0-alpha.18 ### Patch Changes -- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed - fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed +- [#884](https://github.com/Frontify/brand-sdk/pull/884) [`4fe96c8`](https://github.com/Frontify/brand-sdk/commit/4fe96c8808d1b85541dd6cc5ed2711bc5a47f4eb) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed ## 4.0.0-alpha.17 ### Minor Changes -- # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- # [#864](https://github.com/Frontify/brand-sdk/pull/864) [`c46694a`](https://github.com/Frontify/brand-sdk/commit/c46694abe2ce06d78e8bd27ef832e92244116108) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- [#1136](https://github.com/Frontify/brand-sdk/pull/1136) [`6bafe6c`](https://github.com/Frontify/brand-sdk/commit/6bafe6c0aadc0dcba8a8b3c7bb283e219c47b5ef) Thanks [@ragi96](https://github.com/ragi96)! - refactor(AssetChooserType): remove PatternLibrary as it is sunset + refactor(DocumentMode): remove PatternLibrary as it is sunset ## 3.10.1 ### Patch Changes -- [#1013](https://github.com/Frontify/brand-sdk/pull/1013) [`4f0f660`](https://github.com/Frontify/brand-sdk/commit/4f0f6603f9c3f65598ccbf5c81d3c4b02f732533) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - refactor: remove change_properties from `Document` and `DocumentPage` +- [#1013](https://github.com/Frontify/brand-sdk/pull/1013) [`4f0f660`](https://github.com/Frontify/brand-sdk/commit/4f0f6603f9c3f65598ccbf5c81d3c4b02f732533) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - refactor: remove change_properties from `Document` and `DocumentPage` ## 3.10.0 ### Minor Changes -- [#980](https://github.com/Frontify/brand-sdk/pull/980) [`bf9529d`](https://github.com/Frontify/brand-sdk/commit/bf9529d50ef1d31ad147b08d52009e2d2df6f289) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `guideline_title` to the `GuidelineSearchResultApi`. +- [#980](https://github.com/Frontify/brand-sdk/pull/980) [`bf9529d`](https://github.com/Frontify/brand-sdk/commit/bf9529d50ef1d31ad147b08d52009e2d2df6f289) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `guideline_title` to the `GuidelineSearchResultApi`. ## 3.9.2 ### Patch Changes -- [#950](https://github.com/Frontify/brand-sdk/pull/950) [`d938929`](https://github.com/Frontify/brand-sdk/commit/d9389295b856b93d73e5defdd2a347964e1b5377) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - fix: remove unused properties from `DocumentSectionApi` +- [#950](https://github.com/Frontify/brand-sdk/pull/950) [`d938929`](https://github.com/Frontify/brand-sdk/commit/d9389295b856b93d73e5defdd2a347964e1b5377) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - fix: remove unused properties from `DocumentSectionApi` ## 3.9.1 ### Patch Changes -- [#920](https://github.com/Frontify/brand-sdk/pull/920) [`c2477e7`](https://github.com/Frontify/brand-sdk/commit/c2477e76f7c221ae5435c783f3ef85ceb6295ca0) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(assetViewer): add isDownloadable option to asset viewer +- [#920](https://github.com/Frontify/brand-sdk/pull/920) [`c2477e7`](https://github.com/Frontify/brand-sdk/commit/c2477e76f7c221ae5435c783f3ef85ceb6295ca0) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - feat(assetViewer): add isDownloadable option to asset viewer ## 3.9.0 ### Minor Changes -- [#921](https://github.com/Frontify/brand-sdk/pull/921) [`17af9f1`](https://github.com/Frontify/brand-sdk/commit/17af9f135a85b55f7e7757a112adf34125d03502) Thanks [@ragi96](https://github.com/ragi96)! - feat: add `ìsDownloadProtected` to the `Asset` +- [#921](https://github.com/Frontify/brand-sdk/pull/921) [`17af9f1`](https://github.com/Frontify/brand-sdk/commit/17af9f135a85b55f7e7757a112adf34125d03502) Thanks [@ragi96](https://github.com/ragi96)! - feat: add `ìsDownloadProtected` to the `Asset` ## 3.8.0 ### Minor Changes -- [#909](https://github.com/Frontify/brand-sdk/pull/909) [`14b9fdf`](https://github.com/Frontify/brand-sdk/commit/14b9fdfb5bc58b482350109d1eee1a8c4ff942d6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(useAfterInsertion): A new hook to execute a callback after a block has been inserted, can be used to focus a specific element for faster editing. The callback is only executed when the third argument is true (default). This hook is only usable with instances of AppBridgeBlock. +- [#909](https://github.com/Frontify/brand-sdk/pull/909) [`14b9fdf`](https://github.com/Frontify/brand-sdk/commit/14b9fdfb5bc58b482350109d1eee1a8c4ff942d6) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(useAfterInsertion): A new hook to execute a callback after a block has been inserted, can be used to focus a specific element for faster editing. The callback is only executed when the third argument is true (default). This hook is only usable with instances of AppBridgeBlock. ```jsx const ExampleBlock = ({ appBridge }: BlockProps) => { @@ -235,146 +243,145 @@ ### Minor Changes -- [#912](https://github.com/Frontify/brand-sdk/pull/912) [`fa18d35`](https://github.com/Frontify/brand-sdk/commit/fa18d35a554f32d561d7ed33d3e2e5fa3fb90a89) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `project_color_id` to the `GuidelineSearchResultApi`. +- [#912](https://github.com/Frontify/brand-sdk/pull/912) [`fa18d35`](https://github.com/Frontify/brand-sdk/commit/fa18d35a554f32d561d7ed33d3e2e5fa3fb90a89) Thanks [@bojangles-m](https://github.com/bojangles-m)! - feat: added additional prop `project_color_id` to the `GuidelineSearchResultApi`. ### Patch Changes -- [#913](https://github.com/Frontify/brand-sdk/pull/913) [`bf41e48`](https://github.com/Frontify/brand-sdk/commit/bf41e480d93b75084deee811099cc3ea094696fb) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds nullable `backgroundColor` to the `asset` +- [#913](https://github.com/Frontify/brand-sdk/pull/913) [`bf41e48`](https://github.com/Frontify/brand-sdk/commit/bf41e480d93b75084deee811099cc3ea094696fb) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds nullable `backgroundColor` to the `asset` ## 3.6.3 ### Patch Changes -- [#903](https://github.com/Frontify/brand-sdk/pull/903) [`b8c5bb7`](https://github.com/Frontify/brand-sdk/commit/b8c5bb7156a58f6fa020dd56fa1cb6a016440666) Thanks [@Kenny806](https://github.com/Kenny806)! - feat(AppBridgeTheme): add isSearchDialogOpen to context +- [#903](https://github.com/Frontify/brand-sdk/pull/903) [`b8c5bb7`](https://github.com/Frontify/brand-sdk/commit/b8c5bb7156a58f6fa020dd56fa1cb6a016440666) Thanks [@Kenny806](https://github.com/Kenny806)! - feat(AppBridgeTheme): add isSearchDialogOpen to context ## 3.6.2 ### Patch Changes -- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` +- [#892](https://github.com/Frontify/brand-sdk/pull/892) [`fe3323c`](https://github.com/Frontify/brand-sdk/commit/fe3323ccb4c6b9c18bc5eee9564b3468e645fa4d) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `vite` to `5.2.10` ## 3.6.1 ### Patch Changes -- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed - fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed +- [#882](https://github.com/Frontify/brand-sdk/pull/882) [`f6897fb`](https://github.com/Frontify/brand-sdk/commit/f6897fb6b758c03053fcf88805f100c3c0b33d1e) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix(useDocumentNavigation): Fixed an issue that prevented debounced callbacks not to be executed + fix(usePortalNavigation): Fixed an issue that prevented debounced callbacks not to be executed ## 3.6.0 ### Minor Changes -- [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` +- [#871](https://github.com/Frontify/brand-sdk/pull/871) [`cc7532a`](https://github.com/Frontify/brand-sdk/commit/cc7532ae5a3803f12997887e9f1ca9993e9f8e7c) Thanks [@ryancarville](https://github.com/ryancarville)! - feat(AppBridgeBlock): adds `creationFormUri` to the type `template` ## 4.0.0-alpha.16 ### Patch Changes -- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#877](https://github.com/Frontify/brand-sdk/pull/877) [`1dd80ad`](https://github.com/Frontify/brand-sdk/commit/1dd80ad39568e96e97ab73c04feee3a949764ae9) Thanks [@mike85](https://github.com/mike85)! - feat(usePageTemplateSettings): returns also templateThemeSettings ## 3.5.9 ### Patch Changes -- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings +- [#875](https://github.com/Frontify/brand-sdk/pull/875) [`d74dc90`](https://github.com/Frontify/brand-sdk/commit/d74dc90501cd0aac39f67a834014fd9c261abfb0) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(usePageTemplateSettings): returns also templateThemeSettings ## 4.0.0-alpha.15 ### Patch Changes -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0f17eb8`](https://github.com/Frontify/brand-sdk/commit/0f17eb82afdc30692e02d1cf150d622f38d0913a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - feat: merge `main` into `dev` ## 3.5.8 ### Patch Changes -- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook +- [#868](https://github.com/Frontify/brand-sdk/pull/868) [`88fb3c3`](https://github.com/Frontify/brand-sdk/commit/88fb3c3b0235d9fc89c9a352273bacfaf53fdb0e) Thanks [@mike85](https://github.com/mike85)! - feat(AppBridgeTheme): add useDocumentNavigation hook ## 4.0.0-alpha.14 ### Major Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat: modify `DocumentSection` and `DocumentSectionApi` type to allow `title` to be `null`. ### Patch Changes -- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. - - - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. +- [#841](https://github.com/Frontify/brand-sdk/pull/841) [`d88b50d`](https://github.com/Frontify/brand-sdk/commit/d88b50dd6e2235262dbae7250db053f9052228d1) Thanks [@SamCreasey](https://github.com/SamCreasey)! - - feat(useDocumentSection): Subscribe hook to emitter event listeners. A new emitter type, `AppBridge:GuidelineDocumentSection:Action` has been added. This emitter can be used to add and remove items from the sections saved in the hook state. + - feat(useDocumentSection): `navigationItems` is now returned from this hook. This array filters out sections with an unreadable title and should be used to create section navigation links. ## 3.5.7 ### Patch Changes -- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook +- [#856](https://github.com/Frontify/brand-sdk/pull/856) [`b2060ff`](https://github.com/Frontify/brand-sdk/commit/b2060ff02448ca127c34d0745f363ff8bd06ec77) Thanks [@anxobotana](https://github.com/anxobotana)! - feat(AppBridgeTheme): add usePortalNavigation hook ## 3.5.6 ### Patch Changes -- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files +- [#853](https://github.com/Frontify/brand-sdk/pull/853) [`d980eb3`](https://github.com/Frontify/brand-sdk/commit/d980eb367062b4c4cd6416f852408da4f13c74ab) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: update eslint and lint fix all files -- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies +- [#855](https://github.com/Frontify/brand-sdk/pull/855) [`bcfe9ab`](https://github.com/Frontify/brand-sdk/commit/bcfe9abea8872b8341b053159827a953bdbea16c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump dependencies ## 4.0.0-alpha.13 ### Patch Changes -- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 +- [#843](https://github.com/Frontify/brand-sdk/pull/843) [`3109e66`](https://github.com/Frontify/brand-sdk/commit/3109e66248fb9185c312d8170055452dce796bc4) Thanks [@julianiff](https://github.com/julianiff)! - chore: move up to v4 -- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`0d9d0af`](https://github.com/Frontify/brand-sdk/commit/0d9d0afe4fc55b0e0c5b1e397aeaf77e7e8c4a69) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 4.0.0-alpha.12 ### Patch Changes -- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` +- [`18c91b1`](https://github.com/Frontify/brand-sdk/commit/18c91b184651f49c490d381054b3ec543f928551) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge `main` into `dev` ## 4.0.0-alpha.11 ### Minor Changes -- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#830](https://github.com/Frontify/brand-sdk/pull/830) [`e14ef89`](https://github.com/Frontify/brand-sdk/commit/e14ef895606e72af066e614983b61ca8778c108d) Thanks [@ragi96](https://github.com/ragi96)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 4.0.0-alpha.10 ### Minor Changes -- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#808](https://github.com/Frontify/brand-sdk/pull/808) [`4529beb`](https://github.com/Frontify/brand-sdk/commit/4529beb4b9f20ba94c7d6226257b422d6b560d5a) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#810](https://github.com/Frontify/brand-sdk/pull/810) [`0ac69ea`](https://github.com/Frontify/brand-sdk/commit/0ac69eaa52ba58a5be06ce75afa63cf5838e958b) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 4.0.0-alpha.9 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.5.4 ### Patch Changes -- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method +- [#821](https://github.com/Frontify/brand-sdk/pull/821) [`efde7a5`](https://github.com/Frontify/brand-sdk/commit/efde7a511b3d4fbbe17af5f0e41982d003743b35) Thanks [@imoutaharik](https://github.com/imoutaharik)! - feat(AppBridgePlatformApp): add the `proxyMethodCall` method ## 3.5.3 ### Patch Changes -- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well +- [#834](https://github.com/Frontify/brand-sdk/pull/834) [`1612681`](https://github.com/Frontify/brand-sdk/commit/1612681472c6eff8b732aed10c33d0ac83269b83) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: useTemplateAssets hook to return themeAsset as well ## 3.5.2 ### Patch Changes -- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type +- [#825](https://github.com/Frontify/brand-sdk/pull/825) [`8430626`](https://github.com/Frontify/brand-sdk/commit/8430626870f7fb139d2b10b4f1f26040be1c6bbc) Thanks [@SamCreasey](https://github.com/SamCreasey)! - feat(AppBridgeBlock): add `isAuthenticated` to `BlockContext` type ## 3.5.1 ### Patch Changes -- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. +- [#818](https://github.com/Frontify/brand-sdk/pull/818) [`c25d717`](https://github.com/Frontify/brand-sdk/commit/c25d71757e44406c065c65374d1d800a6d5694de) Thanks [@SamCreasey](https://github.com/SamCreasey)! - fix(useBlockSettings): `setBlockSettings` has been wrapped in a `useCallback` so it can be safely used as a dependency in react hooks. The following code will no longer cause unexpected rerenders. ```jsx const Component = () => { @@ -390,123 +397,123 @@ ### Minor Changes -- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme +- [#807](https://github.com/Frontify/brand-sdk/pull/807) [`909e0f5`](https://github.com/Frontify/brand-sdk/commit/909e0f5ef98e7bd1da6b0d96e32fdcde74a87d8d) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add navigateToDocumentSection command to AppBridgeTheme ### Patch Changes -- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests +- [#806](https://github.com/Frontify/brand-sdk/pull/806) [`5115dfd`](https://github.com/Frontify/brand-sdk/commit/5115dfda65ce87e53a26831e05034534d50a05be) Thanks [@anxobotana](https://github.com/anxobotana)! - fix: useGroupedDocuments and useUngroupedDocuments flaky tests ## 3.4.2 ### Patch Changes -- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages +- [`babce0e`](https://github.com/Frontify/brand-sdk/commit/babce0eb251fa78ef9c7b4c2c0ce740c7d66718d) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add the dist folder to published packages ## 4.0.0-alpha.8 ### Patch Changes -- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription +- [#777](https://github.com/Frontify/brand-sdk/pull/777) [`b5d1cb8`](https://github.com/Frontify/brand-sdk/commit/b5d1cb8a376ccada20d0234913584a6bdba0cba9) Thanks [@julianiff](https://github.com/julianiff)! - Fix: add retry to subscription -- Merge main into dev +- Merge main into dev ## 3.4.1 ### Patch Changes -- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [`b0424c0`](https://github.com/Frontify/brand-sdk/commit/b0424c0a6dc1beef011c0d32124f53aed2e2a4b7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies -- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM +- [#776](https://github.com/Frontify/brand-sdk/pull/776) [`29ef8e1`](https://github.com/Frontify/brand-sdk/commit/29ef8e1e64a6372d580af06a86ef39ca2052662a) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Remove CJS to embrace ESM ## 3.4.0 ### Minor Changes -- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#775](https://github.com/Frontify/brand-sdk/pull/775) [`3837782`](https://github.com/Frontify/brand-sdk/commit/383778258e862fb4fef62bf33aa71db71727aca1) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.7 ### Minor Changes -- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme +- [#780](https://github.com/Frontify/brand-sdk/pull/780) [`40b18c4`](https://github.com/Frontify/brand-sdk/commit/40b18c473478750ce04eb18a7ff290e34b65b94f) Thanks [@mike85](https://github.com/mike85)! - feat: add open/close search dialog commands to AppBridgeTheme ## 4.0.0-alpha.6 ### Patch Changes -- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 +- [#772](https://github.com/Frontify/brand-sdk/pull/772) [`3e44c59`](https://github.com/Frontify/brand-sdk/commit/3e44c596628abcad11414eb26a954f4cb6eea097) Thanks [@julianiff](https://github.com/julianiff)! - feat: switch to platformAppBridge to v4 -- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext - refactor: rename from type to surface +- [#774](https://github.com/Frontify/brand-sdk/pull/774) [`7a80244`](https://github.com/Frontify/brand-sdk/commit/7a80244b2ebf075f93a492513970b3ee2c92dc80) Thanks [@julianiff](https://github.com/julianiff)! - feat: Adjust PlatformAppContext + refactor: rename from type to surface ## 4.0.0-alpha.5 ### Patch Changes -- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [`a4822db`](https://github.com/Frontify/brand-sdk/commit/a4822db8bb86c2516241395963979369e0311a7a) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type -- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev +- [`5e4178c`](https://github.com/Frontify/brand-sdk/commit/5e4178c1e1028cec2af73bd34fedf56078f8b42c) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Merge main into dev ## 3.3.2 ### Patch Changes -- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type +- [#769](https://github.com/Frontify/brand-sdk/pull/769) [`dde3283`](https://github.com/Frontify/brand-sdk/commit/dde328355d240a730ba6a6d465166c0ecc773548) Thanks [@oliverschwendener](https://github.com/oliverschwendener)! - fix: document page duplication return type ## 4.0.0-alpha.4 ### Patch Changes -- Merge main into dev +- Merge main into dev ## 3.3.1 ### Patch Changes -- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies +- [#766](https://github.com/Frontify/brand-sdk/pull/766) [`3775b46`](https://github.com/Frontify/brand-sdk/commit/3775b4651b6d700e7179a360190a92e7f0fe51e6) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Update dependencies ## 4.0.0-alpha.3 ### Patch Changes -- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision +- [#734](https://github.com/Frontify/brand-sdk/pull/734) [`029dd26`](https://github.com/Frontify/brand-sdk/commit/029dd26b26734539e80af86bcaa49d2caf9a7771) Thanks [@ragi96](https://github.com/ragi96)! - feat: adjust the color type to have a revision ## 4.0.0-alpha.2 ### Patch Changes -- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#753](https://github.com/Frontify/brand-sdk/pull/753) [`50937f2`](https://github.com/Frontify/brand-sdk/commit/50937f2170f5ee1eab05726e141fc0e932f71865) Thanks [@ragi96](https://github.com/ragi96)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 4.0.0-alpha.1 ### Patch Changes -- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme +- [#742](https://github.com/Frontify/brand-sdk/pull/742) [`5ea66a7`](https://github.com/Frontify/brand-sdk/commit/5ea66a79bac131f5b34f1a1bf60fbe81add6b17f) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add context.template to AppBridgeTheme ## 3.3.0 ### Minor Changes -- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock +- [#730](https://github.com/Frontify/brand-sdk/pull/730) [`816751c`](https://github.com/Frontify/brand-sdk/commit/816751c66476dc85af09364344de23f8b5f68483) Thanks [@hochreutenerl](https://github.com/hochreutenerl)! - feat: adds `setAssetIdsByBlockAssetKey` to AppBridgeBlock ## 3.2.0 ### Minor Changes -- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context +- [#731](https://github.com/Frontify/brand-sdk/pull/731) [`b9c4fc4`](https://github.com/Frontify/brand-sdk/commit/b9c4fc4fddacabb988ceb0cbe125c1793a697e19) Thanks [@anxobotana](https://github.com/anxobotana)! - feat: add theme template context to appBridgeThemes context ## 4.0.0-alpha.0 ### Major Changes -- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock +- [#705](https://github.com/Frontify/brand-sdk/pull/705) [`a027b87`](https://github.com/Frontify/brand-sdk/commit/a027b87593ae25d18cda62c4989920a16958d28c) Thanks [@ragi96](https://github.com/ragi96)! - feat: first alpha release, removes all deprecated functions on the AppBridgeBlock ## 3.1.0 ### Minor Changes -- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. - You will need to update the import paths in your tests: +- [#714](https://github.com/Frontify/brand-sdk/pull/714) [`68a9298`](https://github.com/Frontify/brand-sdk/commit/68a9298df9e2177e70333f47dc433a056d76625b) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Split the testing utilities out of the main bundle, so they don't end up in production builds. + You will need to update the import paths in your tests: ```git - import { AssetDummy, withAppBridgeBlockStubs } from '@frontify/app-bridge'; @@ -517,40 +524,40 @@ ### Patch Changes -- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json +- [#713](https://github.com/Frontify/brand-sdk/pull/713) [`c98d8c4`](https://github.com/Frontify/brand-sdk/commit/c98d8c414b2cdd00d4945f0c29581370b0a7daa0) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Add typing for package.json ## 3.0.3 ### Patch Changes -- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order +- [#711](https://github.com/Frontify/brand-sdk/pull/711) [`6672186`](https://github.com/Frontify/brand-sdk/commit/6672186580907a4ef74870696bb3720da1390f30) Thanks [@julianiff](https://github.com/julianiff)! - refactor: change variable order ## 3.0.2 ### Patch Changes -- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions +- [#680](https://github.com/Frontify/brand-sdk/pull/680) [`3fa74ba`](https://github.com/Frontify/brand-sdk/commit/3fa74badfedd8c52661f23e0528dc35d8a10062d) Thanks [@ragi96](https://github.com/ragi96)! - chore: replace usage of deprecated appBridgeBlock functions ## 3.0.1 ### Patch Changes -- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings +- [`a2b2ee7`](https://github.com/Frontify/brand-sdk/commit/a2b2ee78b8df136c823a3603c284aba4db08bbf7) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - Change Theme Settings to be Theme Template Settings ## 3.0.0 ### Major Changes -- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release +- [#620](https://github.com/Frontify/brand-sdk/pull/620) [`728cfd9`](https://github.com/Frontify/brand-sdk/commit/728cfd9e16a5c286fda4b2ae31dd96118c811929) Thanks [@ragi96](https://github.com/ragi96)! - chore: stable version release ## 3.0.0-beta.32 ### Patch Changes -- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions +- [`3205f68`](https://github.com/Frontify/brand-sdk/commit/3205f682dbe0080dd2a00abee5e785f87d014f0d) Thanks [@GoranRibic](https://github.com/GoranRibic)! - Added more guideline actions ## 3.0.0-beta.31 ### Minor Changes -- Add Brandportal link +- Add Brandportal link diff --git a/packages/app-bridge/eslint.config.mjs b/packages/app-bridge/eslint.config.mjs new file mode 100644 index 000000000..7113b74ab --- /dev/null +++ b/packages/app-bridge/eslint.config.mjs @@ -0,0 +1,56 @@ +/* (c) Copyright Frontify Ltd., all rights reserved. */ + +// @ts-check + +// @ts-expect-error No types available +import frontifyConfig from '@frontify/eslint-config-react'; +// @ts-expect-error No types available +import noticePlugin from 'eslint-plugin-notice'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + { + ignores: ['dist/', 'coverage/', 'node_modules/', '**/*.md/**.ts', 'src/workers/upload.worker.js'], + }, + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + frontifyConfig, + { + files: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts', '**/*.cjs'], + languageOptions: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + plugins: { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + notice: noticePlugin, + }, + rules: { + // Copyright header rules + 'notice/notice': [ + 'error', + { + template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n', + messages: { + whenFailedToMatch: 'No Frontify copyright header set.', + }, + }, + ], + + '@typescript-eslint/no-redundant-type-constituents': 'off', + 'no-prototype-builtins': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-floating-promises': 'warn', + '@typescript-eslint/no-misused-promises': 'warn', + '@typescript-eslint/no-unsafe-argument': 'warn', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/await-thenable': 'warn', + '@typescript-eslint/no-unsafe-enum-comparison': 'warn', + '@typescript-eslint/restrict-plus-operands': 'warn', + }, + }, +); diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index afbc9f203..e28428c43 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -46,7 +46,7 @@ "peerDependencies": { "react": "^18", "react-dom": "^18", - "sinon": "^15 || ^16 || ^17" + "sinon": "^15 || ^16 || ^17 || ^18 || ^19 || ^20 || ^21" }, "dependencies": { "immer": "^10.0.4", @@ -55,28 +55,29 @@ "type-fest": "^4.15.0" }, "devDependencies": { - "@frontify/eslint-config-react": "^0.17.6", - "@testing-library/react": "^14.3.0", + "@frontify/eslint-config-react": "^1.0.4", + "@testing-library/react": "^16.3.0", "@types/lodash-es": "^4.17.12", - "@types/react": "^18.2.75", - "@types/react-dom": "^18.2.24", - "@types/sinon": "^17.0.3", - "@vitest/coverage-v8": "^1.4.0", - "@vitest/ui": "^1.4.0", - "eslint": "^8.57.0", - "eslint-plugin-notice": "^0.9.10", - "happy-dom": "^13.10.1", + "@types/react": "^18.3.24", + "@types/react-dom": "^18.3.7", + "@types/sinon": "^17.0.4", + "@vitest/coverage-v8": "^3.2.4", + "@vitest/ui": "^3.2.4", + "eslint": "^9.34.0", + "eslint-plugin-notice": "^1.0.0", + "happy-dom": "^18.0.1", "mitt": "^3.0.1", - "msw": "^1.3.3", - "prettier": "^3.2.5", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sinon": "^17.0.1", + "msw": "^1.3.5", + "prettier": "^3.6.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sinon": "^21.0.0", "ts-json-as-const": "^1.0.7", - "typescript": "^5.4.4", - "vite": "^5.2.10", - "vite-plugin-dts": "^3.8.1", - "vite-plugin-static-copy": "^1.0.2", - "vitest": "^1.4.0" + "typescript": "^5.9.2", + "typescript-eslint": "^8.42.0", + "vite": "^5.4.19", + "vite-plugin-dts": "^3.9.1", + "vite-plugin-static-copy": "^3.1.2", + "vitest": "^3.2.4" } } diff --git a/packages/app-bridge/src/react/useAssetBulkDownload.ts b/packages/app-bridge/src/react/useAssetBulkDownload.ts index 79dcca682..061db2379 100644 --- a/packages/app-bridge/src/react/useAssetBulkDownload.ts +++ b/packages/app-bridge/src/react/useAssetBulkDownload.ts @@ -61,12 +61,16 @@ export const useAssetBulkDownload = (appBridge: AppBridgeBlock) => { if (download.downloadUrl) { setStatus(AssetBulkDownloadState.Ready); setDownloadUrl(download.downloadUrl); - intervalId.current && clearInterval(intervalId.current); + if (intervalId.current) { + clearInterval(intervalId.current); + } } } catch (error) { setStatus(AssetBulkDownloadState.Error); console.error(error); - intervalId.current && clearInterval(intervalId.current); + if (intervalId.current) { + clearInterval(intervalId.current); + } } })(); }, 2500); diff --git a/packages/app-bridge/src/react/useAssetChooser.spec.tsx b/packages/app-bridge/src/react/useAssetChooser.spec.tsx index a4ace2bcf..772a73899 100644 --- a/packages/app-bridge/src/react/useAssetChooser.spec.tsx +++ b/packages/app-bridge/src/react/useAssetChooser.spec.tsx @@ -28,8 +28,9 @@ const AssetChooserDummy = ({ - @@ -54,7 +63,7 @@ describe('useBlockSettings', () => { expect(getByTestId(BLOCK_SETTINGS_DIV_ID).textContent).toBe('{}'); }); - it('should initially set the block settings to the API data', async () => { + it('should initially set the block settings to the API data', () => { const [BlockWithStubs] = withAppBridgeBlockStubs(Block, { blockSettings: NEW_SETTINGS, }); @@ -180,7 +189,7 @@ describe('useBlockSettings', () => { }); }); - it('gets the correct settings when rendering 2 blocks', async () => { + it('gets the correct settings when rendering 2 blocks', () => { const CURRENT_SETTINGS = { foo: 'https://frontify.com' }; const [Block1WithStubs] = withAppBridgeBlockStubs(Block, { diff --git a/packages/app-bridge/src/react/useBlockTemplates.spec.ts b/packages/app-bridge/src/react/useBlockTemplates.spec.ts index 51fdb5e70..6beac194f 100644 --- a/packages/app-bridge/src/react/useBlockTemplates.spec.ts +++ b/packages/app-bridge/src/react/useBlockTemplates.spec.ts @@ -18,7 +18,7 @@ describe('useBlockTemplates hook', () => { cleanup(); }); - const loadUseBlockTemplates = async (existingTemplates = [TemplateDummy.with(1)]) => { + const loadUseBlockTemplates = (existingTemplates = [TemplateDummy.with(1)]) => { const template = TemplateDummy.with(1); const appBridgeStub = getAppBridgeBlockStub({ blockId: 123, @@ -154,7 +154,7 @@ describe('useBlockTemplates hook', () => { await result.current.addTemplateIdsToKey('key', [1]); }); - await waitFor(async () => { + await waitFor(() => { expect(result.current.error).toEqual(errorMessage); }); }); @@ -170,7 +170,7 @@ describe('useBlockTemplates hook', () => { await result.current.deleteTemplateIdsFromKey('key', [1]); }); - await waitFor(async () => { + await waitFor(() => { expect(result.current.error).toEqual(errorMessage); }); }); @@ -187,7 +187,7 @@ describe('useBlockTemplates hook', () => { await result.current.deleteTemplateIdsFromKey('key', [1]); }); - await waitFor(async () => { + await waitFor(() => { expect(result.current.error).toEqual(errorMessage); }); }); diff --git a/packages/app-bridge/src/react/useCategorizedDocumentPages.ts b/packages/app-bridge/src/react/useCategorizedDocumentPages.ts index fad8d9a79..6a98bbab0 100644 --- a/packages/app-bridge/src/react/useCategorizedDocumentPages.ts +++ b/packages/app-bridge/src/react/useCategorizedDocumentPages.ts @@ -24,6 +24,7 @@ export const useCategorizedDocumentPages = ( documentCategoryId: number, options: Options = { enabled: true }, ) => { + // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentPages, setDocumentPages] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useColors.spec.ts b/packages/app-bridge/src/react/useColors.spec.ts index faad07712..361ede18c 100644 --- a/packages/app-bridge/src/react/useColors.spec.ts +++ b/packages/app-bridge/src/react/useColors.spec.ts @@ -10,7 +10,7 @@ import { useColors } from './useColors'; const COLOR_PALETTE_ID = 1; describe('useColors hook', () => { - const loadUseColors = async () => { + const loadUseColors = () => { const appBridgeStub = getAppBridgeBlockStub(); const { result } = renderHook(() => useColors(appBridgeStub, COLOR_PALETTE_ID)); @@ -34,7 +34,7 @@ describe('useColors hook', () => { const createColorMock = vi.fn().mockImplementation(result.current.createColor); - expect(createColorMock()).resolves.not.toThrow(); + await expect(createColorMock()).resolves.not.toThrow(); }); it('should not throw updateColor', async () => { @@ -42,7 +42,7 @@ describe('useColors hook', () => { const updateColorMock = vi.fn().mockImplementation(result.current.updateColor); - expect(updateColorMock()).resolves.not.toThrow(); + await expect(updateColorMock()).resolves.not.toThrow(); }); it('should not throw deleteColor', async () => { @@ -50,6 +50,6 @@ describe('useColors hook', () => { const deleteColorMock = vi.fn().mockImplementation(result.current.deleteColor); - expect(deleteColorMock()).resolves.not.toThrow(); + await expect(deleteColorMock()).resolves.not.toThrow(); }); }); diff --git a/packages/app-bridge/src/react/useDocumentCategories.ts b/packages/app-bridge/src/react/useDocumentCategories.ts index 2e82b48eb..ad51a558d 100644 --- a/packages/app-bridge/src/react/useDocumentCategories.ts +++ b/packages/app-bridge/src/react/useDocumentCategories.ts @@ -23,6 +23,7 @@ export const useDocumentCategories = ( documentId: number, options: Options = { enabled: true }, ) => { + // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentCategories, setDocumentCategories] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useDocumentGroups.ts b/packages/app-bridge/src/react/useDocumentGroups.ts index 4e2430141..6b3d3c032 100644 --- a/packages/app-bridge/src/react/useDocumentGroups.ts +++ b/packages/app-bridge/src/react/useDocumentGroups.ts @@ -21,6 +21,7 @@ type Options = { const sortDocumentGroups = (a: DocumentGroup, b: DocumentGroup) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useDocumentGroups = (appBridge: AppBridgeBlock, options: Options = { enabled: true }) => { + // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentGroups, setDocumentGroups] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useGroupedDocuments.ts b/packages/app-bridge/src/react/useGroupedDocuments.ts index 40409852b..867e62df4 100644 --- a/packages/app-bridge/src/react/useGroupedDocuments.ts +++ b/packages/app-bridge/src/react/useGroupedDocuments.ts @@ -24,6 +24,7 @@ export const useGroupedDocuments = ( documentGroupId: number, options: Options = { enabled: true }, ) => { + // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documents, setDocuments] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useReadyForPrint.spec.tsx b/packages/app-bridge/src/react/useReadyForPrint.spec.tsx index 667291078..1cacd18e9 100644 --- a/packages/app-bridge/src/react/useReadyForPrint.spec.tsx +++ b/packages/app-bridge/src/react/useReadyForPrint.spec.tsx @@ -22,8 +22,8 @@ const ReadyForPrintDummy = ({ dataBlockId = BLOCK_ID } = {}) => {
{(isReadyForPrint && IS_READY_FOR_PRINT) || IS_NOT_READY_FOR_PRINT} -
); @@ -41,7 +41,7 @@ describe('useReadyForPrint hook', () => { const container = screen.getByTestId(IS_READY_CONTAINER); expect(container.getAttribute('data-ready')).toBe('false'); - expect(screen.getByText(IS_NOT_READY_FOR_PRINT)).toBeDefined; + expect(screen.getByText(IS_NOT_READY_FOR_PRINT)).toBeDefined(); }); test('Should change data-ready', () => { @@ -54,12 +54,12 @@ describe('useReadyForPrint hook', () => { fireEvent.click(setToTrueButton); expect(container.getAttribute('data-ready')).toBe('true'); - expect(screen.getByText(IS_READY_FOR_PRINT)).toBeDefined; + expect(screen.getByText(IS_READY_FOR_PRINT)).toBeDefined(); fireEvent.click(setToFalseButton); expect(container.getAttribute('data-ready')).toBe('false'); - expect(screen.getByText(IS_NOT_READY_FOR_PRINT)).toBeDefined; + expect(screen.getByText(IS_NOT_READY_FOR_PRINT)).toBeDefined(); }); test('Should throw an error if no blockId is provided', () => { diff --git a/packages/app-bridge/src/react/useTemplateChooser.spec.tsx b/packages/app-bridge/src/react/useTemplateChooser.spec.tsx index 040de9ddd..f61ca7037 100644 --- a/packages/app-bridge/src/react/useTemplateChooser.spec.tsx +++ b/packages/app-bridge/src/react/useTemplateChooser.spec.tsx @@ -28,8 +28,13 @@ const TemplateChooserDummy = ({ - - Select internal link - - - - - - - - - - + + + Select internal link + + + + + + + + + + +
diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx index ac3a72be1..ee3330909 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx @@ -18,6 +18,7 @@ export const SectionLink = ({ section, selectedUrl, onSelectUrl }: SectionLinkPr return ( diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts index 5da789a03..08405fe5a 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/InsertButtonModal/useInsertModal.ts @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { type AppBridgeBlock } from '@frontify/app-bridge'; -import { getPluginOptions, useEditorRef, useHotkeys } from '@frontify/fondue'; +import { getPluginOptions, useEditorRef, useHotkeys } from '@frontify/fondue/rte'; import { type Dispatch, type Reducer, useEffect, useReducer } from 'react'; import { addHttps } from '../../../../../../../helpers'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts index 13da9647b..0509a7cbf 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/floatingButtonStore.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { createStore } from '@frontify/fondue'; +import { createStore } from '@frontify/fondue/rte'; import { type RichTextButtonStyle } from '../../types'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts index 5fb2618cf..82b2e0453 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.ts @@ -14,7 +14,7 @@ import { useEditorRef, useEditorVersion, useHotkeys, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type Ref, useCallback, useEffect } from 'react'; import { type ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts index 13b791315..44c15d5b8 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEnter.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { useEditorRef, useHotkeys } from '@frontify/fondue'; +import { useEditorRef, useHotkeys } from '@frontify/fondue/rte'; import { submitFloatingButton } from '../../transforms/submitFloatingButton'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts index 250e40cf3..efbf01653 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEscape.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { focusEditor, useEditorRef, useHotkeys } from '@frontify/fondue'; +import { focusEditor, useEditorRef, useHotkeys } from '@frontify/fondue/rte'; import { floatingButtonActions, floatingButtonSelectors } from './floatingButtonStore'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts index 30d907592..b20df4fe4 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonInsert.ts @@ -8,7 +8,7 @@ import { useEditorRef, useFocused, useHotkeys, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type Ref, useEffect } from 'react'; import { type ButtonPlugin, ELEMENT_BUTTON } from '../../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts index 839d8a413..8ea95508f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useVirtualFloatingButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type UseVirtualFloatingOptions, flip, offset, useVirtualFloating } from '@frontify/fondue'; +import { type UseVirtualFloatingOptions, flip, offset, useVirtualFloating } from '@frontify/fondue/rte'; import { type CSSProperties, type Ref } from 'react'; const OFFSET_Y = 12; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts index 3978ce12e..1f6236221 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/createButtonPlugin.ts @@ -7,7 +7,7 @@ import { type PluginProps, type RangeBeforeOptions, createPluginFactory, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { isValidUrl } from '../../../Link/utils/url'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts index 3d4e45e77..c934150d3 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/insertButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type InsertNodesOptions, type PlateEditor, type TText, type Value, insertNodes } from '@frontify/fondue'; +import { type InsertNodesOptions, type PlateEditor, type TText, type Value, insertNodes } from '@frontify/fondue/rte'; import { type TButtonElement } from '../types'; import { type CreateButtonNodeOptions, createButtonNode } from '../utils/index'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts index e824f1434..e7db2233f 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/submitFloatingButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, type Value, focusEditor, getPluginOptions } from '@frontify/fondue'; +import { type PlateEditor, type Value, focusEditor, getPluginOptions } from '@frontify/fondue/rte'; import { floatingButtonActions, floatingButtonSelectors } from '../components/FloatingButton/floatingButtonStore'; import { type ButtonPlugin, ELEMENT_BUTTON } from '../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts index 9d29fb175..657bc2c8d 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/unwrapButton.ts @@ -10,7 +10,7 @@ import { splitNodes, unwrapNodes, withoutNormalizing, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { ELEMENT_BUTTON } from '../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts index 326f1328f..d81f79922 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButton.ts @@ -20,7 +20,7 @@ import { isExpanded, removeNodes, setNodes, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type ButtonPlugin, ELEMENT_BUTTON } from '../createButtonPlugin'; import { type RichTextButtonStyle, type TButtonElement } from '../types'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts index 4ece51522..53bd96f0b 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/upsertButtonText.ts @@ -8,7 +8,7 @@ import { getEditorString, getPluginType, replaceNodeChildren, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { ELEMENT_BUTTON, type TButtonElement } from '..'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts index 4ee3319b9..ea22d7985 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/transforms/wrapButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, type Value, type WrapNodesOptions, getPluginType, wrapNodes } from '@frontify/fondue'; +import { type PlateEditor, type Value, type WrapNodesOptions, getPluginType, wrapNodes } from '@frontify/fondue/rte'; import { ELEMENT_BUTTON, type RichTextButtonStyle, type TButtonElement } from '..'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts index 70e6dfcc3..1b32129e7 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/types.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type TLinkElement } from '@frontify/fondue'; +import { type TLinkElement } from '@frontify/fondue/rte'; export type TButtonElement = TLinkElement & { chosenLink?: { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts index 55f765c29..3613fb47b 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/createButtonNode.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, type TText, type Value, getPluginType } from '@frontify/fondue'; +import { type PlateEditor, type TText, type Value, getPluginType } from '@frontify/fondue/rte'; import { type RichTextButtonStyle, type TButtonElement } from '..'; import { ELEMENT_BUTTON } from '../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts index 06862fb7e..2d9c64c10 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getButtonStyle.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, getAboveNode } from '@frontify/fondue'; +import { type PlateEditor, getAboveNode } from '@frontify/fondue/rte'; import { ELEMENT_BUTTON, type RichTextButtonStyle, type TButtonElement } from '..'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts index 625a25744..a953db801 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/getUrl.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, getAboveNode } from '@frontify/fondue'; +import { type PlateEditor, getAboveNode } from '@frontify/fondue/rte'; import { ELEMENT_BUTTON, type TButtonElement } from '..'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts index a1911d7ad..b5fce2e16 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, type Value } from '@frontify/fondue'; +import { type PlateEditor, type Value } from '@frontify/fondue/rte'; import { floatingButtonSelectors } from '../components'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts index 3c3155c17..c8635d91e 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonEdit.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlateEditor, type Value, findNode, getEditorString, getPluginType } from '@frontify/fondue'; +import { type PlateEditor, type Value, findNode, getEditorString, getPluginType } from '@frontify/fondue/rte'; import { ELEMENT_BUTTON, type TButtonElement } from '..'; import { floatingButtonActions } from '../components/FloatingButton/floatingButtonStore'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts index 2645a487f..376f9d061 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButtonInsert.ts @@ -7,7 +7,7 @@ import { getPluginType, isRangeAcrossBlocks, someNode, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { floatingButtonActions, floatingButtonSelectors } from '../components/FloatingButton/floatingButtonStore'; import { ELEMENT_BUTTON } from '../createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts index 4ba91565b..0845a921a 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ButtonPlugin/withButton.ts @@ -19,7 +19,7 @@ import { mockPlugin, select, withRemoveEmptyNodes, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { ELEMENT_BUTTON } from './createButtonPlugin'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts index 9faf6675d..97120fbd5 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/ColumnBreakPlugin/ColumnBreakPlugin.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PlatePlugin, Plugin, createColumnBreakPlugin, ColumnBreakButton } from '@frontify/fondue'; +import { type PlatePlugin, Plugin, createColumnBreakPlugin, ColumnBreakButton } from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { getResponsiveColumnClasses } from './helpers'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx index 76fac7883..95070af59 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx @@ -9,7 +9,8 @@ import { useFloatingLinkEditState, useFloatingLinkInsert, useFloatingLinkInsertState, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; +import { type CSSProperties } from 'react'; import { createPortal } from 'react-dom'; import { BlockStyles, TextStyles } from '../../../../RichTextEditor/plugins/styles'; @@ -65,7 +66,7 @@ export const CustomFloatingLink = () => { data-is-underlay ref={insertRef} {...insertProps} - style={{ ...insertProps.style, ...BlockStyles[TextStyles.p] }} + style={{ ...(insertProps.style as CSSProperties), ...BlockStyles[TextStyles.p] }} > {input} , @@ -78,7 +79,7 @@ export const CustomFloatingLink = () => { data-is-underlay ref={editRef} {...editProps} - style={{ ...editProps.style, ...BlockStyles[TextStyles.p] }} + style={{ ...(editProps.style as CSSProperties), ...BlockStyles[TextStyles.p] }} > {editContent} , diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.spec.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.spec.tsx index d81a1820e..5d62960da 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.spec.tsx @@ -8,8 +8,8 @@ import { EditModal } from './EditModal'; const URL_ID = 'floating-link-edit-url'; describe('EditModal', () => { - vi.mock('@frontify/fondue', async () => { - const actual: object = await vi.importActual('@frontify/fondue'); + vi.mock('@frontify/fondue/rte', async () => { + const actual: object = await vi.importActual('@frontify/fondue/rte'); return { ...actual, useLinkOpenButtonState: () => ({ element: { url: 'https://frontify.com' } }), diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx index edbefe0e4..781ffdbdc 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.tsx @@ -1,6 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { FloatingModalWrapper, IconPen16, IconTrashBin16, useLinkOpenButtonState } from '@frontify/fondue'; +import { IconPen, IconTrashBin } from '@frontify/fondue/icons'; +import { FloatingModalWrapper, useLinkOpenButtonState } from '@frontify/fondue/rte'; import { type MouseEvent } from 'react'; import { getUrlFromLinkOrLegacyLink } from '../../../../../Link'; @@ -41,7 +42,7 @@ export const EditModal = ({ editButtonProps, unlinkButtonProps }: EditModalProps className="tw-transition tw-cursor-pointer tw-rounded hover:tw-bg-black-10 tw-p-1" {...editButtonProps} > - + diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx index 08290f9d9..30854d36e 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/InsertModal.tsx @@ -1,9 +1,10 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { type AppBridgeBlock } from '@frontify/app-bridge'; -import { FloatingModalWrapper, FormControl } from '@frontify/fondue'; +import { FormControl } from '@frontify/fondue'; import { Button, TextInput } from '@frontify/fondue/components'; import { IconCheckMark } from '@frontify/fondue/icons'; +import { FloatingModalWrapper } from '@frontify/fondue/rte'; import { type MouseEvent, type ReactElement, type ReactNode } from 'react'; import { LinkInput } from '../../../../../Link'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts index 8b79ffe3e..a909cd811 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/FloatingLink/InsertLinkModal/useInsertModal.ts @@ -9,7 +9,7 @@ import { submitFloatingLink, useEditorRef, useHotkeys, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type Dispatch, type MouseEvent, type Reducer, useEffect, useReducer } from 'react'; import { addHttps } from '../../../../../../helpers'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx index 96792bfc9..f91cdbcc5 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkButton.tsx @@ -7,7 +7,7 @@ import { isRangeInSameBlock, useEditorState, useEventPlateId, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { LinkToolbarButton } from './LinkToolbarButton'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx index a359dcb18..d9f8d8099 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.tsx @@ -4,7 +4,7 @@ import { type PlateRenderElementProps, type TLinkElement as TPlateLinkElement, useRichTextEditorContext, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { LINK_PLUGIN } from '../id'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts index 75ac4d925..707057014 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkMarkupElement/index.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { ELEMENT_LINK, MarkupElement, type PlateRenderElementProps } from '@frontify/fondue'; +import { ELEMENT_LINK, MarkupElement, type PlateRenderElementProps } from '@frontify/fondue/rte'; import { LinkMarkupElementNode, type TLinkElement } from './LinkMarkupElementNode'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx index a39da978b..dbddc64d3 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/LinkToolbarButton.tsx @@ -1,14 +1,14 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ +import { IconLink } from '@frontify/fondue/icons'; import { - IconLink16, IconStylingWrapper, ToolbarButton, focusEditor, useEditorRef, useLinkToolbarButton, useLinkToolbarButtonState, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type ReactNode, forwardRef } from 'react'; export const LinkToolbarButton = forwardRef( @@ -26,7 +26,7 @@ export const LinkToolbarButton = forwardRef - } /> + } />
); }, diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts index 391ded37c..88391a8fd 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/index.ts @@ -7,7 +7,7 @@ import { type PluginProps, createLinkPlugin as createPlateLinkPlugin, createPluginFactory, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { isValidUrl } from '../../../Link'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts index 250a62e67..1097f6b85 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/types.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type TLinkElement as TPlateLinkElement } from '@frontify/fondue'; +import { type TLinkElement as TPlateLinkElement } from '@frontify/fondue/rte'; export type TLinkElement = TPlateLinkElement & { chosenLink?: { diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts index ba98227d0..62b46f93b 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/LinkPlugin/utils/getUrl.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { ELEMENT_LINK, type PlateEditor, getAboveNode } from '@frontify/fondue'; +import { ELEMENT_LINK, type PlateEditor, getAboveNode } from '@frontify/fondue/rte'; import { type TLinkElement } from '../types'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx index 7242a3046..0f4e01a19 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx index d4935ce95..d0e8fcbc1 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx index 3038065d6..e49011158 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx @@ -12,7 +12,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx index b8c7e47d0..b29a384bf 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx @@ -11,7 +11,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx index c3780047f..474ed2a46 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx index b39cc24be..77d7b8c67 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx index f2e268202..a72d538d6 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx index 01187797f..42d09cd5b 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx index c67a2671d..0fcd96835 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx index 3157bbacb..b51277aa0 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/paragraphPlugin.tsx @@ -11,7 +11,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx index 1daa46087..dc9c8937e 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx @@ -10,7 +10,7 @@ import { createPluginFactory, getColumnBreakClasses, merge, -} from '@frontify/fondue'; +} from '@frontify/fondue/rte'; import { type CSSProperties } from 'react'; import { BlockStyles, TextStyles } from '../styles'; diff --git a/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts b/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts index bec9c15dd..7bb4ee8e3 100644 --- a/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts +++ b/packages/guideline-blocks-settings/src/components/RichTextEditor/types.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type PluginComposer } from '@frontify/fondue'; +import { type PluginComposer } from '@frontify/fondue/rte'; export type RichTextEditorProps = { /** diff --git a/packages/guideline-blocks-settings/src/helpers/convertToRichTextValue.spec.ts b/packages/guideline-blocks-settings/src/helpers/convertToRichTextValue.spec.ts index 4b8cfc968..6bbea212f 100644 --- a/packages/guideline-blocks-settings/src/helpers/convertToRichTextValue.spec.ts +++ b/packages/guideline-blocks-settings/src/helpers/convertToRichTextValue.spec.ts @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { type TextStyles } from '@frontify/fondue'; +import { type TextStyles } from '@frontify/fondue/rte'; import { describe, expect, it } from 'vitest'; import { convertToRteValue } from './convertToRichTextValue'; diff --git a/packages/guideline-blocks-settings/vite.config.ts b/packages/guideline-blocks-settings/vite.config.ts index dd140b180..d9253455d 100644 --- a/packages/guideline-blocks-settings/vite.config.ts +++ b/packages/guideline-blocks-settings/vite.config.ts @@ -47,7 +47,7 @@ export default defineConfig({ sourcemap: true, minify: true, rollupOptions: { - external: [...dependencies, ...peerDependencies, 'react-dom/client', 'react/jsx-runtime'], + external: [...dependencies, ...peerDependencies, 'react-dom/client', 'react/jsx-runtime', /^vfile/], output: [ { name: 'GuidelineBlocksSettings', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a0c82d57..0b3f6b46d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,9 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@udecode/plate-common': 36.5.9 + patchedDependencies: '@udecode/plate-emoji': hash: 006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19 @@ -15,34 +18,34 @@ importers: devDependencies: '@4tw/cypress-drag-drop': specifier: ^2.3.0 - version: 2.3.1(cypress@15.0.0) + version: 2.3.1(cypress@15.7.0) '@changesets/changelog-github': specifier: ^0.5.0 - version: 0.5.1 + version: 0.5.2 '@changesets/cli': specifier: ^2.27.1 - version: 2.27.11 + version: 2.29.8(@types/node@22.19.1) '@cypress/vite-dev-server': specifier: ^7.0.0 - version: 7.0.0(cypress@15.0.0) + version: 7.0.1(cypress@15.7.0) '@frontify/fondue': - specifier: ^13.0.0-rc.5 - version: 13.0.0-rc.5(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@emotion/is-prop-valid@0.8.8)(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@24.7.2)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) + specifier: ^13.0.0-rc.8 + version: 13.0.0-rc.8(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@vitejs/plugin-react': specifier: ^5.0.2 - version: 5.0.2(vite@7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0)) + version: 5.1.1(vite@7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2)) cypress: specifier: ^15.0.0 - version: 15.0.0 + version: 15.7.0 cypress-real-events: specifier: ^1.14.0 - version: 1.14.0(cypress@15.0.0) + version: 1.15.0(cypress@15.7.0) glob: specifier: ^11.0.3 - version: 11.0.3 + version: 11.1.0 react: specifier: ^18.3.1 version: 18.3.1 @@ -51,25 +54,25 @@ importers: version: 18.3.1(react@18.3.1) tailwindcss: specifier: ^3.4.17 - version: 3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)) + version: 3.4.18(yaml@2.8.2) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@24.7.2)(typescript@5.9.2) + version: 10.9.2(@types/node@22.19.1)(typescript@5.9.3) typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 vite: specifier: ^7.1.4 - version: 7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + version: 7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages/app-bridge: dependencies: immer: specifier: ^10.0.4 - version: 10.1.3 + version: 10.2.0 lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -78,23 +81,23 @@ importers: version: 3.0.1 type-fest: specifier: ^4.15.0 - version: 4.20.1 + version: 4.41.0 devDependencies: '@frontify/eslint-config-react': specifier: ^1.0.4 - version: 1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@types/react-dom': specifier: ^18.3.7 - version: 18.3.7(@types/react@18.3.25) + version: 18.3.7(@types/react@18.3.27) '@types/sinon': specifier: ^17.0.4 version: 17.0.4 @@ -106,19 +109,19 @@ importers: version: 3.2.4(vitest@3.2.4) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) happy-dom: specifier: ^18.0.1 version: 18.0.1 msw: specifier: ^1.3.5 - version: 1.3.5(@types/node@24.7.2)(typescript@5.9.2) + version: 1.3.5(@types/node@22.19.1)(typescript@5.9.3) prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 react: specifier: ^18.3.1 version: 18.3.1 @@ -130,25 +133,25 @@ importers: version: 21.0.0 ts-json-as-const: specifier: ^1.0.7 - version: 1.0.7(typescript@5.9.2) + version: 1.0.7(typescript@5.9.3) typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@24.7.2)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vite-plugin-static-copy: specifier: ^3.1.2 - version: 3.1.2(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 3.1.4(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages/app-bridge-app: devDependencies: @@ -157,37 +160,37 @@ importers: version: link:../app-bridge '@frontify/eslint-config-react': specifier: ^1.0.4 - version: 1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@frontify/platform-app': specifier: workspace:^ version: link:../platform-app '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@types/react-dom': specifier: ^18.3.7 - version: 18.3.7(@types/react@18.3.25) + version: 18.3.7(@types/react@18.3.27) '@vitest/coverage-v8': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) happy-dom: specifier: ^18.0.1 version: 18.0.1 immer: specifier: ^10.1.3 - version: 10.1.3 + version: 10.2.0 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 react: specifier: ^18.3.1 version: 18.3.1 @@ -199,34 +202,34 @@ importers: version: 4.41.0 typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@24.7.2)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages/app-bridge-theme: devDependencies: '@frontify/eslint-config-react': specifier: ^1.0.4 - version: 1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@types/react-dom': specifier: ^18.3.7 - version: 18.3.7(@types/react@18.3.25) + version: 18.3.7(@types/react@18.3.27) '@vitest/coverage-v8': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) @@ -235,16 +238,16 @@ importers: version: 1.6.1(vitest@3.2.4) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) happy-dom: specifier: ^18.0.1 version: 18.0.1 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 react: specifier: ^18.3.1 version: 18.3.1 @@ -253,25 +256,25 @@ importers: version: 18.3.1(react@18.3.1) ts-json-as-const: specifier: ^1.0.7 - version: 1.0.7(typescript@5.9.2) + version: 1.0.7(typescript@5.9.3) type-fest: specifier: ^4.41.0 version: 4.41.0 typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@24.7.2)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@1.6.1)(happy-dom@18.0.1)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@1.6.1)(happy-dom@18.0.1)(jiti@1.21.7)(yaml@2.8.2) packages/cli: dependencies: @@ -280,7 +283,7 @@ importers: version: 9.0.1 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.3.1(vite@5.4.19(@types/node@18.19.123)(terser@5.31.1)) + version: 4.7.0(vite@5.4.21(@types/node@18.19.130)) archiver: specifier: ^7.0.1 version: 7.0.1 @@ -298,7 +301,7 @@ importers: version: 3.3.3 fastify: specifier: ^4.26.2 - version: 4.28.0 + version: 4.29.1 glob-to-regexp: specifier: ^0.4.1 version: 0.4.1 @@ -307,26 +310,26 @@ importers: version: 3.3.2 open: specifier: ^10.1.0 - version: 10.1.0 + version: 10.2.0 picocolors: specifier: ^1.0.0 - version: 1.0.1 + version: 1.1.1 prompts: specifier: ^2.4.2 version: 2.4.2 vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@18.19.123)(terser@5.31.1) + version: 5.4.21(@types/node@18.19.130) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@5.4.19(@types/node@18.19.123)(terser@5.31.1)) + version: 0.6.2(vite@5.4.21(@types/node@18.19.130)) zod: specifier: ^3.25.76 version: 3.25.76 devDependencies: '@frontify/eslint-config-basic': specifier: ^1.0.5 - version: 1.0.5(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(typescript@5.9.2) + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(typescript@5.9.3) '@types/glob-to-regexp': specifier: ^0.4.4 version: 0.4.4 @@ -335,7 +338,7 @@ importers: version: 4.13.4 '@types/node': specifier: ^18.19.123 - version: 18.19.123 + version: 18.19.130 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -350,34 +353,34 @@ importers: version: 3.2.4(vitest@3.2.4) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) nock: specifier: ^13.5.6 version: 13.5.6 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@18.19.123)(typescript@5.9.2) + version: 10.9.2(@types/node@18.19.130)(typescript@5.9.3) typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@18.19.123)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@18.19.130)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(yaml@2.8.2) packages/guideline-blocks-settings: dependencies: '@ctrl/tinycolor': specifier: ^4.0.4 - version: 4.1.0 + version: 4.2.0 '@dnd-kit/core': specifier: ^6.3.1 version: 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -389,10 +392,10 @@ importers: version: 10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@frontify/app-bridge': specifier: ^3.0.0 || ^4.0.0-alpha.0 - version: 3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0) + version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0) '@frontify/fondue': - specifier: ^13.0.0-rc.5 - version: 13.0.0-rc.5(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@emotion/is-prop-valid@0.8.8)(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.18.0)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) + specifier: ^13.0.0-rc.8 + version: 13.0.0-rc.8(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -404,56 +407,56 @@ importers: version: 3.6.20(react@18.3.1) '@tailwindcss/container-queries': specifier: ^0.1.1 - version: 0.1.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) + version: 0.1.1(tailwindcss@3.4.18(yaml@2.8.2)) devDependencies: '@babel/core': specifier: ^7.28.3 - version: 7.28.3 + version: 7.28.5 '@frontify/eslint-config-react': - specifier: 1.0.4 - version: 1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + specifier: 1.0.8 + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@testing-library/jest-dom': specifier: ^6.8.0 - version: 6.8.0 + version: 6.9.1 '@testing-library/react': specifier: ^16.3.0 - version: 16.3.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.6.1 - version: 14.6.1(@testing-library/dom@9.3.4) + version: 14.6.1(@testing-library/dom@10.4.1) '@types/node': specifier: ^22.18.0 - version: 22.18.0 + version: 22.19.1 '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@types/react-dom': specifier: ^18.3.7 - version: 18.3.7(@types/react@18.3.25) + version: 18.3.7(@types/react@18.3.27) '@types/sinon': specifier: ^17.0.4 version: 17.0.4 '@vitejs/plugin-react': specifier: ^5.0.2 - version: 5.0.2(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)) + version: 5.1.1(vite@5.4.21(@types/node@22.19.1)) '@vitest/ui': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) autoprefixer: specifier: ^10.4.21 - version: 10.4.21(postcss@8.5.6) + version: 10.4.22(postcss@8.5.6) cypress: specifier: ^15.0.0 - version: 15.0.0 + version: 15.7.0 cypress-real-events: specifier: ^1.14.0 - version: 1.14.0(cypress@15.0.0) + version: 1.15.0(cypress@15.7.0) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) happy-dom: specifier: ^18.0.1 version: 18.0.1 @@ -462,13 +465,13 @@ importers: version: 3.0.1 msw: specifier: ^1.3.3 - version: 1.3.5(@types/node@22.18.0)(typescript@5.9.2) + version: 1.3.5(@types/node@22.19.1)(typescript@5.9.3) postcss: specifier: ^8.5.6 version: 8.5.6 prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 react: specifier: ^18.3.1 version: 18.3.1 @@ -477,31 +480,31 @@ importers: version: 18.3.1(react@18.3.1) rollup: specifier: ^4.50.0 - version: 4.52.3 + version: 4.53.3 sinon: specifier: 21.0.0 version: 21.0.0 tailwindcss: specifier: ^3.4.17 - version: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) + version: 3.4.18(yaml@2.8.2) typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@22.18.0)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@22.18.0)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)) + version: 0.6.2(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@22.18.0)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages/guideline-themes: dependencies: @@ -510,17 +513,17 @@ importers: version: link:../app-bridge-theme '@frontify/sidebar-settings': specifier: ^0.10.1 - version: 0.10.5(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.18.0)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) + version: 0.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@frontify/eslint-config-react': specifier: 1.0.4 - version: 1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@types/node': specifier: ^22.18.0 - version: 22.18.0 + version: 22.19.1 '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@vitest/coverage-v8': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) @@ -529,31 +532,31 @@ importers: version: 3.2.4(vitest@3.2.4) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@22.18.0)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@22.18.0)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vite-plugin-externals: specifier: ^0.6.2 - version: 0.6.2(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)) + version: 0.6.2(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@22.18.0)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages/platform-app: dependencies: @@ -566,25 +569,25 @@ importers: version: link:../app-bridge-app '@frontify/eslint-config-react': specifier: ^1.0.4 - version: 1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) + version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@vitejs/plugin-react': specifier: ^5.0.2 - version: 5.0.2(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 5.1.1(vite@5.4.21(@types/node@22.19.1)) '@vitest/coverage-v8': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 react: specifier: ^18.3.1 version: 18.3.1 @@ -593,43 +596,43 @@ importers: version: 18.3.1(react@18.3.1) typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@24.7.2)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages/sidebar-settings: devDependencies: '@babel/core': specifier: ^7.28.3 - version: 7.28.3 + version: 7.28.5 '@frontify/eslint-config-basic': specifier: ^1.0.5 - version: 1.0.5(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(typescript@5.9.2) + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(typescript@5.9.3) '@types/react': specifier: ^18.3.24 - version: 18.3.25 + version: 18.3.27 '@types/react-dom': specifier: ^18.3.7 - version: 18.3.7(@types/react@18.3.25) + version: 18.3.7(@types/react@18.3.27) eslint: specifier: ^9.34.0 - version: 9.34.0(jiti@1.21.6) + version: 9.39.1(jiti@1.21.7) eslint-plugin-notice: specifier: ^1.0.0 - version: 1.0.0(eslint@9.34.0(jiti@1.21.6)) + version: 1.0.0(eslint@9.39.1(jiti@1.21.7)) prettier: specifier: ^3.6.2 - version: 3.6.2 + version: 3.7.3 react: specifier: ^18.3.1 version: 18.3.1 @@ -638,19 +641,19 @@ importers: version: 18.3.1(react@18.3.1) typescript: specifier: ^5.9.2 - version: 5.9.2 + version: 5.9.3 typescript-eslint: specifier: ^8.42.0 - version: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + version: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) vite: specifier: ^5.4.19 - version: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + version: 5.4.21(@types/node@22.19.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@24.7.2)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)) + version: 3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) packages: @@ -659,8 +662,8 @@ packages: peerDependencies: cypress: '>=2' - '@adobe/css-tools@4.4.0': - resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} @@ -670,66 +673,38 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.24.7': - resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.0': - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.4': - resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.24.7': - resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.28.3': - resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.28.4': - resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.24.7': - resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.3': - resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.24.7': - resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.2': resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.28.3': - resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==} + '@babel/helper-create-class-features-plugin@7.28.5': + resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.27.1': - resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} + '@babel/helper-create-regexp-features-plugin@7.28.5': + resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -739,40 +714,18 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-environment-visitor@7.24.7': - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.24.7': - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - '@babel/helper-globals@7.28.0': resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.7': - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-member-expression-to-functions@7.27.1': - resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.27.1': resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.24.7': - resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-module-transforms@7.28.3': resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} @@ -783,10 +736,6 @@ packages: resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.27.1': resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} @@ -803,36 +752,16 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} engines: {node: '>=6.9.0'} - '@babel/helper-split-export-declaration@7.24.7': - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.7': - resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.24.7': - resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} '@babel/helper-validator-option@7.27.1': @@ -843,39 +772,17 @@ packages: resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.7': - resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.28.3': - resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.4': resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.24.7': - resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.28.3': - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.28.4': - resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': - resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': + resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -904,13 +811,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-proposal-async-generator-functions@7.20.7': - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-class-properties@7.18.6': resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} @@ -918,19 +818,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-export-default-from@7.27.1': - resolution: {integrity: sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-logical-assignment-operators@7.20.7': - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} @@ -938,27 +825,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-numeric-separator@7.18.6': - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-object-rest-spread@7.20.7': - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-optional-catch-binding@7.18.6': - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-optional-chaining@7.21.0': resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} @@ -972,22 +838,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-default-from@7.27.1': - resolution: {integrity: sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-flow@7.27.1': resolution: {integrity: sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==} engines: {node: '>=6.9.0'} @@ -1012,31 +862,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-optional-chaining@7.8.3': resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1078,8 +908,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.4': - resolution: {integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==} + '@babel/plugin-transform-block-scoping@7.28.5': + resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1108,8 +938,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-destructuring@7.28.0': - resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==} + '@babel/plugin-transform-destructuring@7.28.5': + resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1144,8 +974,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.27.1': - resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} + '@babel/plugin-transform-exponentiation-operator@7.28.5': + resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1186,8 +1016,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.27.1': - resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==} + '@babel/plugin-transform-logical-assignment-operators@7.28.5': + resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1210,8 +1040,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.27.1': - resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} + '@babel/plugin-transform-modules-systemjs@7.28.5': + resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1264,8 +1094,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.27.1': - resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==} + '@babel/plugin-transform-optional-chaining@7.28.5': + resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1294,42 +1124,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.28.0': - resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-self@7.24.7': - resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.27.1': resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.24.7': - resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-source@7.27.1': resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.27.1': - resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.28.4': resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} engines: {node: '>=6.9.0'} @@ -1348,12 +1154,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.28.3': - resolution: {integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-shorthand-properties@7.27.1': resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} engines: {node: '>=6.9.0'} @@ -1384,8 +1184,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.0': - resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + '@babel/plugin-transform-typescript@7.28.5': + resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1414,8 +1214,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.28.3': - resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==} + '@babel/preset-env@7.28.5': + resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1431,8 +1231,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-typescript@7.27.1': - resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} + '@babel/preset-typescript@7.28.5': + resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1443,122 +1243,91 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} - '@babel/template@7.24.7': - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} - engines: {node: '>=6.9.0'} - '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.7': - resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.3': - resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.4': - resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.24.7': - resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.4': - resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@changesets/apply-release-plan@7.0.7': - resolution: {integrity: sha512-qnPOcmmmnD0MfMg9DjU1/onORFyRpDXkMMl2IJg9mECY6RnxL3wN0TCCc92b2sXt1jt8DgjAUUsZYGUGTdYIXA==} + '@changesets/apply-release-plan@7.0.14': + resolution: {integrity: sha512-ddBvf9PHdy2YY0OUiEl3TV78mH9sckndJR14QAt87KLEbIov81XO0q0QAmvooBxXlqRRP8I9B7XOzZwQG7JkWA==} - '@changesets/assemble-release-plan@6.0.5': - resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} + '@changesets/assemble-release-plan@6.0.9': + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} - '@changesets/changelog-git@0.2.0': - resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} - '@changesets/changelog-github@0.5.1': - resolution: {integrity: sha512-BVuHtF+hrhUScSoHnJwTELB4/INQxVFc+P/Qdt20BLiBFIHFJDDUaGsZw+8fQeJTRP5hJZrzpt3oZWh0G19rAQ==} + '@changesets/changelog-github@0.5.2': + resolution: {integrity: sha512-HeGeDl8HaIGj9fQHo/tv5XKQ2SNEi9+9yl1Bss1jttPqeiASRXhfi0A2wv8yFKCp07kR1gpOI5ge6+CWNm1jPw==} - '@changesets/cli@2.27.11': - resolution: {integrity: sha512-1QislpE+nvJgSZZo9+Lj3Lno5pKBgN46dAV8IVxKJy9wX8AOrs9nn5pYVZuDpoxWJJCALmbfOsHkyxujgetQSg==} + '@changesets/cli@2.29.8': + resolution: {integrity: sha512-1weuGZpP63YWUYjay/E84qqwcnt5yJMM0tep10Up7Q5cS/DGe2IZ0Uj3HNMxGhCINZuR7aO9WBMdKnPit5ZDPA==} hasBin: true - '@changesets/config@3.0.5': - resolution: {integrity: sha512-QyXLSSd10GquX7hY0Mt4yQFMEeqnO5z/XLpbIr4PAkNNoQNKwDyiSrx4yd749WddusH1v3OSiA0NRAYmH/APpQ==} + '@changesets/config@3.1.2': + resolution: {integrity: sha512-CYiRhA4bWKemdYi/uwImjPxqWNpqGPNbEBdX1BdONALFIDK7MCUj6FPkzD+z9gJcvDFUQJn9aDVf4UG7OT6Kog==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.2': - resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} + '@changesets/get-dependents-graph@2.1.3': + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - '@changesets/get-github-info@0.6.0': - resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} + '@changesets/get-github-info@0.7.0': + resolution: {integrity: sha512-+i67Bmhfj9V4KfDeS1+Tz3iF32btKZB2AAx+cYMqDSRFP7r3/ZdGbjCo+c6qkyViN9ygDuBjzageuPGJtKGe5A==} - '@changesets/get-release-plan@4.0.6': - resolution: {integrity: sha512-FHRwBkY7Eili04Y5YMOZb0ezQzKikTka4wL753vfUA5COSebt7KThqiuCN9BewE4/qFGgF/5t3AuzXx1/UAY4w==} + '@changesets/get-release-plan@4.0.14': + resolution: {integrity: sha512-yjZMHpUHgl4Xl5gRlolVuxDkm4HgSJqT93Ri1Uz8kGrQb+5iJ8dkXJ20M2j/Y4iV5QzS2c5SeTxVSKX+2eMI0g==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.2': - resolution: {integrity: sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==} + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@changesets/parse@0.4.0': - resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + '@changesets/parse@0.4.2': + resolution: {integrity: sha512-Uo5MC5mfg4OM0jU3up66fmSn6/NE9INK+8/Vn/7sMVcdWg46zfbvvUSjD9EMonVqPi9fbrJH9SXHn48Tr1f2yA==} - '@changesets/pre@2.0.1': - resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} - '@changesets/read@0.6.2': - resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==} + '@changesets/read@0.6.6': + resolution: {integrity: sha512-P5QaN9hJSQQKJShzzpBT13FzOSPyHbqdoIBUd2DJdgvnECCyO6LmAOWSV+O8se2TaZJVwSXjL+v9yhb+a9JeJg==} - '@changesets/should-skip-package@0.1.1': - resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - '@changesets/types@6.0.0': - resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/types@6.1.0': resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - '@changesets/write@0.3.2': - resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@ctrl/tinycolor@4.1.0': - resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} - engines: {node: '>=14'} - '@ctrl/tinycolor@4.2.0': resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} engines: {node: '>=14'} @@ -1567,8 +1336,8 @@ packages: resolution: {integrity: sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==} engines: {node: '>= 6'} - '@cypress/vite-dev-server@7.0.0': - resolution: {integrity: sha512-yEuWg12HYSD+i7ZYta9VshjF94fahPTYVJMKk059tiqSHLlK68WHBZ/LwdA6SEriaPWBB2vdZstJa1z4M8Hmmw==} + '@cypress/vite-dev-server@7.0.1': + resolution: {integrity: sha512-J5x06TsvZ63wwtl46lV0fkMLr2K+VyubE6xtcFy5siPtIppVyhYeZ14TcXO76h9kApg0ecx//IHJp6a2wuHkSg==} peerDependencies: cypress: '>=15.0.0' @@ -1624,11 +1393,11 @@ packages: peerDependencies: react: '>=16.8.0' - '@emnapi/core@1.5.0': - resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} + '@emnapi/core@1.7.1': + resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} - '@emnapi/runtime@1.5.0': - resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} @@ -1636,20 +1405,14 @@ packages: '@emoji-mart/data@1.2.1': resolution: {integrity: sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==} - '@emotion/is-prop-valid@0.8.8': - resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} - - '@emotion/memoize@0.7.4': - resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} - '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.9': - resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -1660,8 +1423,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.9': - resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -1672,8 +1435,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.9': - resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -1684,8 +1447,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.9': - resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -1696,8 +1459,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.9': - resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -1708,8 +1471,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.9': - resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -1720,8 +1483,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.9': - resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -1732,8 +1495,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.9': - resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -1744,8 +1507,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.9': - resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -1756,8 +1519,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.9': - resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -1768,8 +1531,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.9': - resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -1780,8 +1543,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.9': - resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -1792,8 +1555,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.9': - resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -1804,8 +1567,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.9': - resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -1816,8 +1579,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.9': - resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -1828,8 +1591,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.9': - resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -1840,14 +1603,14 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.9': - resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.9': - resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -1858,14 +1621,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.9': - resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.9': - resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1876,14 +1639,14 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.9': - resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.9': - resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -1894,8 +1657,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.9': - resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1906,8 +1669,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.9': - resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1918,8 +1681,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.9': - resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1930,8 +1693,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.9': - resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1942,76 +1705,81 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - '@eslint-community/eslint-utils@4.7.0': - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + '@eslint-community/eslint-utils@4.9.0': + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@2.0.0-next.162': - resolution: {integrity: sha512-RA12ix24plAPOpnAlHArvTLFFzHiX1E8RAr502dvLnGuhy8DatS1c5KMp+ZhjE67CIeqhAYC/VX9LfW7zOBwdA==} + '@eslint-react/ast@2.3.10': + resolution: {integrity: sha512-yyZLCAbFF1AUUWXjq2k1OCiTG4d58m5+Qy756YQw5A2dZBcdo1XcnBgWopUidXn5BBidAzOUdb/WqWISL/KcSw==} engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@eslint-react/core@2.0.0-next.162': - resolution: {integrity: sha512-tvxOU/UEJ/ELXNloK63EXLyEvzIy3DJbcp+LhOl7aGaTVF618P+d8/bMn+IFbmjwqMQZppytgXSeyxUCnqUCvw==} + '@eslint-react/core@2.3.10': + resolution: {integrity: sha512-QDpzhJq0QJSfc9o6OsarES8+lhaqnZvq7C+S0kklL0E6hcGsKzckziUf9Io0sAIK8N7sCdFeDr6rR64od9EGHA==} engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@eslint-react/eff@2.0.0-next.162': - resolution: {integrity: sha512-SZSifFCGgunIsm8vWtRio7fvxZy7XJpoTGg+sU7IiKvDldFcdJCH4sSCK/XGaABkJjWilYhd79oWEQ/CJQt+4Q==} + '@eslint-react/eff@2.3.10': + resolution: {integrity: sha512-ETFG0T0hIsoL0yy6DRDayIkx++T21n9BHrVWhdqhGXLdjCXVtPL6KN4pyUKb9HSgpHyaRZQf5C/CCejIYnanVw==} engines: {node: '>=20.19.0'} - '@eslint-react/eslint-plugin@2.0.0-next.162': - resolution: {integrity: sha512-bQTRn/17hyVdoD/whZzY74CCcBriCtP2TKyp67X53BlfuE8rO2CJgKmCcppS02btdimgRIN1HzxrsA+wMl14LQ==} + '@eslint-react/eslint-plugin@2.3.10': + resolution: {integrity: sha512-p4GClWnt73aZkVX7gHIBgQqWmaPdkeAg3JnMzWw9nkkSp5kQVxKAST0Fku7tctUmgSFFe+6lUY0lhfolnzPTDw==} engines: {node: '>=20.19.0'} peerDependencies: - eslint: ^9.34.0 - typescript: ^4.9.5 || ^5.4.5 - peerDependenciesMeta: - typescript: - optional: true - - '@eslint-react/kit@2.0.0-next.162': - resolution: {integrity: sha512-1lHKeRA/CQqTwWd9ksRkf+heDF7qdkyNXBbxklhMMr3cFR4pL8KIKyzLjS8sCwqhoiZ9OSbhWk+RC70rVq8HZg==} - engines: {node: '>=20.19.0'} + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@eslint-react/shared@2.0.0-next.162': - resolution: {integrity: sha512-YeVXrQp28bpl21brnCb8tbUwujwmgwvrjj5AckUJ2DcIZzReJCdxd7377kBptLd4KzVN/XyPUT2brv6NZx8rHA==} + '@eslint-react/shared@2.3.10': + resolution: {integrity: sha512-tiZ1EfRMltHSUtZWJceJAWAa4fRyl5uyZind1KhuFYfl354sc92dD3w34X5K142CwuEgbUOSCTMIPT8oJtK//w==} engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@eslint-react/var@2.0.0-next.162': - resolution: {integrity: sha512-ccwQ0fFZknG6RkxnZb02k3wHDPQ0ucW4OJC00KfG9x41Ov+th5Ve6tX6DyHEFgzTPolq6GaYIsIJjYS9AYJ6dA==} + '@eslint-react/var@2.3.10': + resolution: {integrity: sha512-Dztebb5CzYElAHh/pNIakEX7sgw4KGUczAbqVNzL8qKDkJTzVIjypOB89ZKUAuvVXGMoKaNV4iOUryesT7tRJA==} engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@eslint/config-array@0.21.0': - resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.3.1': - resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.15.2': - resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.34.0': - resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==} + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.3.5': - resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/ajv-compiler@3.6.0': @@ -2041,8 +1809,8 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react-dom@2.1.1': - resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + '@floating-ui/react-dom@2.1.6': + resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -2053,8 +1821,8 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.18': - resolution: {integrity: sha512-enDDX09Jpi3kmhcXXpvs+fvRXOfBj1jUV2KF6uDMf5HjS+SOZJzNTFUW71lKbFcxz0BkmQqwbvqdmHIxMq/fyQ==} + '@floating-ui/react@0.26.28': + resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -2062,31 +1830,31 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@formatjs/ecma402-abstract@2.0.0': - resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==} + '@formatjs/ecma402-abstract@2.3.6': + resolution: {integrity: sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==} - '@formatjs/fast-memoize@2.2.0': - resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==} + '@formatjs/fast-memoize@2.2.7': + resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==} - '@formatjs/icu-messageformat-parser@2.7.8': - resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==} + '@formatjs/icu-messageformat-parser@2.11.4': + resolution: {integrity: sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==} - '@formatjs/icu-skeleton-parser@1.8.2': - resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==} + '@formatjs/icu-skeleton-parser@1.8.16': + resolution: {integrity: sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==} - '@formatjs/intl-localematcher@0.5.4': - resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} + '@formatjs/intl-localematcher@0.6.2': + resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} - '@frontify/app-bridge@3.9.2': - resolution: {integrity: sha512-87JF8vizY2YA3FCB/g6o6aC5eVcqYd/Iceb1OUU9Htxpk1DSjAuN1axDeW4bY/B984nU6RVq4scRdK553X8sJw==} + '@frontify/app-bridge@3.12.0': + resolution: {integrity: sha512-9V4JEsrcjiBVlPjw0yLC0iS5IkWk8buFnqeXDNLxZmsG2DHEpD8EzHHH2lyrUxM3N1SqKfOH54NTlSJRCOnGlQ==} engines: {node: '>=16'} peerDependencies: react: ^18 react-dom: ^18 - sinon: ^15 || ^16 || ^17 + sinon: ^15 || ^16 || ^17 || ^18 || ^19 || ^20 || ^21 - '@frontify/eslint-config-basic@1.0.5': - resolution: {integrity: sha512-/MFXeHDzprKKHyjiMeZouXAET05t/CurDOKT+0O98J4Wo09PQQYZsywALvJH80cYZB3lsVzSGXG4Rs/ZA7Memw==} + '@frontify/eslint-config-basic@1.0.8': + resolution: {integrity: sha512-6uhakcX0yrHaB6VxRZB5AFcn7oiFEk+Ya7kkcdwGABMRK9odCMADcHhDQzrGouK6lHwquXPkaJNY/73DKA4JCA==} peerDependencies: eslint: ^9.0.0 prettier: ^3.0.0 @@ -2099,13 +1867,12 @@ packages: prettier: ^3.0.0 react: ^18 || ^19 - '@frontify/fondue-charts@6.0.4': - resolution: {integrity: sha512-YWUivcgj6f7TKmRCoeFY3ys6Yu+TivucU6/8YcatxkOYED+qctD1DTMDWm2YRJgS1TJUFfS2nQHhya5gl/W4UQ==} - engines: {node: '>=18'} + '@frontify/eslint-config-react@1.0.8': + resolution: {integrity: sha512-fZ1PWJeeo5TD58j+4FfhDWlpOiZPDU6OoUamvZNS0Jkc6DoWhKUPKLXkYBpY0QcTgWS8fN6jUw2y1HLnSWpEgg==} peerDependencies: - '@frontify/fondue-tokens': ^4.2.2 - react: ^18 - react-dom: ^18 + eslint: ^9.0.0 + prettier: ^3.0.0 + react: ^18 || ^19 '@frontify/fondue-charts@7.0.0-rc.3': resolution: {integrity: sha512-4E4Gr+ZFyPWW6O+e7YVazVB5/B9k2p9IH87HZSdj+Di/KaIC46Mnc5SDEbrdr/vVW3uzRRz3sZJsPXTB8n+aiw==} @@ -2115,38 +1882,30 @@ packages: react: ^18 react-dom: ^18 - '@frontify/fondue-components@19.6.0': - resolution: {integrity: sha512-ZA1niYcqxmW7XhHttUkcP2PBW/81dq4Djigw/yRpQKqOqMddejta5HJBRcX2sMzsgM+YSkTHRY/EN6KOtg1g3g==} - engines: {node: '>=18'} - peerDependencies: - '@frontify/fondue-icons': ^0.17.1 - '@frontify/fondue-tokens': ^4.2.2 - react: ^18 - react-dom: ^18 - - '@frontify/fondue-components@24.0.0-rc.2': - resolution: {integrity: sha512-PzR94gsr2QocVC+LVLWgr7APHy12B9OZ97GCn06htpsSt71gTAOUyOPXrHi8UK8xvfPGG+AtdBWukljRp7vuxw==} + '@frontify/fondue-components@24.0.0': + resolution: {integrity: sha512-YMVMN7bPeoMabn4AGXApO7oWCpOa96w8EG9CV6arRFMbSivaXlIb/CbubHfGLSzEf+4k1+4V/BGydqHjvF8hJw==} engines: {node: '>=18'} peerDependencies: - '@frontify/fondue-icons': ^0.22.0-rc.0 - '@frontify/fondue-tokens': ^5.0.0-rc.2 + '@frontify/fondue-icons': ^0.22.0 + '@frontify/fondue-tokens': ^4.2.3 react: ^18 react-dom: ^18 - '@frontify/fondue-icons@0.17.1': - resolution: {integrity: sha512-1Svcn8w/Myly96MQ6vqBG7h8vRTpzvyo34v17buxK1TiguV+FIlXyEAHTZWG71ZOipOkxEuqBaag6z5XWzMsIQ==} + '@frontify/fondue-icons@0.22.0': + resolution: {integrity: sha512-THiVlpTjMJZzI85GWggbm/NwOXYWtDb3R6lJ3uv1DQFT6aZW97/0PJqhHFENR1ksDTaffZe49C+BPej408cyNg==} engines: {node: '>=18'} peerDependencies: react: ^18 - '@frontify/fondue-icons@0.22.0-rc.0': - resolution: {integrity: sha512-N6xYW6wAeC/kDSD9U5FdR3Y45uHVxwLs1N4Pb1V3MNMfiHVjQzOfM0zAiGzjUz+f5Yf5BgRRd3Kn2YzSWhONTw==} + '@frontify/fondue-rte@0.0.1-rc.6': + resolution: {integrity: sha512-vu8pYuccoefiiqsjH6gRNBkk2nU1lDMnAypbW+Ek0S4DtaLQago30vazQOvl9l2lNgIRJIiu5E5RFewckoyzuQ==} engines: {node: '>=18'} peerDependencies: react: ^18 + react-dom: ^18 - '@frontify/fondue-tokens@4.2.2': - resolution: {integrity: sha512-azqsYg/ectuDm80jbewb1T2WX+O8HJTKRYaRqHsl+mQveTsTHTH5xlYxlT2BTTYXMLha05HyJSBWUcHcmhlriw==} + '@frontify/fondue-tokens@4.2.3': + resolution: {integrity: sha512-38l06nmMgEUTTLBfsUeVz+QrW/708yqlrct2LBvOln+Ejxzdac/0QoKDaxwL6YXnGjTA7hjLjucDQsXDmSfUPQ==} peerDependencies: react: ^18 react-dom: ^18 @@ -2157,55 +1916,38 @@ packages: peerDependencies: tailwindcss: ^3.4.17 - '@frontify/fondue@12.12.3': - resolution: {integrity: sha512-5qsY/JXQ0BS0rlsqFOz5ja0Mof8WkQ/vlUrdrnpfsbZwUOrIph+E9JezgMR3b0pf0S7mqCm79W9oHUvS6yxozA==} - engines: {node: '>=18'} - peerDependencies: - react: ^18 - react-dom: ^18 - - '@frontify/fondue@13.0.0-rc.5': - resolution: {integrity: sha512-ORTYHmqhalBJ/5OYX4Gp9uw8NpRj4cIJHNPP2IDnhwFnhNoxfvp7hUliFI2KptaXa3fQ0lByHA8l15xxztLLRQ==} + '@frontify/fondue@13.0.0-rc.8': + resolution: {integrity: sha512-wkUnkdtHB7ZjOwip8afpTTz7JxJvCj7h6V+7pFwzi2jITisTOt+Qxj3mMR9330csAtCi8ftyiJBAnlVWnemxng==} engines: {node: '>=18'} hasBin: true peerDependencies: react: ^18 react-dom: ^18 - '@frontify/sidebar-settings@0.10.5': - resolution: {integrity: sha512-hjcOmje/jiksT7lYu8AaBGQ/Y84/em69OkLPrfpeq8OiSL6oJI3vbo+PpDM4NaOJb/0uCBkpYOmsg7KDiM+upQ==} + '@frontify/sidebar-settings@0.10.7': + resolution: {integrity: sha512-oQgpbo3kPdMbTPrZu8HhOYsahDcUm834gI5fgf6HVh9dqrIphqowgiI6niRD3ptpuwcSISRMRwUDwKn2fPnz0A==} peerDependencies: react: ^18 react-dom: ^18 - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.3': resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@inquirer/external-editor@1.0.2': - resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==} + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -2216,9 +1958,6 @@ packages: '@internationalized/date@3.10.0': resolution: {integrity: sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==} - '@internationalized/date@3.9.0': - resolution: {integrity: sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg==} - '@internationalized/message@3.1.8': resolution: {integrity: sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA==} @@ -2240,38 +1979,14 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/ttlcache@1.4.1': - resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} - engines: {node: '>=12'} - '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@jest/create-cache-key-function@29.7.0': - resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/types@26.6.2': - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -2282,15 +1997,9 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.11': - resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.30': - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} - '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -2345,6 +2054,9 @@ packages: '@open-draft/until@1.0.3': resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2353,8 +2065,8 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} @@ -2448,6 +2160,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-context@1.1.3': + resolution: {integrity: sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-dialog@1.1.15': resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==} peerDependencies: @@ -2527,8 +2248,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-label@2.1.7': - resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} + '@radix-ui/react-label@2.1.8': + resolution: {integrity: sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2618,8 +2339,21 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-progress@1.1.7': - resolution: {integrity: sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==} + '@radix-ui/react-primitive@2.1.4': + resolution: {integrity: sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-progress@1.1.8': + resolution: {integrity: sha512-+gISHcSPUJ7ktBy9RnTqbdKW78bcGke3t6taawyZ71pio1JewwGSJizycs7rLhGTvMJYCQB1DBK4KQsxs7U8dA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2696,6 +2430,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-separator@1.1.8': + resolution: {integrity: sha512-sDvqVY4itsKwwSMEe0jtKgfTh+72Sy3gPmQpjqcQneqQ4PFmr/1I0YA+2/puilhggCe2gJcx5EBAYFkWkdpa5g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-slider@1.3.6': resolution: {integrity: sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==} peerDependencies: @@ -2718,6 +2465,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-slot@1.2.4': + resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-switch@1.2.6': resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} peerDependencies: @@ -2895,60 +2651,30 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/breadcrumbs@3.5.28': - resolution: {integrity: sha512-6S3QelpajodEzN7bm49XXW5gGoZksK++cl191W0sexq/E5hZHAEA9+CFC8pL3px13ji7qHGqKAxOP4IUVBdVpQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/breadcrumbs@3.5.29': resolution: {integrity: sha512-rKS0dryllaZJqrr3f/EAf2liz8CBEfmL5XACj+Z1TAig6GIYe1QuA3BtkX0cV9OkMugXdX8e3cbA7nD10ORRqg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/button@3.14.1': - resolution: {integrity: sha512-Ug06unKEYVG3OF6zKmpVR7VfLzpj7eJVuFo3TCUxwFJG7DI28pZi2TaGWnhm7qjkxfl1oz0avQiHVfDC99gSuw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/button@3.14.2': resolution: {integrity: sha512-VbLIA+Kd6f/MDjd+TJBUg2+vNDw66pnvsj2E4RLomjI9dfBuN7d+Yo2UnsqKVyhePjCUZ6xxa2yDuD63IOSIYA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/checkbox@3.16.1': - resolution: {integrity: sha512-YcG3QhuGIwqPHo4GVGVmwxPM5Ayq9CqYfZjla/KTfJILPquAJ12J7LSMpqS/Z5TlMNgIIqZ3ZdrYmjQlUY7eUg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/checkbox@3.16.2': resolution: {integrity: sha512-29Mj9ZqXioJ0bcMnNGooHztnTau5pikZqX3qCRj5bYR3by/ZFFavYoMroh9F7s/MbFm/tsKX+Sf02lYFEdXRjA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/combobox@3.13.2': - resolution: {integrity: sha512-PNyqlaM19A+lKX9hwqkKTXvWDilCKaRH2RdrB/C5AfmGi3bh/IKsu66c8ohgadXB2AIdJB36EOOm3hNh8G9DqQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/combobox@3.14.0': resolution: {integrity: sha512-z4ro0Hma//p4nL2IJx5iUa7NwxeXbzSoZ0se5uTYjG1rUUMszg+wqQh/AQoL+eiULn7rs18JY9wwNbVIkRNKWA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/dialog@3.5.30': - resolution: {integrity: sha512-fiodaeMSTiC4qKNwnCLbNykyvfcxuz/PiU/pBNhWYd4lUrX1TauBQb0++o5/K6OHt8iB+A7/LSHRbPtyOSWE9g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/dialog@3.5.31': resolution: {integrity: sha512-inxQMyrzX0UBW9Mhraq0nZ4HjHdygQvllzloT1E/RlDd61lr3RbmJR6pLsrbKOTtSvDIBJpCso1xEdHCFNmA0Q==} peerDependencies: @@ -2961,84 +2687,42 @@ packages: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/form@3.1.1': - resolution: {integrity: sha512-PjZC25UgH5orit9p56Ymbbo288F3eaDd3JUvD8SG+xgx302HhlFAOYsQLLAb4k4H03bp0gWtlUEkfX6KYcE1Tw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/form@3.1.2': resolution: {integrity: sha512-R3i7L7Ci61PqZQvOrnL9xJeWEbh28UkTVgkj72EvBBn39y4h7ReH++0stv7rRs8p5ozETSKezBbGfu4UsBewWw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/grid@3.14.4': - resolution: {integrity: sha512-l1FLQNKnoHpY4UClUTPUV0AqJ5bfAULEE0ErY86KznWLd+Hqzo7mHLqqDV02CDa/8mIUcdoax/MrYYIbPDlOZA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/grid@3.14.5': resolution: {integrity: sha512-XHw6rgjlTqc85e3zjsWo3U0EVwjN5MOYtrolCKc/lc2ItNdcY3OlMhpsU9+6jHwg/U3VCSWkGvwAz9hg7krd8Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/i18n@3.12.12': - resolution: {integrity: sha512-JN6p+Xc6Pu/qddGRoeYY6ARsrk2Oz7UiQc9nLEPOt3Ch+blJZKWwDjcpo/p6/wVZdD/2BgXS7El6q6+eMg7ibw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/i18n@3.12.13': resolution: {integrity: sha512-YTM2BPg0v1RvmP8keHenJBmlx8FXUKsdYIEX7x6QWRd1hKlcDwphfjzvt0InX9wiLiPHsT5EoBTpuUk8SXc0Mg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/interactions@3.25.5': - resolution: {integrity: sha512-EweYHOEvMwef/wsiEqV73KurX/OqnmbzKQa2fLxdULbec5+yDj6wVGaRHIzM4NiijIDe+bldEl5DG05CAKOAHA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/interactions@3.25.6': resolution: {integrity: sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/label@3.7.21': - resolution: {integrity: sha512-8G+059/GZahgQbrhMcCcVcrjm7W+pfzrypH/Qkjo7C1yqPGt6geeFwWeOIbiUZoI0HD9t9QvQPryd6m46UC7Tg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/label@3.7.22': resolution: {integrity: sha512-jLquJeA5ZNqDT64UpTc9XJ7kQYltUlNcgxZ37/v4mHe0UZ7QohCKdKQhXHONb0h2jjNUpp2HOZI8J9++jOpzxA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/link@3.8.5': - resolution: {integrity: sha512-klhV4roPp5MLRXJv1N+7SXOj82vx4gzVpuwQa3vouA+YI1my46oNzwgtkLGSTvE9OvDqYzPDj2YxFYhMywrkuw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/link@3.8.6': resolution: {integrity: sha512-7F7UDJnwbU9IjfoAdl6f3Hho5/WB7rwcydUOjUux0p7YVWh/fTjIFjfAGyIir7MJhPapun1D0t97QQ3+8jXVcg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/listbox@3.14.8': - resolution: {integrity: sha512-uRgbuD9afFv0PDhQ/VXCmAwlYctIyKRzxztkqp1p/1yz/tn/hs+bG9kew9AI02PtlRO1mSc+32O+mMDXDer8hA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/listbox@3.15.0': resolution: {integrity: sha512-Ub1Wu79R9sgxM7h4HeEdjOgOKDHwduvYcnDqsSddGXgpkL8ADjsy2YUQ0hHY5VnzA4BxK36bLp4mzSna8Qvj1w==} peerDependencies: @@ -3048,60 +2732,30 @@ packages: '@react-aria/live-announcer@3.4.4': resolution: {integrity: sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA==} - '@react-aria/menu@3.19.2': - resolution: {integrity: sha512-WzDLW2MotL0L5/LEwc5oGgISf2ODuw4FnRpF0Zk+J4tKFfC88odvKz848ubBvThRXuXEvL0BHY+WqtM+j9fn3g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/menu@3.19.3': resolution: {integrity: sha512-52fh8y8b2776R2VrfZPpUBJYC9oTP7XDy+zZuZTxPEd7Ywk0JNUl5F92y6ru22yPkS13sdhrNM/Op+V/KulmAg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/overlays@3.29.1': - resolution: {integrity: sha512-Yz92XNPnbrTnxrvNrY/fXJ3iWaYNrj0q24ddvZNNKDcWak0S1/mQeUwNb+PwS2AryhFU5VQqKz5rNsM96TKmPQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/overlays@3.30.0': resolution: {integrity: sha512-UpjqSjYZx5FAhceWCRVsW6fX1sEwya1fQ/TKkL53FAlLFR8QKuoKqFlmiL43YUFTcGK3UdEOy3cWTleLQwdSmQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/radio@3.12.1': - resolution: {integrity: sha512-feZdMJyNp+UX03seIX0W6gdUk8xayTY+U0Ct61eci6YXzyyZoL2PVh49ojkbyZ2UZA/eXeygpdF5sgQrKILHCA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/radio@3.12.2': resolution: {integrity: sha512-I11f6I90neCh56rT/6ieAs3XyDKvEfbj/QmbU5cX3p+SJpRRPN0vxQi5D1hkh0uxDpeClxygSr31NmZsd4sqfg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/select@3.16.2': - resolution: {integrity: sha512-MwsOJ6FfPxzrLP6spnYg2SUeGKNm4m5vyH6GebecLxTO1ee7/YyTNP1xkrQTqPMP9xx6uqhzFLFuCym2b6ripA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/select@3.17.0': resolution: {integrity: sha512-q5ZuyAn5jSOeI0Ys99951TaGcF4O7u1SSBVxPMwVVXOU8ZhToCNx+WG3n/JDYHEjqdo7sbsVRaPA7LkBzBGf5w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/selection@3.25.1': - resolution: {integrity: sha512-HG+k3rDjuhnXPdVyv9CKiebee2XNkFYeYZBxEGlK3/pFVBzndnc8BXNVrXSgtCHLs2d090JBVKl1k912BPbj0Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/selection@3.26.0': resolution: {integrity: sha512-ZBH3EfWZ+RfhTj01dH8L17uT7iNbXWS8u77/fUpHgtrm0pwNVhx0TYVnLU1YpazQ/3WVpvWhmBB8sWwD1FlD/g==} peerDependencies: @@ -3114,84 +2768,42 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/table@3.17.7': - resolution: {integrity: sha512-FxXryGTxePgh8plIxlOMwXdleGWjK52vsmbRoqz66lTIHMUMLTmmm+Y0V3lBOIoaW1rxvKcolYgS79ROnbDYBw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/table@3.17.8': resolution: {integrity: sha512-bXiZoxTMbsqUJsYDhHPzKc3jw0HFJ/xMsJ49a0f7mp5r9zACxNLeIU0wJ4Uvx37dnYOHKzGliG+rj5l4sph7MA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/textfield@3.18.1': - resolution: {integrity: sha512-8yCoirnQzbbQgdk5J5bqimEu3GhHZ9FXeMHez1OF+H+lpTwyTYQ9XgioEN3HKnVUBNEufG4lYkQMxTKJdq1v9g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/textfield@3.18.2': resolution: {integrity: sha512-G+lM8VYSor6g9Yptc6hLZ6BF+0cq0pYol1z6wdQUQgJN8tg4HPtzq75lsZtlCSIznL3amgRAxJtd0dUrsAnvaQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toggle@3.12.1': - resolution: {integrity: sha512-XaFiRs1KEcIT6bTtVY/KTQxw4kinemj/UwXw2iJTu9XS43hhJ/9cvj8KzNGrKGqaxTpOYj62TnSHZbSiFViHDA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toggle@3.12.2': resolution: {integrity: sha512-g25XLYqJuJpt0/YoYz2Rab8ax+hBfbssllcEFh0v0jiwfk2gwTWfRU9KAZUvxIqbV8Nm8EBmrYychDpDcvW1kw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toolbar@3.0.0-beta.20': - resolution: {integrity: sha512-Kxvqw+TpVOE/eSi8RAQ9xjBQ2uXe8KkRvlRNQWQsrzkZDkXhzqGfQuJnBmozFxqpzSLwaVqQajHFUSvPAScT8Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/toolbar@3.0.0-beta.21': resolution: {integrity: sha512-yRCk/GD8g+BhdDgxd3I0a0c8Ni4Wyo6ERzfSoBkPkwQ4X2E2nkopmraM9D0fXw4UcIr4bnmvADzkHXtBN0XrBg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tooltip@3.8.7': - resolution: {integrity: sha512-Aj7DPJYGZ9/+2ZfhkvbN7YMeA5qu4oy4LVQiMCpqNwcFzvhTAVhN7J7cS6KjA64fhd1shKm3BZ693Ez6lSpqwg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/tooltip@3.8.8': resolution: {integrity: sha512-CmHUqtXtFWmG4AHMEr9hIVex+oscK6xcM2V47gq9ijNInxe3M6UBu/dBdkgGP/jYv9N7tzCAjTR8nNIHQXwvWw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/utils@3.30.1': - resolution: {integrity: sha512-zETcbDd6Vf9GbLndO6RiWJadIZsBU2MMm23rBACXLmpRztkrIqPEb2RVdlLaq1+GklDx0Ii6PfveVjx+8S5U6A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/utils@3.31.0': resolution: {integrity: sha512-ABOzCsZrWzf78ysswmguJbx3McQUja7yeGj6/vZo4JVsZNlxAN+E9rs381ExBRI0KzVo6iBTeX5De8eMZPJXig==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/visually-hidden@3.8.27': - resolution: {integrity: sha512-hD1DbL3WnjPnCdlQjwe19bQVRAGJyN0Aaup+s7NNtvZUn7AjoEH78jo8TE+L8yM7z/OZUQF26laCfYqeIwWn4g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-aria/visually-hidden@3.8.28': resolution: {integrity: sha512-KRRjbVVob2CeBidF24dzufMxBveEUtUu7IM+hpdZKB+gxVROoh4XRLPv9SFmaH89Z7D9To3QoykVZoWD0lan6Q==} peerDependencies: @@ -3207,104 +2819,6 @@ packages: '@react-dnd/shallowequal@4.0.2': resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} - '@react-native-community/cli-clean@13.6.8': - resolution: {integrity: sha512-B1uxlm1N4BQuWFvBL3yRl3LVvydjswsdbTi7tMrHMtSxfRio1p9HjcmDzlzKco09Y+8qBGgakm3jcMZGLbhXQQ==} - - '@react-native-community/cli-config@13.6.8': - resolution: {integrity: sha512-RabCkIsWdP4Ex/sf1uSP9qxc30utm+0uIJAjrZkNQynm7T4Lyqn/kT3LKm4yM6M0Qk61YxGguiaXF4601vAduw==} - - '@react-native-community/cli-debugger-ui@13.6.8': - resolution: {integrity: sha512-2cS+MX/Su6sVSjqpDftFOXbK7EuPg98xzsPkdPhkQnkZwvXqodK9CAMuDMbx3lBHHtrPrpMbBCpFmPN8iVOnlA==} - - '@react-native-community/cli-doctor@13.6.8': - resolution: {integrity: sha512-/3Vdy9J3hyiu0y3nd/CU3kBqPlTRxnLXg7V6jrA1jbTOlZAMyV9imEkrqEaGK0SMOyMhh9Pipf98Ozhk0Nl4QA==} - - '@react-native-community/cli-hermes@13.6.8': - resolution: {integrity: sha512-lZi/OBFuZUj5cLK94oEgtrtmxGoqeYVRcnHXl/R5c4put9PDl+qH2bEMlGZkFiw57ae3UZKr3TMk+1s4jh3FYQ==} - - '@react-native-community/cli-platform-android@13.6.8': - resolution: {integrity: sha512-vWrqeLRRTwp2kO33nbrAgbYn8HR2c2CpIfyVJY9Ckk7HGUSwDyxdcSu7YBvt2ShdfLZH0HctWFNXsgGrfg6BDw==} - - '@react-native-community/cli-platform-apple@13.6.8': - resolution: {integrity: sha512-1JPohnlXPqU44zns3ALEzIbH2cKRw6JtEDJERgLuEUbs2r2NeJgqDbKyZ7fTTO8o+pegDnn6+Rr7qGVVOuUzzg==} - - '@react-native-community/cli-platform-ios@13.6.8': - resolution: {integrity: sha512-/IIcIRM8qaoD7iZqsvtf6Qq1AwtChWYfB9sTn3mTiolZ5Zd5bXH37g+6liPfAICRkj2Ptq3iXmjrDVUQAxrOXw==} - - '@react-native-community/cli-server-api@13.6.8': - resolution: {integrity: sha512-Lx664oWTzpVfbKUTy+3GIX7e+Mt5Zn+zdkM4ehllNdik/lbB3tM9Nrg8PSvOfI+tTXs2w55+nIydLfH+0FqJVg==} - - '@react-native-community/cli-tools@13.6.8': - resolution: {integrity: sha512-1MYlae9EkbjC7DBYOGMH5xF9yDoeNYUKgEdDjL6WAUBoF2gtwiZPM6igLKi/+dhb5sCtC7fiLrLi0Oevdf+RmQ==} - - '@react-native-community/cli-types@13.6.8': - resolution: {integrity: sha512-C4mVByy0i+/NPuPhdMLBR7ubEVkjVS1VwoQu/BoG1crJFNE+167QXAzH01eFbXndsjZaMWmD4Gerx7TYc6lHfA==} - - '@react-native-community/cli@13.6.8': - resolution: {integrity: sha512-0lRdgLNaXixWY4BfFRl1J6Ao9Lapo2z+++iE7TD4GAbuxOWJSyFi+KUA8XNfSDyML4jFO02MZgyBPxAWdaminQ==} - engines: {node: '>=18'} - hasBin: true - - '@react-native/assets-registry@0.74.84': - resolution: {integrity: sha512-dzUhwyaX04QosWZ8zyaaNB/WYZIdeDN1lcpfQbqiOhZJShRH+FLTDVONE/dqlMQrP+EO7lDqF0RrlIt9lnOCQQ==} - engines: {node: '>=18'} - - '@react-native/babel-plugin-codegen@0.74.84': - resolution: {integrity: sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==} - engines: {node: '>=18'} - - '@react-native/babel-preset@0.74.84': - resolution: {integrity: sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==} - engines: {node: '>=18'} - peerDependencies: - '@babel/core': '*' - - '@react-native/codegen@0.74.84': - resolution: {integrity: sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==} - engines: {node: '>=18'} - peerDependencies: - '@babel/preset-env': ^7.1.6 - - '@react-native/community-cli-plugin@0.74.84': - resolution: {integrity: sha512-GBKE+1sUh86fS2XXV46gMCNHMc1KetshMbYJ0AhDhldpaILZHqRBX50mdVsiYVvkzp4QjM0nmYqefuJ9NVwicQ==} - engines: {node: '>=18'} - - '@react-native/debugger-frontend@0.74.84': - resolution: {integrity: sha512-YUEA03UNFbiYzHpYxlcS2D9+3eNT5YLGkl5yRg3nOSN6KbCc/OttGnNZme+tuSOJwjMN/vcvtDKYkTqjJw8U0A==} - engines: {node: '>=18'} - - '@react-native/dev-middleware@0.74.84': - resolution: {integrity: sha512-veYw/WmyrAOQHUiIeULzn2duJQnXDPiKq2jZ/lcmDo6jsLirpp+Q73lx09TYgy/oVoPRuV0nfmU3x9B6EV/7qQ==} - engines: {node: '>=18'} - - '@react-native/gradle-plugin@0.74.84': - resolution: {integrity: sha512-wYWC5WWXqzCCe4PDogz9pNc4xH5ZamahW5XGSbrrYJ5V3walZ+7z43V6iEBJkZbLjj9YBcSttkXYGr1Xh4veAg==} - engines: {node: '>=18'} - - '@react-native/js-polyfills@0.74.84': - resolution: {integrity: sha512-+PgxuUjBw9JVlz6m4ECsIJMLbDopnr4rpLmsG32hQaJrg0wMuvHtsgAY/J/aVCSG2GNUXexfjrnhc+O9yGOZXQ==} - engines: {node: '>=18'} - - '@react-native/metro-babel-transformer@0.74.84': - resolution: {integrity: sha512-YtVGq7jkgyUECv5yt4BOFbOXyW4ddUn8+dnwGGpJKdfhXYL5o5++AxNdE+2x+SZdkj3JUVekGKPwRabFECABaw==} - engines: {node: '>=18'} - peerDependencies: - '@babel/core': '*' - - '@react-native/normalize-colors@0.74.84': - resolution: {integrity: sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A==} - - '@react-native/virtualized-lists@0.74.84': - resolution: {integrity: sha512-XcV+qdqt2WihaY4iRm/M1FdSy+18lecU9mRXNmy9YK8g9Th/8XbNtmmKI0qWBx3KxyuXMH/zd0ps05YTrX16kw==} - engines: {node: '>=18'} - peerDependencies: - '@types/react': ^18.2.6 - react: '*' - react-native: '*' - peerDependenciesMeta: - '@types/react': - optional: true - '@react-spring/animated@9.7.5': resolution: {integrity: sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==} peerDependencies: @@ -3326,37 +2840,22 @@ packages: '@react-spring/types@9.7.5': resolution: {integrity: sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==} - '@react-spring/web@9.7.3': - resolution: {integrity: sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==} + '@react-spring/web@9.7.5': + resolution: {integrity: sha512-lmvqGwpe+CSttsWNZVr+Dg62adtKhauGwLyGE/RRyZ8AAMLgb9x3NDMA5RMElXo+IMyTkPp7nxTB8ZQlmhb6JQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@react-stately/checkbox@3.7.1': - resolution: {integrity: sha512-ezfKRJsDuRCLtNoNOi9JXCp6PjffZWLZ/vENW/gbRDL8i46RKC/HpfJrJhvTPmsLYazxPC99Me9iq3v0VoNCsw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/checkbox@3.7.2': resolution: {integrity: sha512-j1ycUVz5JmqhaL6mDZgDNZqBilOB8PBW096sDPFaTtuYreDx2HOd1igxiIvwlvPESZwsJP7FVM3mYnaoXtpKPA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/collections@3.12.7': - resolution: {integrity: sha512-0kQc0mI986GOCQHvRy4L0JQiotIK/KmEhR9Mu/6V0GoSdqg5QeUe4kyoNWj3bl03uQXme80v0L2jLHt+fOHHjA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/collections@3.12.8': resolution: {integrity: sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/combobox@3.11.1': - resolution: {integrity: sha512-ZZh+SaAmddoY+MeJr470oDYA0nGaJm4xoHCBapaBA0JNakGC/wTzF/IRz3tKQT2VYK4rumr1BJLZQydGp7zzeg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/combobox@3.12.0': resolution: {integrity: sha512-A6q9R/7cEa/qoQsBkdslXWvD7ztNLLQ9AhBhVN9QvzrmrH5B4ymUwcTU8lWl22ykH7RRwfonLeLXJL4C+/L2oQ==} peerDependencies: @@ -3365,41 +2864,21 @@ packages: '@react-stately/flags@3.1.2': resolution: {integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==} - '@react-stately/form@3.2.1': - resolution: {integrity: sha512-btgOPXkwvd6fdWKoepy5Ue43o2932OSkQxozsR7US1ffFLcQc3SNlADHaRChIXSG8ffPo9t0/Sl4eRzaKu3RgQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/form@3.2.2': resolution: {integrity: sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/grid@3.11.5': - resolution: {integrity: sha512-4cNjGYaNkcVS2wZoNHUrMRICBpkHStYw57EVemP7MjiWEVu53kzPgR1Iwmti2WFCpi1Lwu0qWNeCfzKpXW4BTg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/grid@3.11.6': resolution: {integrity: sha512-vWPAkzpeTIsrurHfMubzMuqEw7vKzFhIJeEK5sEcLunyr1rlADwTzeWrHNbPMl66NAIAi70Dr1yNq+kahQyvMA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/list@3.13.0': - resolution: {integrity: sha512-Panv8TmaY8lAl3R7CRhyUadhf2yid6VKsRDBCBB1FHQOOeL7lqIraz/oskvpabZincuaIUWqQhqYslC4a6dvuA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/list@3.13.1': resolution: {integrity: sha512-eHaoauh21twbcl0kkwULhVJ+CzYcy1jUjMikNVMHOQdhr4WIBdExf7PmSgKHKqsSPhpGg6IpTCY2dUX3RycjDg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/menu@3.9.7': - resolution: {integrity: sha512-mfz1YoCgtje61AGxVdQaAFLlOXt9vV5dd1lQljYUPRafA/qu5Ursz4fNVlcavWW9GscebzFQErx+y0oSP7EUtQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/menu@3.9.8': resolution: {integrity: sha512-bo0NOhofnTHLESiYfsSSw6gyXiPVJJ0UlN2igUXtJk5PmyhWjFzUzTzcnd7B028OB0si9w3LIWM3stqz5271Eg==} peerDependencies: @@ -3410,71 +2889,36 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/radio@3.11.1': - resolution: {integrity: sha512-ld9KWztI64gssg7zSZi9li21sG85Exb+wFPXtCim1TtpnEpmRtB05pXDDS3xkkIU/qOL4eMEnnLO7xlNm0CRIA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/radio@3.11.2': resolution: {integrity: sha512-UM7L6AW+k8edhSBUEPZAqiWNRNadfOKK7BrCXyBiG79zTz0zPcXRR+N+gzkDn7EMSawDeyK1SHYUuoSltTactg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/select@3.7.1': - resolution: {integrity: sha512-vZt4j9yVyOTWWJoP9plXmYaPZH2uMxbjcGMDbiShwsFiK8C2m9b3Cvy44TZehfzCWzpMVR/DYxEYuonEIGA82Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/select@3.8.0': resolution: {integrity: sha512-A721nlt0DSCDit0wKvhcrXFTG5Vv1qkEVkeKvobmETZy6piKvwh0aaN8iQno5AFuZaj1iOZeNjZ/20TsDJR/4A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/selection@3.20.5': - resolution: {integrity: sha512-YezWUNEn2pz5mQlbhmngiX9HqQsruLSXlkrAzB1DD6aliGrUvPKufTTGCixOaB8KVeCamdiFAgx1WomNplzdQA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/selection@3.20.6': resolution: {integrity: sha512-a0bjuP2pJYPKEiedz2Us1W1aSz0iHRuyeQEdBOyL6Z6VUa6hIMq9H60kvseir2T85cOa4QggizuRV7mcO6bU5w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/table@3.15.0': - resolution: {integrity: sha512-KbvkrVF3sb25IPwyte9JcG5/4J7TgjHSsw7D61d/T/oUFMYPYVeolW9/2y+6u48WPkDJE8HJsurme+HbTN0FQA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/table@3.15.1': resolution: {integrity: sha512-MhMAgE/LgAzHcAn1P3p/nQErzJ6DiixSJ1AOt2JlnAKEb5YJg4ATKWCb2IjBLwywt9ZCzfm3KMUzkctZqAoxwA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/toggle@3.9.1': - resolution: {integrity: sha512-L6yUdE8xZfQhw4aEFZduF8u4v0VrpYrwWEA4Tu/4qwGIPukH0wd2W21Zpw+vAiLOaDKnxel1nXX68MWnm4QXpw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/toggle@3.9.2': resolution: {integrity: sha512-dOxs9wrVXHUmA7lc8l+N9NbTJMAaXcYsnNGsMwfXIXQ3rdq+IjWGNYJ52UmNQyRYFcg0jrzRrU16TyGbNjOdNQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tooltip@3.5.7': - resolution: {integrity: sha512-GYh764BcYZz+Lclyutyir5I3elNo+vVNYzeNOKmPGZCE3p5B+/8lgZAHKxnRc9qmBlxvofnhMcuQxAPlBhoEkw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tooltip@3.5.8': resolution: {integrity: sha512-gkcUx2ROhCiGNAYd2BaTejakXUUNLPnnoJ5+V/mN480pN+OrO8/2V9pqb/IQmpqxLsso93zkM3A4wFHHLBBmPQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tree@3.9.2': - resolution: {integrity: sha512-jsT1WZZhb7GRmg1iqoib9bULsilIK5KhbE8WrcfIml8NYr4usP4DJMcIYfRuiRtPLhKtUvHSoZ5CMbinPp8PUQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-stately/tree@3.9.3': resolution: {integrity: sha512-ZngG79nLFxE/GYmpwX6E/Rma2MMkzdoJPRI3iWk3dgqnGMMzpPnUp/cvjDsU3UHF7xDVusC5BT6pjWN0uxCIFQ==} peerDependencies: @@ -3490,175 +2934,94 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 - '@react-types/breadcrumbs@3.7.16': - resolution: {integrity: sha512-4J+7b9y6z8QGZqvsBSWQfebx6aIbc+1unQqnZCAlJl9EGzlI6SGdXRsURGkOUGJCV2GqY8bSocc8AZbRXpQ0XQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/breadcrumbs@3.7.17': resolution: {integrity: sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/button@3.14.0': - resolution: {integrity: sha512-pXt1a+ElxiZyWpX0uznyjy5Z6EHhYxPcaXpccZXyn6coUo9jmCbgg14xR7Odo+JcbfaaISzZTDO7oGLVTcHnpA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/button@3.14.1': resolution: {integrity: sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/checkbox@3.10.1': - resolution: {integrity: sha512-8ZqBoGBxtn6U/znpmyutGtBBaafUzcZnbuvYjwyRSONTrqQ0IhUq6jI/jbnE9r9SslIkbMB8IS1xRh2e63qmEQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/checkbox@3.10.2': resolution: {integrity: sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/combobox@3.13.8': - resolution: {integrity: sha512-HGC3X9hmDRsjSZcFiflvJ7vbIgQ2gX/ZDxo1HVtvQqUDbgQCVakCcCdrB44aYgHFnyDiO6hyp7Y7jXtDBaEIIA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/combobox@3.13.9': resolution: {integrity: sha512-G6GmLbzVkLW6VScxPAr/RtliEyPhBClfYaIllK1IZv+Z42SVnOpKzhnoe79BpmiFqy1AaC3+LjZX783mrsHCwA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/dialog@3.5.21': - resolution: {integrity: sha512-jF1gN4bvwYamsLjefaFDnaSKxTa3Wtvn5f7WLjNVZ8ICVoiMBMdUJXTlPQHAL4YWqtCj4hK/3uimR1E+Pwd7Xw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/dialog@3.5.22': resolution: {integrity: sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/grid@3.3.5': - resolution: {integrity: sha512-hG6J2KDfmOHitkWoCa/9DvY1nTO2wgMIApcFoqLv7AWJr9CzvVqo5tIhZZCXiT1AvU2kafJxu9e7sr5GxAT2YA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/grid@3.3.6': resolution: {integrity: sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/link@3.6.4': - resolution: {integrity: sha512-eLpIgOPf7GW4DpdMq8UqiRJkriend1kWglz5O9qU+/FM6COtvRnQkEeRhHICUaU2NZUvMRQ30KaGUo3eeZ6b+g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/link@3.6.5': resolution: {integrity: sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/listbox@3.7.3': - resolution: {integrity: sha512-ONgror9uyGmIer5XxpRRNcc8QFVWiOzINrMKyaS8G4l3aP52ZwYpRfwMAVtra8lkVNvXDmO7hthPZkB6RYdNOA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/listbox@3.7.4': resolution: {integrity: sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/menu@3.10.4': - resolution: {integrity: sha512-jCFVShLq3eASiuznenjoKBv3j0Jy2KQilAjBxdEp56WkZ5D338y/oY5zR6d25u9M0QslpI0DgwC8BwU7MCsPnw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/menu@3.10.5': resolution: {integrity: sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/overlays@3.9.1': - resolution: {integrity: sha512-UCG3TOu8FLk4j0Pr1nlhv0opcwMoqbGEOUvsSr6ITN6Qs2y0j+KYSYQ7a4+04m3dN//8+9Wjkkid8k+V1dV2CA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/overlays@3.9.2': resolution: {integrity: sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/radio@3.9.1': - resolution: {integrity: sha512-DUCN3msm8QZ0MJrP55FmqMONaadYq6JTxihYFGMLP+NoKRnkxvXqNZ2PlkAOLGy3y4RHOnOF8O1LuJqFCCuxDw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/radio@3.9.2': resolution: {integrity: sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/select@3.10.1': - resolution: {integrity: sha512-teANUr1byOzGsS/r2j7PatV470JrOhKP8En9lscfnqW5CeUghr+0NxkALnPkiEhCObi/Vu8GIcPareD0HNhtFA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/select@3.11.0': resolution: {integrity: sha512-SzIsMFVPCbXE1Z1TLfpdfiwJ1xnIkcL1/CjGilmUKkNk5uT7rYX1xCJqWCjXI0vAU1xM4Qn+T3n8de4fw6HRBg==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/shared@3.32.0': - resolution: {integrity: sha512-t+cligIJsZYFMSPFMvsJMjzlzde06tZMOIOFa1OV5Z0BcMowrb2g4mB57j/9nP28iJIRYn10xCniQts+qadrqQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/shared@3.32.1': resolution: {integrity: sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/table@3.13.3': - resolution: {integrity: sha512-/kY/VlXN+8l9saySd6igcsDQ3x8pOVFJAWyMh6gOaOVN7HOJkTMIchmqS+ATa4nege8jZqcdzyGeAmv7mN655A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/table@3.13.4': resolution: {integrity: sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/textfield@3.12.5': - resolution: {integrity: sha512-VXez8KIcop87EgIy00r+tb30xokA309TfJ32Qv5qOYB5SMqoHnb6SYvWL8Ih2PDqCo5eBiiGesSaWYrHnRIL8Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/textfield@3.12.6': resolution: {integrity: sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/tooltip@3.4.20': - resolution: {integrity: sha512-tF1yThwvgSgW8Gu/CLL0p92AUldHR6szlwhwW+ewT318sQlfabMGO4xlCNFdxJYtqTpEXk2rlaVrBuaC//du0w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@react-types/tooltip@3.4.21': resolution: {integrity: sha512-ugGHOZU6WbOdeTdbjnaEc+Ms7/WhsUCg+T3PCOIeOT9FG02Ce189yJ/+hd7oqL/tVwIhEMYJIqSCgSELFox+QA==} peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - '@rnx-kit/chromium-edge-launcher@1.0.0': - resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==} - engines: {node: '>=14.15'} + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} - '@rolldown/pluginutils@1.0.0-beta.34': - resolution: {integrity: sha512-LyAREkZHP5pMom7c24meKmJCdhf2hEyvam2q0unr3or9ydwDL+DJ8chTF6Av/RFPb3rH8UFBdMzO5MxTZW97oA==} + '@rolldown/pluginutils@1.0.0-beta.47': + resolution: {integrity: sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==} - '@rollup/pluginutils@5.2.0': - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -3666,218 +3029,113 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.50.0': - resolution: {integrity: sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==} + '@rollup/rollup-android-arm-eabi@4.53.3': + resolution: {integrity: sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.52.3': - resolution: {integrity: sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.50.0': - resolution: {integrity: sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-android-arm64@4.52.3': - resolution: {integrity: sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==} + '@rollup/rollup-android-arm64@4.53.3': + resolution: {integrity: sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.50.0': - resolution: {integrity: sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-arm64@4.52.3': - resolution: {integrity: sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==} + '@rollup/rollup-darwin-arm64@4.53.3': + resolution: {integrity: sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.50.0': - resolution: {integrity: sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.52.3': - resolution: {integrity: sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==} + '@rollup/rollup-darwin-x64@4.53.3': + resolution: {integrity: sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.50.0': - resolution: {integrity: sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==} + '@rollup/rollup-freebsd-arm64@4.53.3': + resolution: {integrity: sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.52.3': - resolution: {integrity: sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.50.0': - resolution: {integrity: sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.52.3': - resolution: {integrity: sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==} + '@rollup/rollup-freebsd-x64@4.53.3': + resolution: {integrity: sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.50.0': - resolution: {integrity: sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-gnueabihf@4.52.3': - resolution: {integrity: sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.50.0': - resolution: {integrity: sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==} + '@rollup/rollup-linux-arm-gnueabihf@4.53.3': + resolution: {integrity: sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.52.3': - resolution: {integrity: sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==} + '@rollup/rollup-linux-arm-musleabihf@4.53.3': + resolution: {integrity: sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.50.0': - resolution: {integrity: sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.52.3': - resolution: {integrity: sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.50.0': - resolution: {integrity: sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==} + '@rollup/rollup-linux-arm64-gnu@4.53.3': + resolution: {integrity: sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.52.3': - resolution: {integrity: sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==} + '@rollup/rollup-linux-arm64-musl@4.53.3': + resolution: {integrity: sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.52.3': - resolution: {integrity: sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.50.0': - resolution: {integrity: sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==} + '@rollup/rollup-linux-loong64-gnu@4.53.3': + resolution: {integrity: sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.50.0': - resolution: {integrity: sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-ppc64-gnu@4.52.3': - resolution: {integrity: sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==} + '@rollup/rollup-linux-ppc64-gnu@4.53.3': + resolution: {integrity: sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.50.0': - resolution: {integrity: sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==} + '@rollup/rollup-linux-riscv64-gnu@4.53.3': + resolution: {integrity: sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.52.3': - resolution: {integrity: sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==} + '@rollup/rollup-linux-riscv64-musl@4.53.3': + resolution: {integrity: sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.50.0': - resolution: {integrity: sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-riscv64-musl@4.52.3': - resolution: {integrity: sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.50.0': - resolution: {integrity: sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.52.3': - resolution: {integrity: sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==} + '@rollup/rollup-linux-s390x-gnu@4.53.3': + resolution: {integrity: sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.50.0': - resolution: {integrity: sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.52.3': - resolution: {integrity: sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==} + '@rollup/rollup-linux-x64-gnu@4.53.3': + resolution: {integrity: sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.50.0': - resolution: {integrity: sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==} + '@rollup/rollup-linux-x64-musl@4.53.3': + resolution: {integrity: sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.52.3': - resolution: {integrity: sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-openharmony-arm64@4.50.0': - resolution: {integrity: sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==} + '@rollup/rollup-openharmony-arm64@4.53.3': + resolution: {integrity: sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.52.3': - resolution: {integrity: sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==} + '@rollup/rollup-win32-arm64-msvc@4.53.3': + resolution: {integrity: sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==} cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.50.0': - resolution: {integrity: sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-arm64-msvc@4.52.3': - resolution: {integrity: sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.50.0': - resolution: {integrity: sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==} - cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.52.3': - resolution: {integrity: sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==} + '@rollup/rollup-win32-ia32-msvc@4.53.3': + resolution: {integrity: sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.52.3': - resolution: {integrity: sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==} + '@rollup/rollup-win32-x64-gnu@4.53.3': + resolution: {integrity: sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.50.0': - resolution: {integrity: sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.52.3': - resolution: {integrity: sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==} + '@rollup/rollup-win32-x64-msvc@4.53.3': + resolution: {integrity: sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==} cpu: [x64] os: [win32] @@ -3909,15 +3167,6 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3928,23 +3177,20 @@ packages: '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} '@sinonjs/samsam@8.0.3': resolution: {integrity: sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==} - '@stylistic/eslint-plugin@5.3.1': - resolution: {integrity: sha512-Ykums1VYonM0TgkD0VteVq9mrlO2FhF48MDJnPyv3MktIB2ydtuhlO0AfWm7xnW1kyf5bjOqA6xc7JjviuVTxg==} + '@stylistic/eslint-plugin@5.6.1': + resolution: {integrity: sha512-JCs+MqoXfXrRPGbGmho/zGS/jMcn3ieKl/A8YImqib76C8kjgZwq5uUFzc30lJkMvcchuRn6/v8IApLxli3Jyw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' - '@swc/helpers@0.5.11': - resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} '@tailwindcss/container-queries@0.1.1': resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} @@ -3956,12 +3202,12 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' - '@testing-library/dom@9.3.4': - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} + engines: {node: '>=18'} - '@testing-library/jest-dom@6.8.0': - resolution: {integrity: sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==} + '@testing-library/jest-dom@6.9.1': + resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} '@testing-library/react@16.3.0': @@ -3985,8 +3231,8 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} '@tsconfig/node12@1.0.11': resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} @@ -3997,8 +3243,8 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tybys/wasm-util@0.10.0': - resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -4009,17 +3255,17 @@ 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==} - '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} '@types/cookie@0.4.1': resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} @@ -4072,8 +3318,8 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/geojson@7946.0.14': - resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} '@types/glob-to-regexp@0.4.4': resolution: {integrity: sha512-nDKoaKJYbnn1MZxUY0cA1bPmmgZbg0cTq7Rh13d0KWYNOiKbqoR+2d89SnRPszGh7ROzSwZ/GOjZ4jPbmmZ6Eg==} @@ -4081,15 +3327,6 @@ packages: '@types/is-hotkey@0.1.10': resolution: {integrity: sha512-RvC8KMw5BCac1NvRRyaHgMMEtBaZ6wh0pyPTBu7izn4Sj/AX9Y4aXU5c7rX8PnM/knsuUpC1IeoBkANtxBypsQ==} - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/js-levenshtein@1.1.3': resolution: {integrity: sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==} @@ -4102,8 +3339,8 @@ packages: '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - '@types/lodash@4.17.5': - resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + '@types/lodash@4.17.21': + resolution: {integrity: sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==} '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -4114,29 +3351,17 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node-forge@1.3.14': - resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} - '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.19.123': - resolution: {integrity: sha512-K7DIaHnh0mzVxreCR9qwgNxp3MH9dltPNIEddW9MYUlcKAzm+3grKNSTe2vCJHI1FaLpvpL5JGJrz1UZDKYvDg==} - '@types/node@18.19.130': resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@20.14.9': - resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} - - '@types/node@22.18.0': - resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==} - - '@types/node@24.5.2': - resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==} + '@types/node@20.19.25': + resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==} - '@types/node@24.7.2': - resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==} + '@types/node@22.19.1': + resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} '@types/prompts@2.4.9': resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} @@ -4149,8 +3374,8 @@ packages: peerDependencies: '@types/react': ^18.0.0 - '@types/react@18.3.25': - resolution: {integrity: sha512-oSVZmGtDPmRZtVDqvdKUi/qgCsWp5IDY29wp8na8Bj4B3cc99hfNzvNhlMkVVxctkAOGUA3Km7MMpBHAnWfcIA==} + '@types/react@18.3.27': + resolution: {integrity: sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==} '@types/set-cookie-parser@2.4.10': resolution: {integrity: sha512-GGmQVGpQWUe5qglJozEjZV/5dyxbOOZ0LHe/lqyWssB88Y4svNfst0uqBVscdDeIKl5Jy5+aPSvy7mI9tYRguw==} @@ -4158,23 +3383,23 @@ packages: '@types/sinon@17.0.4': resolution: {integrity: sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew==} + '@types/sinonjs__fake-timers@15.0.1': + resolution: {integrity: sha512-Ko2tjWJq8oozHzHV+reuvS5KYIRAokHnGbDwGh/J64LntgpbuylF74ipEL24HCyRjf9FOlBiBHWBR1RlVKsI1w==} + '@types/sinonjs__fake-timers@8.1.1': resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} - '@types/sinonjs__fake-timers@8.1.5': - resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - - '@types/sizzle@2.3.8': - resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + '@types/sizzle@2.3.10': + resolution: {integrity: sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==} - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/tmp@0.2.6': + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} - '@types/unist@2.0.10': - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@types/unist@3.0.2': - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} '@types/whatwg-mimetype@3.0.2': resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} @@ -4182,81 +3407,72 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@15.0.19': - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - - '@types/yargs@17.0.33': - resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.42.0': - resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==} + '@typescript-eslint/eslint-plugin@8.48.1': + resolution: {integrity: sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.42.0 + '@typescript-eslint/parser': ^8.48.1 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.42.0': - resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==} + '@typescript-eslint/parser@8.48.1': + resolution: {integrity: sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.42.0': - resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==} + '@typescript-eslint/project-service@8.48.1': + resolution: {integrity: sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.42.0': - resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==} + '@typescript-eslint/scope-manager@8.48.1': + resolution: {integrity: sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.42.0': - resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==} + '@typescript-eslint/tsconfig-utils@8.48.1': + resolution: {integrity: sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.42.0': - resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==} + '@typescript-eslint/type-utils@8.48.1': + resolution: {integrity: sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.42.0': - resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==} + '@typescript-eslint/types@8.48.1': + resolution: {integrity: sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.42.0': - resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==} + '@typescript-eslint/typescript-estree@8.48.1': + resolution: {integrity: sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.42.0': - resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==} + '@typescript-eslint/utils@8.48.1': + resolution: {integrity: sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.42.0': - resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==} + '@typescript-eslint/visitor-keys@8.48.1': + resolution: {integrity: sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@udecode/plate-alignment@31.0.0': resolution: {integrity: sha512-RWLWO8FdSACZxAFYaOybffxvY9Orv1Z/zmPJoEBj/+BXXMe1I6D3f9XVOmOmA5RrxHRaVPvm2rNJNbX7XHrL9g==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4267,7 +3483,7 @@ packages: '@udecode/plate-autoformat@31.0.0': resolution: {integrity: sha512-CoEebTLLCL7V0Vv75iy7sawT6VAZC5k0i7UYrvQDzNHgD67jxLZkD8AFIX07RkwckQ76qElgQmH3Ruiwtcxx6g==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4278,7 +3494,7 @@ packages: '@udecode/plate-basic-marks@31.0.0': resolution: {integrity: sha512-yV05ohuWk7ZcVxshLQIoqRbJTCbn8hANaMR98PuOMHFajr68/Qvdn9B5MuOzLqPHyOOQ4yVBdzPNcsG6l1DuAg==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4289,7 +3505,7 @@ packages: '@udecode/plate-break@31.0.0': resolution: {integrity: sha512-dt5btIRIAWVioh9/O/JX8X2UYThGw4/Aks3aRjWjRitwONmTwca9UzxKMj7W0li758Yvd2WPeBJNPIWGJ9cpYw==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4300,7 +3516,7 @@ packages: '@udecode/plate-code-block@31.3.4': resolution: {integrity: sha512-1hWXL/pVHTUKTMch9ckeS806S8+Ie1nKc8m+nuDKUQ/kVHzrU1Z1mjH5Q+1At6NLHd8RfNMmRYtO6knEH1ux0A==} peerDependencies: - '@udecode/plate-common': '>=31.3.2' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4311,17 +3527,7 @@ packages: '@udecode/plate-combobox@31.0.0': resolution: {integrity: sha512-K5XXTWGPeu+D/LsTuOLvPiXYTxev+mHyvfTbuabwqhWMs9tTpKJZpDZXQadOZ1x9/D2LUMDltnBbhREaQ4wCSA==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.99.0' - - '@udecode/plate-common@31.3.2': - resolution: {integrity: sha512-yhfFoJUlX81gOur093uDXrZu8lflm43DpcRhjHtX0pE6MiwSWIGygTNdjyXEE/MWC4/mwdeU1k94ahCXkfiffw==} - peerDependencies: + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4339,16 +3545,6 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' - '@udecode/plate-core@31.3.2': - resolution: {integrity: sha512-sBEB2vMu2KG4/KTBwyui1mBzORBm+tPg05p/mk+/Ihy/gBlxBpIyiuRUo3iRD9ZTm+sAJLZT5e3Vv8wWyu3Bfg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.99.0' - '@udecode/plate-core@36.5.9': resolution: {integrity: sha512-CcJ4ZIoyVtT2oWPlpmwWrAWyOKizwsgUjiYTxSlfV3DMXo2hn9dbQAI68hEuMgMqUoUM+FY/VS3bXZ055FV2Yg==} peerDependencies: @@ -4362,7 +3558,7 @@ packages: '@udecode/plate-emoji@31.4.0': resolution: {integrity: sha512-Vl2kt/IePtIDbEjD7nZacHv21TYuRDB4cRaW5aF9QT+67vI5fJpBooJSod/Zg5Ck5BOHZ/qCiauxJXBfVaPYpw==} peerDependencies: - '@udecode/plate-common': '>=31.3.2' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4373,7 +3569,7 @@ packages: '@udecode/plate-floating@31.0.0': resolution: {integrity: sha512-k1KZjpGCH+x/rDCSUZ1Kd4ttPc/35Xp/T+pmI2jYQ48dlorYQPJSuJxpFE/cpBp1g8G2lLh4xbH5BTYR1bypAQ==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4384,7 +3580,7 @@ packages: '@udecode/plate-font@31.0.0': resolution: {integrity: sha512-2X805gqX8ZgoLZWyKJvrnwYo8x6uusvpKuB9ZhcNVWtmnmtSHTSDlwVBsGaxESOfhvzepy79j+ZTKTPlXDvT1A==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4395,7 +3591,7 @@ packages: '@udecode/plate-indent@31.1.0': resolution: {integrity: sha512-tdHAUMB5TMYHmS1USMEqc2F2rCChDyndyxhtLwvJFf0jUdxz5z3um5lW78U1JDjG4pl7jdQAAR+W/mznjWL0lA==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4406,7 +3602,7 @@ packages: '@udecode/plate-link@31.0.0': resolution: {integrity: sha512-607injR8Bf5Tek4LIjjcuPoDDFMq0i+3cuX1AlIsqbwqZH3gffQZ700OKhisy17bu8SD9aqAgiCfKKlHXM4cdA==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4417,7 +3613,7 @@ packages: '@udecode/plate-list@31.1.3': resolution: {integrity: sha512-TjD5JeKsuzsdSkepgjFMDcJsB6BHdowO/ppHLxUCge74RwPVF7U97HPc7oEtx+OLsrC13gkbpZvwLHfdCy9dDQ==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4428,7 +3624,7 @@ packages: '@udecode/plate-mention@31.3.5': resolution: {integrity: sha512-RTeT4IVZWhlRpv3amlOKrTt0Kk3umv1iynPfaG7LW7sHDdaD0k2QXOvDavFdUo/bBhda/5MTKAzi7/ta7XdnuA==} peerDependencies: - '@udecode/plate-common': '>=31.3.2' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4439,7 +3635,7 @@ packages: '@udecode/plate-normalizers@31.0.0': resolution: {integrity: sha512-4HD39jOgv5Hf8sQqXtZdQLcWYHToXGjBPFU33pYHbEBmxEN9cd5ndxRTCnoOspI9HJMkpu0OzrhUfhLvoPDP4w==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4450,7 +3646,7 @@ packages: '@udecode/plate-paragraph@31.0.0': resolution: {integrity: sha512-uuaksPfDhK5ShVhjZ0pbXlUgy5nKKDkXzrAfDEZJzwF1R2N0HTy2WcmNJFm+aN8ZUFbZ4MHBuUUldZc/aLuCqw==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4461,17 +3657,7 @@ packages: '@udecode/plate-reset-node@31.0.0': resolution: {integrity: sha512-pIdexCNsJx21UHeHrDxeOTS2w0NfthCD5klZGiiKBkU+sd65btmyY1fEQmlVaaeqWKzYCXai2ctSlRAycBV7wA==} peerDependencies: - '@udecode/plate-common': '>=31.0.0' - react: '>=16.8.0' - react-dom: '>=16.8.0' - slate: '>=0.94.0' - slate-history: '>=0.93.0' - slate-hyperscript: '>=0.66.0' - slate-react: '>=0.99.0' - - '@udecode/plate-utils@31.3.2': - resolution: {integrity: sha512-IedyGPqF/yrSjc1ODBSM5xZXC5yPORyqq5vFlk+uNV4khPMDer2PMGnv5se6yVQhSMdAN81gLtlFKONDKIjAjQ==} - peerDependencies: + '@udecode/plate-common': 36.5.9 react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -4740,14 +3926,14 @@ packages: '@react-spring/web': ^9.4.5 react: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@vitejs/plugin-react@4.3.1': - resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.2.0 || ^5.0.0 + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - '@vitejs/plugin-react@5.0.2': - resolution: {integrity: sha512-tmyFgixPZCx2+e6VO9TNITWcCQl8+Nl/E8YbAyPVv85QCc7/A3JrdfG2A8gIzvVhWuzMOVrFW1aReaNxrI6tbw==} + '@vitejs/plugin-react@5.1.1': + resolution: {integrity: sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -4812,11 +3998,11 @@ packages: '@volar/typescript@1.11.1': resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} - '@vue/compiler-core@3.5.21': - resolution: {integrity: sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==} + '@vue/compiler-core@3.5.25': + resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==} - '@vue/compiler-dom@3.5.21': - resolution: {integrity: sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==} + '@vue/compiler-dom@3.5.25': + resolution: {integrity: sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==} '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -4826,8 +4012,8 @@ packages: typescript: optional: true - '@vue/shared@3.5.21': - resolution: {integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==} + '@vue/shared@3.5.25': + resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==} '@xmldom/xmldom@0.8.11': resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} @@ -4843,24 +4029,15 @@ packages: abstract-logging@2.0.1: resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.12.0: - resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -4889,11 +4066,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.16.0: - resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==} - - anser@1.4.10: - resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -4903,25 +4077,14 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-fragments@0.2.1: - resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} - - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -4930,8 +4093,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} any-promise@1.3.0: @@ -4941,9 +4104,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - appdirsjs@1.2.7: - resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} - arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} @@ -4967,13 +4127,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-hidden@1.2.4: - resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} @@ -4981,10 +4138,6 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -5009,17 +4162,10 @@ packages: resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.4: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} - asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} @@ -5038,22 +4184,19 @@ packages: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} - ast-v8-to-istanbul@0.3.5: - resolution: {integrity: sha512-9SdXjNheSiE8bALAQCQQuT6fgQaoxJh7IRYrRGZ8/9nv8WhJeC1aXAwN8TbaOssGOukUvyvnkgD9+Yuykvl1aA==} - - astral-regex@1.0.0: - resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} - engines: {node: '>=4'} + ast-v8-to-istanbul@0.3.8: + resolution: {integrity: sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==} astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} - async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} - async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -5066,11 +4209,11 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - atomically@2.0.3: - resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} + atomically@2.1.0: + resolution: {integrity: sha512-+gDffFXRW6sl/HCwbta7zK4uNqbPjv4YJEAdz7Vu+FLQHe77eZ4bvbJGi4hE0QPeJlMYMA3piXEr1UL3dAwx7Q==} - autoprefixer@10.4.21: - resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + autoprefixer@10.4.22: + resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -5080,25 +4223,30 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - avvio@8.3.2: - resolution: {integrity: sha512-st8e519GWHa/azv8S87mcJvZs4WsgTBjOw/Ih1CP6u+8SZvcOeAYNG6JbsIrAUUJJ7JfmrnOkR8ipDS+u9SIRQ==} + avvio@8.4.0: + resolution: {integrity: sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==} aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - aws4@1.13.0: - resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} - axe-core@4.10.3: - resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} + axe-core@4.11.0: + resolution: {integrity: sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==} engines: {node: '>=4'} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - b4a@1.6.6: - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true babel-core@7.0.0-bridge.0: resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} @@ -5120,9 +4268,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-transform-flow-enums@0.0.2: - resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} - bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -5132,14 +4277,19 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.4.2: - resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.16: - resolution: {integrity: sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw==} + baseline-browser-mapping@2.8.32: + resolution: {integrity: sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==} hasBin: true bcrypt-pbkdf@1.0.2: @@ -5168,29 +4318,21 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.25.4: - resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.26.3: - resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} + browserslist@4.28.0: + resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -5215,10 +4357,6 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -5231,10 +4369,6 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - call-bind@1.0.8: resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} engines: {node: '>= 0.4'} @@ -5243,18 +4377,6 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - caller-callsite@2.0.0: - resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} - engines: {node: '>=4'} - - caller-path@2.0.0: - resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} - engines: {node: '>=4'} - - callsites@2.0.0: - resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} - engines: {node: '>=4'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -5263,19 +4385,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001739: - resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==} - - caniuse-lite@1.0.30001750: - resolution: {integrity: sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ==} + caniuse-lite@1.0.30001757: + resolution: {integrity: sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -5287,10 +4398,6 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -5310,38 +4417,23 @@ packages: character-reference-invalid@1.1.4: resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - chardet@2.1.0: - resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - check-more-types@2.24.0: - resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} - engines: {node: '>= 0.8.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chrome-launcher@0.15.2: - resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} - engines: {node: '>=12.13.0'} - hasBin: true - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.3.0: - resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} classnames@2.5.1: @@ -5375,9 +4467,6 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -5398,22 +4487,13 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colorette@1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} - colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -5425,16 +4505,10 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - - commander@14.0.1: - resolution: {integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==} + commander@14.0.2: + resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} engines: {node: '>=20'} - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -5461,19 +4535,11 @@ packages: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} - compute-scroll-into-view@1.0.20: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} - compute-scroll-into-view@3.1.0: - resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} + compute-scroll-into-view@3.1.1: + resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} @@ -5485,10 +4551,6 @@ packages: resolution: {integrity: sha512-fIWyWUXrJ45cHCIQX+Ck1hrZDIf/9DR0P0Zewn3uNht28hbt5OfGUq8rRWsxi96pZWPyBEd0eY9ama01JTaknA==} engines: {node: '>=18'} - connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -5496,15 +4558,12 @@ packages: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - core-js-compat@3.45.1: - resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} - - core-js-compat@3.46.0: - resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==} + core-js-compat@3.47.0: + resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -5512,10 +4571,6 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} - crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} @@ -5535,8 +4590,8 @@ packages: css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} css.escape@1.5.1: @@ -5547,17 +4602,17 @@ packages: engines: {node: '>=4'} hasBin: true - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - cypress-real-events@1.14.0: - resolution: {integrity: sha512-XmI8y3OZLh6cjRroPalzzS++iv+pGCaD9G9kfIbtspgv7GVsDt30dkZvSXfgZb4rAN+3pOkMVB7e0j4oXydW7Q==} + cypress-real-events@1.15.0: + resolution: {integrity: sha512-in98xxTnnM9Z7lZBvvVozm99PBT2eEOjXRG5LKWyYvQnj9mGWXMiPNpfw7e7WiraBFh7XlXIxnE9Cu5o+52kQQ==} peerDependencies: - cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x || ^14.x + cypress: ^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x || ^14.x || ^15.x - cypress@15.0.0: - resolution: {integrity: sha512-OH5Srk10qTzHYYt3BsP9V1DPYIAzms55s3xQn4mGmYO4k6pi25MCajDyPbiULfNDhNcthNQ2xmYvu1JdeEw1Hw==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + cypress@15.7.0: + resolution: {integrity: sha512-1C81zKxnQckYm2XGi37rPV4rN0bzUoWhydhKdOyshJn5gJKszEx5as9VLSZI0jp0ye49QxmnbU4TtMpcD+OmGQ==} + engines: {node: ^20.1.0 || ^22.0.0 || >=24.0.0} hasBin: true d3-array@3.2.1: @@ -5628,26 +4683,14 @@ packages: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - data-view-byte-length@1.0.2: resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} engines: {node: '>= 0.4'} - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - data-view-byte-offset@1.0.1: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} @@ -5658,11 +4701,8 @@ packages: date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} - dayjs@1.11.13: - resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - - dayjs@1.11.18: - resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} + dayjs@1.11.19: + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} @@ -5671,17 +4711,6 @@ packages: resolution: {integrity: sha512-Sr4SdOZ4vw6eQDvPYNxHogvrxmCIld/VenC5JbNrFwMiwd7lY/Z18ZFfo+EWNG4DD9nFlAujWAo/wGuOPHmy5A==} engines: {node: '>=12'} - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -5690,15 +4719,6 @@ packages: supports-color: optional: true - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -5708,34 +4728,25 @@ packages: supports-color: optional: true - 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.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} - default-browser@5.2.1: - resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + default-browser@5.4.0: + resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} engines: {node: '>=18'} defaults@1.0.4: @@ -5760,21 +4771,10 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - denodeify@1.2.1: - resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -5785,6 +4785,10 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5866,14 +4870,8 @@ packages: ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.5.212: - resolution: {integrity: sha512-gE7ErIzSW+d8jALWMcOIgf+IB6lpfsg6NwOhPVwKzDtN2qcBix47vlin4yzSregYDxTCXOUqAZjVY/Z3naS7ww==} - - electron-to-chromium@1.5.234: - resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==} + electron-to-chromium@1.5.263: + resolution: {integrity: sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5881,16 +4879,8 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - 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.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} @@ -5907,33 +4897,10 @@ packages: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - envinfo@7.17.0: - resolution: {integrity: sha512-GpfViocsFM7viwClFgxK26OtjMlKN67GCR5v6ASFkotxtpBWd9d+vNy+AH7F2E1TUkMDZ8P/dDPZX71/NG8xnQ==} - engines: {node: '>=4'} - hasBin: true - - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - - error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - - errorhandler@1.5.1: - resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} - engines: {node: '>= 0.8'} - - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - es-abstract@1.24.0: resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -5942,9 +4909,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-module-lexer@0.4.1: resolution: {integrity: sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==} @@ -5959,17 +4923,10 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - es-shim-unscopables@1.1.0: resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} engines: {node: '>= 0.4'} - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - es-to-primitive@1.3.0: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} @@ -5979,8 +4936,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.25.9: - resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} hasBin: true @@ -5995,10 +4952,6 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -6086,8 +5039,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsonc@2.20.1: - resolution: {integrity: sha512-gUzIwQHXx7ZPypUoadcyRi4WbHW2TPixDr0kqQ4miuJBU0emJmyGTlnaT3Og9X2a8R1CDayN9BFSq5weGWbTng==} + eslint-plugin-jsonc@2.21.0: + resolution: {integrity: sha512-HttlxdNG5ly3YjP1cFMP62R4qKLxJURfBZo2gnMY+yQojZxkLyOpY1H1KRTKBmvQeSG9pIpSGEhDjE17vvYosg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -6140,35 +5093,19 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-react-debug@2.0.0-next.162: - resolution: {integrity: sha512-2HLxMv+x6OOtpAd4DT35n38mEqYAY+ejDfM/ZRhGbS3/DFpTxgrKJK9YicL+gaLhp0658FqKDyOhgGSFEo3QMA==} - engines: {node: '>=20.19.0'} - peerDependencies: - eslint: ^9.34.0 - typescript: ^4.9.5 || ^5.4.5 - peerDependenciesMeta: - typescript: - optional: true - - eslint-plugin-react-dom@2.0.0-next.162: - resolution: {integrity: sha512-2+eIinouHW0EUf2SSIs29KyL4+EMct9+YXaJdkd+k5dEEJFVZVy7futW3K/Z8Ji4ky8jcdFgTp4Oqhh/IE4ejg==} + eslint-plugin-react-dom@2.3.10: + resolution: {integrity: sha512-pVnY2WoWHx5QHsDajIZ08X8mxgTzcjdm86LEJqZt+u66Sf+9oc8H1AqaTwmVG2FnDE+Od1emootCPwzLD08TWQ==} engines: {node: '>=20.19.0'} peerDependencies: - eslint: ^9.34.0 - typescript: ^4.9.5 || ^5.4.5 - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - eslint-plugin-react-hooks-extra@2.0.0-next.162: - resolution: {integrity: sha512-XPOCW+MAoMu8Fa1OAyvJH9bjE1ani2bKm4YNT/uL9P1UUXl+2MVcSC4sLXCo13uCyyO6d6yMOPbsGQN6ezMkQA==} - engines: {node: '>=18.18.0'} + eslint-plugin-react-hooks-extra@2.3.10: + resolution: {integrity: sha512-IO6q3r+GQ2wN9X9V10DaRFQYLDF1Epx6Of8KluYNTSysxUnk9hidcCdo296ySnMzjYUKcbGH8t1saTiixTHbpw==} + engines: {node: '>=20.0.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <6.0.0' eslint-plugin-react-hooks@5.2.0: resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} @@ -6176,38 +5113,32 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-naming-convention@2.0.0-next.162: - resolution: {integrity: sha512-8pGDjopMAWuu7BSpMYi7GnrwhWMou+t+tbh+XyMI0AbYK198ssqFiXV6xuGihZRjoTwFN1F6UVpjWcJCBWRzcg==} + eslint-plugin-react-hooks@7.0.1: + resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react-naming-convention@2.3.10: + resolution: {integrity: sha512-CfdijQO1JHS3IbBzEuYjUKKIY0Jlzy1fu14iMo55D+sxWcd2QK7i4iLDOywJ197AwfwZ8E+wba07lXs/qLRWDA==} engines: {node: '>=20.19.0'} peerDependencies: - eslint: ^9.34.0 - typescript: ^4.9.5 || ^5.4.5 - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - eslint-plugin-react-web-api@2.0.0-next.162: - resolution: {integrity: sha512-1soyUCfAprCRsZqjw2ZazWLsasqUyqJ9uiSMNdEh54zfmqPzZ6PDtKuQ618p+lwVWjlayCZYJbDHTOjHzS5aPg==} + eslint-plugin-react-web-api@2.3.10: + resolution: {integrity: sha512-oTOp4crs5m6gNDivPrPjSMQAPUvdz5JN5gyjRpEYC3ecOpeKTqGyscS5otpa3Mp+NstmbE1iAr1f1+czU4t3+g==} engines: {node: '>=20.19.0'} peerDependencies: - eslint: ^9.34.0 - typescript: ^4.9.5 || ^5.4.5 - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - eslint-plugin-react-x@2.0.0-next.162: - resolution: {integrity: sha512-CCon6555G7B2gDjgEUHPWAtm0iQ2Q2/KMo+4kgouc4ZSamchio7XZNH0Bf4gaph05AKhsV5ot9H3zIlwHpOF4g==} + eslint-plugin-react-x@2.3.10: + resolution: {integrity: sha512-fDH61DsFcPRNz7W//EZ+wHuG2s6HXB7tahQyM0keRl9i9FEaMKENP4/Qf+u3rosKdwIRz1BI+S2hKjExNS2zVA==} engines: {node: '>=20.19.0'} peerDependencies: - eslint: ^9.34.0 - ts-api-utils: ^2.1.0 - typescript: ^4.9.5 || ^5.4.5 - peerDependenciesMeta: - ts-api-utils: - optional: true - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' eslint-plugin-tailwindcss@3.18.2: resolution: {integrity: sha512-QbkMLDC/OkkjFQ1iz/5jkMdHfiMu/uwujUHLAJK5iwNHD8RTxVTlsUezE0toTZ6VhybNBsk+gYGPDq2agfeRNA==} @@ -6215,14 +5146,14 @@ packages: peerDependencies: tailwindcss: ^3.4.0 - eslint-plugin-unicorn@60.0.0: - resolution: {integrity: sha512-QUzTefvP8stfSXsqKQ+vBQSEsXIlAiCduS/V1Em+FKgL9c21U/IIm20/e3MFy1jyCf14tHAhqC1sX8OTy6VUCg==} + eslint-plugin-unicorn@62.0.0: + resolution: {integrity: sha512-HIlIkGLkvf29YEiS/ImuDZQbP12gWyx5i3C6XrRxMvVdqMroCI9qoVYCoIl17ChN+U89pn9sVwLxhIWj5nEc7g==} engines: {node: ^20.10.0 || >=21.0.0} peerDependencies: - eslint: '>=9.29.0' + eslint: '>=9.38.0' - eslint-plugin-yml@1.18.0: - resolution: {integrity: sha512-9NtbhHRN2NJa/s3uHchO3qVVZw0vyOIvWlXWGaKCr/6l3Go62wsvJK5byiI6ZoYztDsow4GnS69BZD3GnqH3hA==} + eslint-plugin-yml@1.19.0: + resolution: {integrity: sha512-S+4GbcCWksFKAvFJtf0vpdiCkZZvDJCV4Zsi9ahmYkYOYcf+LRqqzvzkb/ST7vTYV6sFwXOvawzYyL/jFT2nQA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -6239,8 +5170,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.34.0: - resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==} + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -6284,10 +5215,6 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -6295,6 +5222,9 @@ packages: eventemitter2@6.4.7: resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -6303,12 +5233,8 @@ packages: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} engines: {node: '>=10'} - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - execa@9.6.0: - resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} executable@4.1.1: @@ -6319,19 +5245,12 @@ packages: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} - exponential-backoff@3.1.3: - resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -6372,32 +5291,21 @@ packages: fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - fast-uri@2.4.0: resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==} - fast-xml-parser@4.5.3: - resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} - hasBin: true + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} fastify-plugin@4.5.1: resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - fastify@4.28.0: - resolution: {integrity: sha512-HhW7UHW07YlqH5qpS0af8d2Gl/o98DhJ8ZDQWHRNDnzeOhZvtreWsX8xanjGgXmkYerGbo8ax/n40Dpwqkot8Q==} - - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastify@4.29.1: + resolution: {integrity: sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==} fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -6433,16 +5341,12 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - find-cache-dir@2.1.0: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} engines: {node: '>=6'} - find-my-way@8.2.0: - resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} + find-my-way@8.2.2: + resolution: {integrity: sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==} engines: {node: '>=14'} find-root@1.1.0: @@ -6475,16 +5379,10 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - flow-enums-runtime@0.0.6: - resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - - flow-parser@0.287.0: - resolution: {integrity: sha512-92XfPmSg6zV/UD/R3Hw+sxBUi3SiIL8COqD7p3HRZysX1ksrw5MdPhpqox0U0Hd5lqQ9F1AJCi92fnRO7WDgFw==} + flow-parser@0.291.0: + resolution: {integrity: sha512-MLqjFn72Dvndqrkjy280HaIs4AV9Z6nxVRmNPO3TjbYcipg4hR7QX7tEYZYsVvaaZWZPGe6Mithluk2aPGlDOw==} engines: {node: '>=0.4.0'} - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} @@ -6496,8 +5394,8 @@ packages: forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - form-data@4.0.4: - resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} formdata-polyfill@4.0.10: @@ -6508,22 +5406,11 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - framer-motion@10.18.0: - resolution: {integrity: sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - - framer-motion@12.23.24: - resolution: {integrity: sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w==} + framer-motion@12.23.25: + resolution: {integrity: sha512-gUHGl2e4VG66jOcH0JHhuJQr6ZNwrET9g31ZG0xdXzT0CznP7fHX4P8Bcvuc4MiUB90ysNnWX2ukHRIggkl6hQ==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -6536,18 +5423,10 @@ packages: react-dom: optional: true - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.3.1: - resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} - engines: {node: '>=14.14'} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -6571,10 +5450,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - function.prototype.name@1.1.8: resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} @@ -6582,6 +5457,10 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -6593,10 +5472,6 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -6616,27 +5491,16 @@ packages: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - get-stream@9.0.1: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} - - getos@3.2.1: - resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} @@ -6652,13 +5516,12 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.4.2: - resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} - engines: {node: '>=16 || 14 >=14.18'} + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} hasBin: true - glob@11.0.3: - resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + glob@11.1.0: + resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} hasBin: true @@ -6670,16 +5533,12 @@ packages: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.3.0: - resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} + globals@16.5.0: + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} globalthis@1.0.4: @@ -6690,9 +5549,6 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -6703,20 +5559,17 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - graphql@16.11.0: - resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + graphql@16.12.0: + resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} happy-dom@18.0.1: resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} engines: {node: '>=20.0.0'} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -6725,18 +5578,10 @@ packages: has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - has-proto@1.2.0: resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} engines: {node: '>= 0.4'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} @@ -6760,21 +5605,11 @@ packages: headers-polyfill@3.2.5: resolution: {integrity: sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==} - hermes-estree@0.19.1: - resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==} - - hermes-estree@0.23.1: - resolution: {integrity: sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==} - - hermes-parser@0.19.1: - resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==} - - hermes-parser@0.23.1: - resolution: {integrity: sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==} + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} - hermes-profile-transformer@0.0.6: - resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==} - engines: {node: '>=8'} + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -6782,33 +5617,22 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - http-signature@1.4.0: resolution: {integrity: sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==} engines: {node: '>=0.10'} - human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + human-id@4.1.3: + resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} + hasBin: true human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - human-signals@8.0.1: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - iconv-lite@0.7.0: resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} engines: {node: '>=0.10.0'} @@ -6824,20 +5648,11 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - image-size@1.2.1: - resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} - engines: {node: '>=16.x'} - hasBin: true - - immer@10.1.3: - resolution: {integrity: sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==} - - import-fresh@2.0.0: - resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} - engines: {node: '>=4'} + immer@10.2.0: + resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} import-lazy@4.0.0: @@ -6871,10 +5686,6 @@ packages: resolution: {integrity: sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==} engines: {node: '>=12.0.0'} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -6883,11 +5694,8 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} - intl-messageformat@10.5.14: - resolution: {integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + intl-messageformat@10.7.18: + resolution: {integrity: sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==} ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -6903,24 +5711,14 @@ packages: resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - is-array-buffer@3.0.5: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-bigint@1.1.0: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} @@ -6929,10 +5727,6 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} @@ -6956,18 +5750,10 @@ packages: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - is-data-view@1.0.2: resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - is-date-object@1.1.0: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} @@ -6975,15 +5761,6 @@ packages: is-decimal@1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - is-directory@0.3.1: - resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} - engines: {node: '>=0.10.0'} - - 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} @@ -6993,23 +5770,16 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-finalizationregistry@1.1.1: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} - is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -7052,10 +5822,6 @@ packages: is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -7084,10 +5850,6 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -7100,10 +5862,6 @@ packages: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.4: resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} engines: {node: '>= 0.4'} @@ -7116,10 +5874,6 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -7128,18 +5882,10 @@ packages: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - is-symbol@1.1.1: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} @@ -7159,29 +5905,18 @@ packages: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakref@1.1.1: resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} engines: {node: '>= 0.4'} - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - is-wsl@1.1.0: - resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} - engines: {node: '>=4'} - - 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'} @@ -7218,64 +5953,32 @@ packages: resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} engines: {node: '>=10'} - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} jackspeak@4.1.1: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - jotai-optics@0.3.2: resolution: {integrity: sha512-RH6SvqU5hmkVqnHmaqf9zBXvIAs4jLxkDHS4fr5ljuBKHs8+HQ02v+9hX7ahTppxx6dUb0GGUE80jQKJ0kFTLw==} peerDependencies: jotai: '>=1.11.0' optics-ts: '*' - jotai-x@1.2.3: - resolution: {integrity: sha512-hQSO2oKZAHvH2Ndm8sMQQ+MjQfSZOh33ET6C0S/D10WWOvKTlvAvwvDkt6NNj8psENt+J2rYP8+brmbyimdYDw==} + jotai-x@1.2.4: + resolution: {integrity: sha512-FyLrAR/ZDtmaWgif4cNRuJvMam/RSFv+B11/p4T427ws/T+8WhZzwmULwNogG6ZbZq+v1XpH6f9aN1lYqY5dLg==} peerDependencies: '@types/react': '>=17.0.0' jotai: '>=2.0.0' @@ -7286,13 +5989,19 @@ packages: react: optional: true - jotai@2.8.3: - resolution: {integrity: sha512-pR4plVvdbzB6zyt7VLLHPMAkcRSKhRIvZKd+qkifQLa3CEziEo1uwZjePj4acTmQrboiISBlYSdCz3gWcr1Nkg==} + jotai@2.15.2: + resolution: {integrity: sha512-El86CCfXNMEOytp20NPfppqGGmcp6H6kIA+tJHdmASEUURJCYW4fh8nTHEnB8rUXEFAY1pm8PdHPwnrcPGwdEg==} engines: {node: '>=12.20.0'} peerDependencies: + '@babel/core': '>=7.0.0' + '@babel/template': '>=7.0.0' '@types/react': '>=17.0.0' react: '>=17.0.0' peerDependenciesMeta: + '@babel/core': + optional: true + '@babel/template': + optional: true '@types/react': optional: true react: @@ -7308,39 +6017,23 @@ packages: js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - jsc-android@250231.0.0: - resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} - - jsc-safe-url@0.2.4: - resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - jscodeshift@0.14.0: resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -7349,9 +6042,6 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - json-schema-ref-resolver@1.0.1: resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} @@ -7361,8 +6051,8 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-schema-typed@8.0.1: - resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==} + json-schema-typed@8.0.2: + resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} @@ -7382,15 +6072,15 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-eslint-parser@2.4.0: - resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + jsonc-eslint-parser@2.4.1: + resolution: {integrity: sha512-uuPNLJkKN8NXAlZlQ6kmUF9qO+T6Kyd7oV4+/7yy8Jz6+MZNyhPq8EdLpdfnPVzUC8qSf1b4j1azKaGnFsjmsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} jsprim@2.0.2: resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} @@ -7425,27 +6115,16 @@ packages: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} - lazy-ass@1.6.0: - resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} - engines: {node: '> 0.8'} - lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - light-my-request@5.13.0: - resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} - - lighthouse-logger@1.4.2: - resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + light-my-request@5.14.0: + resolution: {integrity: sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==} lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} @@ -7505,9 +6184,6 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -7519,10 +6195,6 @@ packages: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} engines: {node: '>=10'} - logkitty@0.7.1: - resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} - hasBin: true - longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -7536,12 +6208,11 @@ packages: loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.1.0: - resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} + lru-cache@11.2.4: + resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -7558,8 +6229,8 @@ packages: magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - magic-string@0.30.18: - resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -7575,14 +6246,8 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - - marky@1.3.0: - resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} math-expression-evaluator@1.4.0: resolution: {integrity: sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw==} @@ -7630,9 +6295,6 @@ packages: mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -7643,64 +6305,6 @@ packages: metric-lcs@0.1.2: resolution: {integrity: sha512-+TZ5dUDPKPJaU/rscTzxyN8ZkX7eAVLAiQU/e+YINleXPv03SCmJShaMT1If1liTH8OcmWXZs0CmzCBRBLcMpA==} - metro-babel-transformer@0.80.12: - resolution: {integrity: sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==} - engines: {node: '>=18'} - - metro-cache-key@0.80.12: - resolution: {integrity: sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==} - engines: {node: '>=18'} - - metro-cache@0.80.12: - resolution: {integrity: sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==} - engines: {node: '>=18'} - - metro-config@0.80.12: - resolution: {integrity: sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==} - engines: {node: '>=18'} - - metro-core@0.80.12: - resolution: {integrity: sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==} - engines: {node: '>=18'} - - metro-file-map@0.80.12: - resolution: {integrity: sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==} - engines: {node: '>=18'} - - metro-minify-terser@0.80.12: - resolution: {integrity: sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==} - engines: {node: '>=18'} - - metro-resolver@0.80.12: - resolution: {integrity: sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==} - engines: {node: '>=18'} - - metro-runtime@0.80.12: - resolution: {integrity: sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==} - engines: {node: '>=18'} - - metro-source-map@0.80.12: - resolution: {integrity: sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==} - engines: {node: '>=18'} - - metro-symbolicate@0.80.12: - resolution: {integrity: sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==} - engines: {node: '>=18'} - hasBin: true - - metro-transform-plugins@0.80.12: - resolution: {integrity: sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==} - engines: {node: '>=18'} - - metro-transform-worker@0.80.12: - resolution: {integrity: sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==} - engines: {node: '>=18'} - - metro@0.80.12: - resolution: {integrity: sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==} - engines: {node: '>=18'} - hasBin: true - micromark-core-commonmark@1.1.0: resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} @@ -7796,24 +6400,10 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -7830,8 +6420,8 @@ packages: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} hasBin: true - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} minimatch@3.0.8: @@ -7861,15 +6451,6 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - mnemonist@0.39.6: resolution: {integrity: sha512-A/0v5Z59y63US00cRSLiloEIw3t5G+MiKz4BhX21FI+YBJXBOGW0ohFxTxO08dsOYlzxo87T7vGfZKYp2bcAWA==} @@ -7879,8 +6460,8 @@ packages: motion-utils@12.23.6: resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} - motion@12.23.24: - resolution: {integrity: sha512-Rc5E7oe2YZ72N//S3QXGzbnXgqNrTESv8KKxABR20q2FLch9gHLo0JLyYo2hZ238bZ9Gx6cWhj9VO0IgwbMjCw==} + motion@12.23.25: + resolution: {integrity: sha512-Fk5Y1kcgxYiTYOUjmwfXQAP7tP+iGqw/on1UID9WEL/6KpzxPr9jY2169OsjgZvXJdpraKXy0orkjaCVIl5fgQ==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -7897,13 +6478,10 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -7931,36 +6509,21 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-postinstall@0.3.3: - resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} + napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} hasBin: true natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - nocache@3.0.4: - resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} - engines: {node: '>=12.0.0'} - nock@13.5.6: resolution: {integrity: sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==} engines: {node: '>= 10.13'} - node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -7983,25 +6546,11 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - node-html-parser@5.3.3: resolution: {integrity: sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==} - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - node-releases@2.0.23: - resolution: {integrity: sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==} - - node-stream-zip@1.15.0: - resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} - engines: {node: '>=0.12.0'} + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -8022,13 +6571,6 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - - ob1@0.80.12: - resolution: {integrity: sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==} - engines: {node: '>=18'} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -8041,18 +6583,10 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} @@ -8069,25 +6603,13 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - obliterator@2.0.4: - resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + obliterator@2.0.5: + resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} on-exit-leak-free@2.1.2: resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} engines: {node: '>=14.0.0'} - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -8095,18 +6617,10 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - open@10.1.0: - resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} - open@6.4.0: - resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} - engines: {node: '>=8'} - - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - optics-ts@2.4.1: resolution: {integrity: sha512-HaYzMHvC80r7U/LqAd4hQyopDezC60PO2qF5GuIwALut2cl5rK1VWHsqTp0oqoJJWjiv6uXKqsO+Q2OO0C3MmQ==} @@ -8118,10 +6632,6 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - ospath@1.2.2: resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} @@ -8175,19 +6685,19 @@ packages: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} - p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + p-map@7.0.4: + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-manager-detector@0.2.8: - resolution: {integrity: sha512-ts9KSdroZisdvKMWVAVCXiKqnqNfXz4+IbrBG8/BWx/TR5le+jfenvoBuIZ6UWM9nz47W7AbD9qYfAwfWMIwzA==} + package-manager-detector@0.2.11: + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -8196,18 +6706,10 @@ packages: parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -8242,8 +6744,8 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} engines: {node: 20 || >=22} path-to-regexp@6.3.0: @@ -8269,9 +6771,6 @@ packages: performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -8291,20 +6790,16 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pino-abstract-transport@1.2.0: - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + pino-abstract-transport@2.0.0: + resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.2.0: - resolution: {integrity: sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==} + pino@9.14.0: + resolution: {integrity: sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==} hasBin: true - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -8317,8 +6812,8 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} postcss-import@15.1.0: @@ -8327,22 +6822,28 @@ packages: peerDependencies: postcss: ^8.0.0 - postcss-js@4.0.1: - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + postcss-js@4.1.0: + resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 - postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} peerDependencies: + jiti: '>=1.21.0' postcss: '>=8.0.9' - ts-node: '>=9.0.0' + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: + jiti: + optional: true postcss: optional: true - ts-node: + tsx: + optional: true + yaml: optional: true postcss-nested@6.2.0: @@ -8375,8 +6876,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.6.2: - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + prettier@3.7.3: + resolution: {integrity: sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==} engines: {node: '>=14'} hasBin: true @@ -8384,10 +6885,6 @@ packages: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} - pretty-format@26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} - pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -8400,8 +6897,8 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} - prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} process-nextick-args@2.0.1: @@ -8410,13 +6907,13 @@ packages: process-warning@3.0.0: resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + process-warning@5.0.0: + resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -8438,8 +6935,8 @@ packages: proxy-from-env@1.0.0: resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} @@ -8449,27 +6946,15 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} - querystring@0.2.1: - resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - - queue@6.0.2: - resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} - quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - react-colorful@5.6.1: resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} peerDependencies: @@ -8482,9 +6967,6 @@ packages: react: ^16.9.0 || ^17 || ^18 react-dom: ^16.9.0 || ^17 || ^18 - react-devtools-core@5.3.2: - resolution: {integrity: sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==} - react-dnd-html5-backend@16.0.1: resolution: {integrity: sha512-Wu3dw5aDJmOGw8WjH1I1/yTH+vlXEL4vmjk5p+MHxP8HuHJS1lAGeIdG/hze1AvNeXWo/JgULV87LyQOr+r5jw==} @@ -8511,8 +6993,8 @@ packages: react-fast-compare@3.2.2: resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - react-hotkeys-hook@4.5.0: - resolution: {integrity: sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug==} + react-hotkeys-hook@4.6.2: + resolution: {integrity: sha512-FmP+ZriY3EG59Ug/lxNfrObCnW9xQShgk7Nb83+CkpfkcCpfS95ydv+E9JuXA5cp8KtskU7LGlIARpkc92X22Q==} peerDependencies: react: '>=16.8.1' react-dom: '>=16.8.1' @@ -8529,19 +7011,8 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-native@0.74.2: - resolution: {integrity: sha512-EBMBjPPL4/GjHMP4NqsZabT3gI5WU9cSmduABGAGrd8uIcmTZ5F2Ng9k6gFmRm7n8e8CULxDNu98ZpQfBjl7Bw==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@types/react': ^18.2.6 - react: 18.2.0 - peerDependenciesMeta: - '@types/react': - optional: true - - react-onclickoutside@6.13.1: - resolution: {integrity: sha512-LdrrxK/Yh9zbBQdFbMTXPp3dTSN9B+9YJQucdDu3JNKRrbdU+H+/TVONJoWtOwy4II8Sqf1y/DTI6w/vGPYW0w==} + react-onclickoutside@6.13.2: + resolution: {integrity: sha512-h6Hbf1c8b7tIYY4u90mDdBLY4+AGQVMFtIE89HgC0DtVCh/JfKl477gYqUtGLmjZBKK3MJxomP/lFiLbz4sq9A==} peerDependencies: react: ^15.5.x || ^16.x || ^17.x || ^18.x react-dom: ^15.5.x || ^16.x || ^17.x || ^18.x @@ -8553,14 +7024,14 @@ packages: react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 - react-refresh@0.14.2: - resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} - engines: {node: '>=0.10.0'} - react-refresh@0.17.0: resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} + react-refresh@0.18.0: + resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} + engines: {node: '>=0.10.0'} + react-remove-scroll-bar@2.3.8: resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} @@ -8571,8 +7042,8 @@ packages: '@types/react': optional: true - react-remove-scroll@2.6.3: - resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} + react-remove-scroll@2.7.2: + resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==} engines: {node: '>=10'} peerDependencies: '@types/react': '*' @@ -8581,11 +7052,6 @@ packages: '@types/react': optional: true - react-shallow-renderer@16.15.0: - resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} - peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - react-style-singleton@2.2.3: resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} @@ -8615,11 +7081,14 @@ packages: react-native: optional: true - react-use-measure@2.1.1: - resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==} + react-use-measure@2.1.7: + resolution: {integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==} peerDependencies: react: '>=16.13' react-dom: '>=16.13' + peerDependenciesMeta: + react-dom: + optional: true react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} @@ -8639,8 +7108,8 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + readable-stream@4.7.0: + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} readdir-glob@1.1.3: @@ -8650,9 +7119,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readline@1.3.0: - resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} - real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} @@ -8678,10 +7144,6 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.2.2: resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} @@ -8689,20 +7151,10 @@ packages: regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} @@ -8714,10 +7166,6 @@ packages: regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} - hasBin: true - regjsparser@0.13.0: resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} hasBin: true @@ -8739,13 +7187,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -8760,8 +7201,8 @@ packages: resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} hasBin: true @@ -8773,10 +7214,6 @@ packages: resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} engines: {node: '>=10'} - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -8789,26 +7226,16 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.50.0: - resolution: {integrity: sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - rollup@4.52.3: - resolution: {integrity: sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==} + rollup@4.53.3: + resolution: {integrity: sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} run-async@2.4.1: @@ -8818,9 +7245,6 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -8828,10 +7252,6 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - safe-array-concat@1.1.3: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} @@ -8846,10 +7266,6 @@ packages: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safe-regex-test@1.1.0: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} @@ -8857,8 +7273,8 @@ packages: safe-regex2@3.1.0: resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} - safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + safe-stable-stringify@2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} safer-buffer@2.1.2: @@ -8867,19 +7283,12 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - scheduler@0.24.0-canary-efb381bbf-20230505: - resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} - scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -8893,46 +7302,13 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true - semver@7.7.3: resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} - - serialize-error@2.1.0: - resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} - engines: {node: '>=0.10.0'} - - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - - set-cookie-parser@2.7.1: - resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -8946,9 +7322,6 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -8961,10 +7334,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} - side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -8998,8 +7367,8 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} - sirv@3.0.1: - resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} engines: {node: '>=18'} sisteransi@1.0.5: @@ -9009,8 +7378,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slate-history@0.100.0: - resolution: {integrity: sha512-x5rUuWLNtH97hs9PrFovGgt3Qc5zkTm/5mcUB+0NR/TK923eLax4HsL6xACLHMs245nI6aJElyM1y6hN0y5W/Q==} + slate-history@0.113.1: + resolution: {integrity: sha512-J9NSJ+UG2GxoW0lw5mloaKcN0JI0x2IA5M5FxyGiInpn+QEutxT1WK7S/JneZCMFJBoHs1uu7S7e6pxQjubHmQ==} peerDependencies: slate: '>=0.65.3' @@ -9029,10 +7398,6 @@ packages: slate@0.102.0: resolution: {integrity: sha512-RT+tHgqOyZVB1oFV9Pv99ajwh4OUCN9p28QWdnDTIzaN/kZxMsHeQN39UNAgtkZTVVVygFqeg7/R2jiptCvfyA==} - slice-ansi@2.1.0: - resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} - engines: {node: '>=6'} - slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -9041,8 +7406,8 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - sonic-boom@4.0.1: - resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} + sonic-boom@4.2.0: + resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -9051,18 +7416,10 @@ packages: source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead @@ -9086,37 +7443,18 @@ packages: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - - stacktrace-parser@0.1.11: - resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} - engines: {node: '>=6'} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - streamx@2.18.0: - resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==} + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} strict-event-emitter@0.2.8: resolution: {integrity: sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A==} @@ -9128,8 +7466,8 @@ packages: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} - string-ts@2.2.1: - resolution: {integrity: sha512-Q2u0gko67PLLhbte5HmPfdOjNvUKbKQM+mCNQae6jE91DmoFHY6HH9GcdqCeNx87DZ2KKjiFxmA0R/42OneGWw==} + string-ts@2.3.1: + resolution: {integrity: sha512-xSJq+BS52SaFFAVxuStmx6n5aYZU571uYUnUrPXkPFCfdHyZMMlbP2v2Wx5sNBnAVzq/2+0+mcBLBa3Xa5ubYw==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -9143,10 +7481,6 @@ packages: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.9: resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} engines: {node: '>= 0.4'} @@ -9165,16 +7499,12 @@ packages: resolution: {integrity: sha512-qpV1FBpN0R1gDAhCHIU71SYGZb35Te+gOQbQ6lYRmVJT7pF1NB8mkHeEJvyYNiHXw+fB4KIbeIjQl1rgiIijiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} strip-bom@3.0.0: @@ -9193,36 +7523,28 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} - strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + strip-indent@4.1.1: + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} engines: {node: '>=12'} strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} - strnum@1.1.2: - resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + stubborn-fs@2.0.0: + resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==} - stubborn-fs@1.2.5: - resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} + stubborn-utils@1.0.2: + resolution: {integrity: sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==} - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + sucrase@3.35.1: + resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - sudo-prompt@9.2.1: - resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -9239,12 +7561,14 @@ packages: resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} engines: {node: ^14.18.0 || >=16.0.0} - synckit@0.6.2: - resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} - engines: {node: '>=12.20'} + systeminformation@5.27.7: + resolution: {integrity: sha512-saaqOoVEEFaux4v0K8Q7caiauRwjXC4XbD2eH60dxHXbpKxQ8kH9Rf7Jh+nryKpOUSEFxtCdBlSUx0/lO6rwRg==} + engines: {node: '>=8.0.0'} + os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] + hasBin: true - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tabbable@6.3.0: + resolution: {integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==} tailwind-merge@2.5.4: resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} @@ -9258,18 +7582,14 @@ packages: peerDependencies: tailwindcss: '*' - tailwindcss@3.4.17: - resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + tailwindcss@3.4.18: + resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==} engines: {node: '>=14.0.0'} hasBin: true tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - temp@0.8.4: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} @@ -9278,17 +7598,12 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser@5.31.1: - resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} - engines: {node: '>=10'} - hasBin: true - test-exclude@7.0.1: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} - text-decoder@1.1.0: - resolution: {integrity: sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==} + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} @@ -9300,15 +7615,9 @@ packages: thread-stream@3.1.0: resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - throttleit@1.0.1: resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -9324,8 +7633,8 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} tinypool@1.1.1: @@ -9336,8 +7645,8 @@ packages: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyspy@4.0.4: + resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} tldts-core@6.1.86: @@ -9347,21 +7656,10 @@ packages: resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - tmp@0.2.5: resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} engines: {node: '>=14.14'} - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -9370,10 +7668,6 @@ packages: resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} engines: {node: '>=12'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -9426,8 +7720,8 @@ packages: '@swc/wasm': optional: true - ts-pattern@5.8.0: - resolution: {integrity: sha512-kIjN2qmWiHnhgr5DAkAafF9fwb0T5OhMVSWrm8XEdTFnX6+wfXwYOFjeF86UZ54vduqiR7BfqScFmXSzSaH8oA==} + ts-pattern@5.9.0: + resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -9457,10 +7751,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} @@ -9473,48 +7763,28 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - type-fest@4.20.1: - resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} - engines: {node: '>=16'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.3: resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.4: resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - typed-array-length@1.0.7: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript-eslint@8.42.0: - resolution: {integrity: sha512-ozR/rQn+aQXQxh1YgbCzQWDFrsi9mcg+1PM3l/z5o1+20P7suOIaNg515bpr/OYt6FObz/NHcBstydDLHWeEKg==} + typescript-eslint@8.48.1: + resolution: {integrity: sha512-FbOKN1fqNoXp1hIl5KYpObVrp0mCn+CLgn479nmu2IsRMrx2vyv74MmsBLVlhg8qVwNFGbXSp8fh1zp8pEoC2A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -9525,8 +7795,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true @@ -9534,9 +7804,6 @@ packages: resolution: {integrity: sha512-erJsJwQ0tKdwuqI0359U8ijkFmfiTcq25JvvzRVc1VP+2son1NJRXhxcAKJmAW3ajM8JSGAfsAXye8g4s+znxA==} engines: {node: '>=18'} - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -9547,12 +7814,6 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.12.0: - resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} - - undici-types@7.14.0: - resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} - unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -9579,8 +7840,8 @@ packages: unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} @@ -9591,8 +7852,8 @@ packages: unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} @@ -9608,10 +7869,6 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - unrs-resolver@1.11.1: resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} @@ -9619,8 +7876,8 @@ packages: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -9638,10 +7895,14 @@ packages: '@types/react': optional: true - use-composed-ref@1.3.0: - resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} + use-composed-ref@1.4.0: + resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true use-context-selector@1.4.4: resolution: {integrity: sha512-pS790zwGxxe59GoBha3QYOwk8AFGp4DN6DOtH+eoqVmgBBRXVx4IlPDhJmmMiNQAgUaLlP+58aqRC3A4rdaSjg==} @@ -9656,25 +7917,25 @@ packages: react-native: optional: true - use-deep-compare@1.2.1: - resolution: {integrity: sha512-JTnOZAr0fq1ix6CQ4XANoWIh03xAiMFlP/lVAYDdAOZwur6nqBSdATn1/Q9PLIGIW+C7xmFZBCcaA4KLDcQJtg==} + use-deep-compare@1.3.0: + resolution: {integrity: sha512-94iG+dEdEP/Sl3WWde+w9StIunlV8Dgj+vkt5wTwMoFQLaijiEZSXXy8KtcStpmEDtIptRJiNeD4ACTtVvnIKA==} peerDependencies: react: '>=16.8.0' - use-isomorphic-layout-effect@1.1.2: - resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} peerDependencies: '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - use-latest@1.2.1: - resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} + use-latest@1.3.0: + resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} peerDependencies: '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true @@ -9689,10 +7950,10 @@ packages: '@types/react': optional: true - use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -9700,10 +7961,6 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -9716,14 +7973,10 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - validator@13.15.15: - resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==} + validator@13.15.23: + resolution: {integrity: sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==} engines: {node: '>= 0.10'} - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - verror@1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} @@ -9755,14 +8008,14 @@ packages: peerDependencies: vite: '>=2.0.0' - vite-plugin-static-copy@3.1.2: - resolution: {integrity: sha512-aVmYOzptLVOI2b1jL+cmkF7O6uhRv1u5fvOkQgbohWZp2CbR22kn9ZqkCUIt9umKF7UhdbsEpshn1rf4720QFg==} + vite-plugin-static-copy@3.1.4: + resolution: {integrity: sha512-iCmr4GSw4eSnaB+G8zc2f4dxSuDjbkjwpuBLLGvQYR9IW7rnDzftnUjOH5p4RYR+d4GsiBqXRvzuFhs5bnzVyw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 - vite@5.4.19: - resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -9792,8 +8045,8 @@ packages: terser: optional: true - vite@7.1.4: - resolution: {integrity: sha512-X5QFK4SGynAeeIt+A7ZWnApdUyHYm+pzv/8/A57LqSGcI88U6R6ipOs3uCesdc6yl7nl+zNO0t8LmqAdXcQihw==} + vite@7.2.6: + resolution: {integrity: sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -9860,9 +8113,6 @@ packages: jsdom: optional: true - vlq@1.0.1: - resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} - vue-template-compiler@2.7.16: resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} @@ -9872,9 +8122,6 @@ packages: peerDependencies: typescript: '*' - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} @@ -9891,9 +8138,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} @@ -9901,20 +8145,13 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - when-exit@2.1.2: - resolution: {integrity: sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + when-exit@2.1.5: + resolution: {integrity: sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==} which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} - which-builtin-type@1.2.1: resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} engines: {node: '>= 0.4'} @@ -9923,13 +8160,6 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - which-typed-array@1.1.19: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} @@ -9966,35 +8196,9 @@ packages: write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - ws@6.2.3: - resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -10006,27 +8210,19 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml-eslint-parser@1.3.0: - resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} + yaml-eslint-parser@1.3.1: + resolution: {integrity: sha512-MdSgP9YA9QjtAO2+lt4O7V2bnH22LPnfeVLiQqjY3cOyn8dy/Ief8otjIe6SPPTK03nM7O3Yl0LTfWuF7l+9yw==} engines: {node: ^14.17.0 || >=16.0.0} - yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} hasBin: true - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -10042,8 +8238,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} yoctocolors@2.1.2: @@ -10059,19 +8255,25 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.1.5: - resolution: {integrity: sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==} + zod@4.1.13: + resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==} - zustand-x@3.0.3: - resolution: {integrity: sha512-EMZAsybLS0JVTeTtZnLap91EAqwgprQgiFEr+/2XmygzaAE8n1aB5kvnFtH7isijBEzNXncq07F98uCWI5roFg==} + zustand-x@3.0.4: + resolution: {integrity: sha512-dVD8WUEpR/0mMdLah9j8i+r6PMAq9Ii2u+BX/9Bn4MHRt8sSnRQ90YMUlTVonZYAHGb2UHZwPpE2gMb8GtYDDw==} peerDependencies: zustand: '>=4.3.9' - zustand@4.5.3: - resolution: {integrity: sha512-iH1gA/3uOMR0Gz260Fsklxo7wWEXJ008p1bO9O6gxwkbvBUaTDlcVChkDKGGSsvdbOyVce0nQfBitVH6sbYyew==} + zustand@4.5.7: + resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' @@ -10090,2561 +8292,1415 @@ packages: snapshots: - '@4tw/cypress-drag-drop@2.3.1(cypress@15.0.0)': + '@4tw/cypress-drag-drop@2.3.1(cypress@15.7.0)': dependencies: - cypress: 15.0.0 + cypress: 15.7.0 - '@adobe/css-tools@4.4.0': {} + '@adobe/css-tools@4.4.4': {} '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.1 + '@jridgewell/trace-mapping': 0.3.31 '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.24.7': {} - - '@babel/compat-data@7.28.0': {} - - '@babel/compat-data@7.28.4': {} - - '@babel/core@7.24.7': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/helper-compilation-targets': 7.24.7 - '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) - '@babel/helpers': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.28.3': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helpers': 7.28.3 - '@babel/parser': 7.28.3 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 - convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/compat-data@7.28.5': {} - '@babel/core@7.28.4': + '@babel/core@7.28.5': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 + '@babel/generator': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.24.7': - dependencies: - '@babel/types': 7.28.2 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 - jsesc: 2.5.2 - - '@babel/generator@7.28.3': + '@babel/generator@7.28.5': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.4 - - '@babel/helper-compilation-targets@7.24.7': - dependencies: - '@babel/compat-data': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - browserslist: 4.25.4 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.28.5 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.0 + '@babel/compat-data': 7.28.5 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.4 + browserslist: 4.28.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.4)': + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.4.0 semver: 6.3.1 - optional: true - - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.4)': + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color - optional: true - - '@babel/helper-environment-visitor@7.24.7': - dependencies: - '@babel/types': 7.28.2 - - '@babel/helper-function-name@7.24.7': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 '@babel/helper-globals@7.28.0': {} - '@babel/helper-hoist-variables@7.24.7': - dependencies: - '@babel/types': 7.28.2 - - '@babel/helper-member-expression-to-functions@7.27.1': - dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.24.7': + '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.3 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.4 - - '@babel/helper-plugin-utils@7.24.7': {} + '@babel/types': 7.28.5 '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.4)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.28.3 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-split-export-declaration@7.24.7': - dependencies: - '@babel/types': 7.28.2 - - '@babel/helper-string-parser@7.24.7': {} - '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.24.7': {} - - '@babel/helper-validator-identifier@7.27.1': {} - - '@babel/helper-validator-option@7.24.7': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-option@7.27.1': {} '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helpers@7.24.7': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - - '@babel/helpers@7.28.3': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.4 - - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.1 + '@babel/types': 7.28.5 - '@babel/parser@7.24.7': + '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.28.2 - - '@babel/parser@7.28.3': - dependencies: - '@babel/types': 7.28.2 - - '@babel/parser@7.28.4': - dependencies: - '@babel/types': 7.28.4 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.28.5 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color - optional: true - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4) + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color - optional: true - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.4)': + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - optional: true + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.28.3)': + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - optional: true - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.28.4)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.4) - transitivePeerDependencies: - - supports-color - optional: true + '@babel/core': 7.28.5 - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.4)': + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.28.3)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) - optional: true - '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.28.4)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.4) - optional: true - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) - optional: true - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.28.4)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.4) - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) - optional: true - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.28.4)': + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.4) - optional: true - - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.3)': - dependencies: - '@babel/compat-data': 7.28.4 - '@babel/core': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - optional: true + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.4)': + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/compat-data': 7.28.4 - '@babel/core': 7.28.4 - '@babel/helper-compilation-targets': 7.27.2 + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.4) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) - optional: true + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) - optional: true - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.28.4)': + '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.4) - optional: true - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.28.3)': + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) transitivePeerDependencies: - supports-color - optional: true - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.28.4)': + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.4) transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - optional: true - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - optional: true - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.4)': + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/template': 7.27.2 - '@babel/plugin-syntax-export-default-from@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-export-default-from@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.4)': + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.4)': + '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.4)': + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - optional: true + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - optional: true + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.4)': + '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - optional: true + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.4)': + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.4)': + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.3)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.4)': + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) - '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.4)': + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) - '@babel/traverse': 7.28.4 transitivePeerDependencies: - supports-color - optional: true - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-imports': 7.27.1 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.3) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-module-imports': 7.27.1 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) - transitivePeerDependencies: - - supports-color - optional: true - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.3)': + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.4)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - optional: true - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.3)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.4)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.3)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-globals': 7.28.0 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.4)': + '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-globals': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) - '@babel/traverse': 7.28.4 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - optional: true - - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 - optional: true - '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.3)': + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.4)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.3)': + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.5 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.4)': + '@babel/preset-env@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) + '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.47.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.3)': + '@babel/preset-flow@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.4)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/types': 7.28.5 + esutils: 2.0.3 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)': + '@babel/preset-typescript@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)': + '@babel/register@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/core': 7.28.5 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.7 + source-map-support: 0.5.21 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/runtime@7.28.4': {} - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.4)': + '@babel/template@7.27.2': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.3)': + '@babel/traverse@7.28.5': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.4)': + '@babel/types@7.28.5': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) - transitivePeerDependencies: - - supports-color - optional: true + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@bcoe/v8-coverage@1.0.2': {} - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.4)': + '@changesets/apply-release-plan@7.0.14': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@changesets/config': 3.1.2 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.7.3 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.3)': + '@changesets/assemble-release-plan@6.0.9': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.7.3 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.4)': + '@changesets/changelog-git@0.2.1': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@changesets/types': 6.1.0 - '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.3)': + '@changesets/changelog-github@0.5.2': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3) - optional: true + '@changesets/get-github-info': 0.7.0 + '@changesets/types': 6.1.0 + dotenv: 8.6.0 + transitivePeerDependencies: + - encoding - '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.4)': + '@changesets/cli@2.29.8(@types/node@22.19.1)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.4) + '@changesets/apply-release-plan': 7.0.14 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.2 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-release-plan': 4.0.14 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.6 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.3(@types/node@22.19.1) + '@manypkg/get-packages': 1.1.3 + ansi-colors: 4.1.3 + ci-info: 3.9.0 + enquirer: 2.4.1 + fs-extra: 7.0.1 + mri: 1.2.0 + p-limit: 2.3.0 + package-manager-detector: 0.2.11 + picocolors: 1.1.1 + resolve-from: 5.0.0 + semver: 7.7.3 + spawndamnit: 3.0.1 + term-size: 2.2.1 + transitivePeerDependencies: + - '@types/node' - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.3)': + '@changesets/config@3.1.2': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/logger': 0.1.1 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.8 - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.4)': + '@changesets/errors@0.2.0': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - optional: true + extendable-error: 0.1.7 - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.3)': + '@changesets/get-dependents-graph@2.1.3': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + picocolors: 1.1.1 + semver: 7.7.3 - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.4)': + '@changesets/get-github-info@0.7.0': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 + dataloader: 1.4.0 + node-fetch: 2.7.0 transitivePeerDependencies: - - supports-color - optional: true + - encoding - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.3)': + '@changesets/get-release-plan@4.0.14': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/config': 3.1.2 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.6 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/get-version-range-type@0.4.0': {} - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.4)': + '@changesets/git@3.0.4': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@changesets/errors': 0.2.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.8 + spawndamnit: 3.0.1 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.3)': + '@changesets/logger@0.1.1': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + picocolors: 1.1.1 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.4)': + '@changesets/parse@0.4.2': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@changesets/types': 6.1.0 + js-yaml: 4.1.1 - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.3)': + '@changesets/pre@2.0.2': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/errors': 0.2.0 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 - '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.4)': + '@changesets/read@0.6.6': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/parse': 0.4.2 + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + p-filter: 2.1.0 + picocolors: 1.1.1 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.3)': + '@changesets/should-skip-package@0.1.2': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@changesets/types@4.1.0': {} - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@changesets/types@6.1.0': {} - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)': + '@changesets/write@0.4.0': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - optional: true + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.1.3 + prettier: 2.8.8 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)': + '@cspotcode/source-map-support@0.8.1': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@jridgewell/trace-mapping': 0.3.9 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@ctrl/tinycolor@4.2.0': {} - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.3)': + '@cypress/request@3.0.9': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color + aws-sign2: 0.7.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 4.0.5 + http-signature: 1.4.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.14.0 + safe-buffer: 5.2.1 + tough-cookie: 5.1.2 + tunnel-agent: 0.6.0 + uuid: 8.3.2 - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.4)': + '@cypress/vite-dev-server@7.0.1(cypress@15.7.0)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.4 + cypress: 15.7.0 + debug: 4.4.3(supports-color@8.1.1) + find-up: 6.3.0 + node-html-parser: 5.3.3 + semver: 7.7.3 transitivePeerDependencies: - supports-color - optional: true - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.3)': + '@cypress/xvfb@1.2.4(supports-color@8.1.1)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 + debug: 3.2.7(supports-color@8.1.1) + lodash.once: 4.1.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)': + '@dfoverdx/tocamelcase@1.0.7': {} + + '@dnd-kit/accessibility@3.1.1(react@18.3.1)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - optional: true + react: 18.3.1 + tslib: 2.8.1 - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.3)': + '@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 + '@dnd-kit/accessibility': 3.1.1(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)': + '@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@dnd-kit/accessibility': 3.1.1(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tslib: 2.8.1 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.3)': + '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.4)': + '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.3)': + '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.4)': + '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - optional: true + '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@dnd-kit/utilities': 3.2.2(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.3)': + '@dnd-kit/utilities@3.2.2(react@18.3.1)': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + react: 18.3.1 + tslib: 2.8.1 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.4)': + '@emnapi/core@1.7.1': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 optional: true - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.3)': + '@emnapi/runtime@1.7.1': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color + tslib: 2.8.1 + optional: true - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.4)': + '@emnapi/wasi-threads@1.1.0': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color + tslib: 2.8.1 optional: true - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3) - transitivePeerDependencies: - - supports-color + '@emoji-mart/data@1.2.1': {} - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) - transitivePeerDependencies: - - supports-color + '@esbuild/aix-ppc64@0.21.5': optional: true - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/aix-ppc64@0.25.12': + optional: true - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/android-arm64@0.21.5': optional: true - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/android-arm64@0.25.12': + optional: true - '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/android-arm@0.21.5': optional: true - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/android-arm@0.25.12': + optional: true - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/android-x64@0.21.5': optional: true - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/android-x64@0.25.12': + optional: true - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/darwin-arm64@0.21.5': optional: true - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/darwin-arm64@0.25.12': + optional: true - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/darwin-x64@0.21.5': optional: true - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/darwin-x64@0.25.12': + optional: true - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/freebsd-arm64@0.21.5': optional: true - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/freebsd-arm64@0.25.12': optional: true - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/freebsd-x64@0.21.5': optional: true - '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@esbuild/freebsd-x64@0.25.12': + optional: true - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-arm64@0.21.5': + optional: true - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-arm64@0.25.12': optional: true - '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.7)': - dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@esbuild/linux-arm@0.21.5': + optional: true - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-arm@0.25.12': + optional: true - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-ia32@0.21.5': optional: true - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) - '@babel/types': 7.28.4 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-ia32@0.25.12': optional: true - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) - '@babel/types': 7.28.4 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-loong64@0.21.5': optional: true - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-loong64@0.25.12': + optional: true - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-mips64el@0.21.5': optional: true - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-mips64el@0.25.12': + optional: true - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-ppc64@0.21.5': optional: true - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-ppc64@0.25.12': + optional: true - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-riscv64@0.21.5': optional: true - '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.3) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-riscv64@0.25.12': optional: true - '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-s390x@0.21.5': optional: true - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-s390x@0.25.12': + optional: true - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/linux-x64@0.21.5': optional: true - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/linux-x64@0.25.12': + optional: true - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@esbuild/netbsd-arm64@0.25.12': optional: true - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/netbsd-x64@0.21.5': + optional: true - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/netbsd-x64@0.25.12': optional: true - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/openbsd-arm64@0.25.12': + optional: true - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/openbsd-x64@0.21.5': optional: true - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/openbsd-x64@0.25.12': + optional: true - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/openharmony-arm64@0.25.12': optional: true - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3) - transitivePeerDependencies: - - supports-color + '@esbuild/sunos-x64@0.21.5': optional: true - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) - transitivePeerDependencies: - - supports-color + '@esbuild/sunos-x64@0.25.12': + optional: true - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/win32-arm64@0.21.5': + optional: true - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/win32-arm64@0.25.12': optional: true - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/win32-ia32@0.21.5': + optional: true - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/win32-ia32@0.25.12': optional: true - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/win32-x64@0.21.5': + optional: true - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 + '@esbuild/win32-x64@0.25.12': optional: true - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.3)': + '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.39.1(jiti@1.21.7))': dependencies: - '@babel/core': 7.28.3 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.3) - '@babel/helper-plugin-utils': 7.27.1 + escape-string-regexp: 4.0.0 + eslint: 9.39.1(jiti@1.21.7) + ignore: 5.3.2 - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.4)': + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1(jiti@1.21.7))': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) - '@babel/helper-plugin-utils': 7.27.1 - optional: true + eslint: 9.39.1(jiti@1.21.7) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} - '@babel/preset-env@7.28.3(@babel/core@7.28.3)': + '@eslint-react/ast@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@babel/compat-data': 7.28.4 - '@babel/core': 7.28.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.3) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.3) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.3) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.3) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.3) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.3) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.3) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3) - core-js-compat: 3.46.0 - semver: 6.3.1 + '@eslint-react/eff': 2.3.10 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + string-ts: 2.3.1 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@babel/preset-env@7.28.3(@babel/core@7.28.4)': + '@eslint-react/core@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@babel/compat-data': 7.28.4 - '@babel/core': 7.28.4 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.4) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.4) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.4) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.4) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4) - core-js-compat: 3.46.0 - semver: 6.3.1 + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/var': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + birecord: 0.1.1 + eslint: 9.39.1(jiti@1.21.7) + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - optional: true - - '@babel/preset-flow@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.4) - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.3)': - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.4 - esutils: 2.0.3 - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.4 - esutils: 2.0.3 - optional: true - '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) + '@eslint-react/eff@2.3.10': {} + + '@eslint-react/eslint-plugin@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': + dependencies: + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + eslint-plugin-react-dom: 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint-plugin-react-hooks-extra: 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint-plugin-react-naming-convention: 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint-plugin-react-web-api: 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint-plugin-react-x: 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@babel/register@7.28.3(@babel/core@7.28.4)': - dependencies: - '@babel/core': 7.28.4 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.7 - source-map-support: 0.5.21 - - '@babel/runtime@7.26.0': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/runtime@7.28.4': {} - - '@babel/template@7.24.7': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - - '@babel/traverse@7.24.7': + '@eslint-react/shared@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - debug: 4.4.1(supports-color@8.1.1) - globals: 11.12.0 + '@eslint-react/eff': 2.3.10 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + ts-pattern: 5.9.0 + typescript: 5.9.3 + zod: 4.1.13 transitivePeerDependencies: - supports-color - '@babel/traverse@7.28.3': + '@eslint-react/var@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.3 - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 - debug: 4.4.1(supports-color@8.1.1) + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@babel/traverse@7.28.4': + '@eslint/config-array@0.21.1': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.4 - '@babel/template': 7.27.2 - '@babel/types': 7.28.4 - debug: 4.4.3 + '@eslint/object-schema': 2.1.7 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@babel/types@7.24.7': + '@eslint/config-helpers@0.4.2': dependencies: - '@babel/helper-string-parser': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@eslint/core': 0.17.0 - '@babel/types@7.28.2': + '@eslint/core@0.17.0': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + '@types/json-schema': 7.0.15 - '@babel/types@7.28.4': + '@eslint/eslintrc@3.3.3': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + ajv: 6.12.6 + debug: 4.4.3(supports-color@8.1.1) + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color - '@bcoe/v8-coverage@1.0.2': {} + '@eslint/js@9.39.1': {} - '@changesets/apply-release-plan@7.0.7': - dependencies: - '@changesets/config': 3.0.5 - '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.2 - '@changesets/should-skip-package': 0.1.1 - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - detect-indent: 6.1.0 - fs-extra: 7.0.1 - lodash.startcase: 4.4.0 - outdent: 0.5.0 - prettier: 2.8.8 - resolve-from: 5.0.0 - semver: 7.6.3 + '@eslint/object-schema@2.1.7': {} - '@changesets/assemble-release-plan@6.0.5': + '@eslint/plugin-kit@0.4.1': dependencies: - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/should-skip-package': 0.1.1 - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - semver: 7.6.3 + '@eslint/core': 0.17.0 + levn: 0.4.1 - '@changesets/changelog-git@0.2.0': + '@fastify/ajv-compiler@3.6.0': dependencies: - '@changesets/types': 6.0.0 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + fast-uri: 2.4.0 - '@changesets/changelog-github@0.5.1': + '@fastify/cors@9.0.1': dependencies: - '@changesets/get-github-info': 0.6.0 - '@changesets/types': 6.1.0 - dotenv: 8.6.0 - transitivePeerDependencies: - - encoding + fastify-plugin: 4.5.1 + mnemonist: 0.39.6 - '@changesets/cli@2.27.11': - dependencies: - '@changesets/apply-release-plan': 7.0.7 - '@changesets/assemble-release-plan': 6.0.5 - '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.5 - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.6 - '@changesets/git': 3.0.2 - '@changesets/logger': 0.1.1 - '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.2 - '@changesets/should-skip-package': 0.1.1 - '@changesets/types': 6.0.0 - '@changesets/write': 0.3.2 - '@manypkg/get-packages': 1.1.3 - ansi-colors: 4.1.3 - ci-info: 3.9.0 - enquirer: 2.4.1 - external-editor: 3.1.0 - fs-extra: 7.0.1 - mri: 1.2.0 - p-limit: 2.3.0 - package-manager-detector: 0.2.8 - picocolors: 1.1.1 - resolve-from: 5.0.0 - semver: 7.6.3 - spawndamnit: 3.0.1 - term-size: 2.2.1 + '@fastify/error@3.4.1': {} - '@changesets/config@3.0.5': + '@fastify/fast-json-stringify-compiler@4.3.0': dependencies: - '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.2 - '@changesets/logger': 0.1.1 - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - micromatch: 4.0.8 + fast-json-stringify: 5.16.1 - '@changesets/errors@0.2.0': + '@fastify/merge-json-schemas@0.1.1': dependencies: - extendable-error: 0.1.7 + fast-deep-equal: 3.1.3 - '@changesets/get-dependents-graph@2.1.2': + '@floating-ui/core@1.7.3': dependencies: - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - picocolors: 1.1.1 - semver: 7.6.3 + '@floating-ui/utils': 0.2.10 - '@changesets/get-github-info@0.6.0': + '@floating-ui/dom@1.7.4': dependencies: - dataloader: 1.4.0 - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 - '@changesets/get-release-plan@4.0.6': + '@floating-ui/react-dom@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@changesets/assemble-release-plan': 6.0.5 - '@changesets/config': 3.0.5 - '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.2 - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/get-version-range-type@0.4.0': {} + '@floating-ui/dom': 1.7.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@changesets/git@3.0.2': + '@floating-ui/react-dom@2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@changesets/errors': 0.2.0 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - micromatch: 4.0.8 - spawndamnit: 3.0.1 + '@floating-ui/dom': 1.7.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@changesets/logger@0.1.1': + '@floating-ui/react@0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - picocolors: 1.1.1 + '@floating-ui/react-dom': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.6 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tabbable: 6.3.0 - '@changesets/parse@0.4.0': + '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@changesets/types': 6.0.0 - js-yaml: 3.14.1 + '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/utils': 0.2.10 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tabbable: 6.3.0 - '@changesets/pre@2.0.1': - dependencies: - '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 + '@floating-ui/utils@0.2.10': {} - '@changesets/read@0.6.2': + '@formatjs/ecma402-abstract@2.3.6': dependencies: - '@changesets/git': 3.0.2 - '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.0 - '@changesets/types': 6.0.0 - fs-extra: 7.0.1 - p-filter: 2.1.0 - picocolors: 1.1.1 + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/intl-localematcher': 0.6.2 + decimal.js: 10.6.0 + tslib: 2.8.1 - '@changesets/should-skip-package@0.1.1': + '@formatjs/fast-memoize@2.2.7': dependencies: - '@changesets/types': 6.0.0 - '@manypkg/get-packages': 1.1.3 - - '@changesets/types@4.1.0': {} - - '@changesets/types@6.0.0': {} - - '@changesets/types@6.1.0': {} + tslib: 2.8.1 - '@changesets/write@0.3.2': + '@formatjs/icu-messageformat-parser@2.11.4': dependencies: - '@changesets/types': 6.0.0 - fs-extra: 7.0.1 - human-id: 1.0.2 - prettier: 2.8.8 + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/icu-skeleton-parser': 1.8.16 + tslib: 2.8.1 - '@cspotcode/source-map-support@0.8.1': + '@formatjs/icu-skeleton-parser@1.8.16': dependencies: - '@jridgewell/trace-mapping': 0.3.9 + '@formatjs/ecma402-abstract': 2.3.6 + tslib: 2.8.1 - '@ctrl/tinycolor@4.1.0': {} + '@formatjs/intl-localematcher@0.6.2': + dependencies: + tslib: 2.8.1 - '@ctrl/tinycolor@4.2.0': {} - - '@cypress/request@3.0.9': - dependencies: - aws-sign2: 0.7.0 - aws4: 1.13.0 - caseless: 0.12.0 - combined-stream: 1.0.8 - extend: 3.0.2 - forever-agent: 0.6.1 - form-data: 4.0.4 - http-signature: 1.4.0 - is-typedarray: 1.0.0 - isstream: 0.1.2 - json-stringify-safe: 5.0.1 - mime-types: 2.1.35 - performance-now: 2.1.0 - qs: 6.14.0 - safe-buffer: 5.2.1 - tough-cookie: 5.1.2 - tunnel-agent: 0.6.0 - uuid: 8.3.2 - - '@cypress/vite-dev-server@7.0.0(cypress@15.0.0)': - dependencies: - cypress: 15.0.0 - debug: 4.4.1(supports-color@8.1.1) - find-up: 6.3.0 - node-html-parser: 5.3.3 - semver: 7.7.2 - transitivePeerDependencies: - - supports-color - - '@cypress/xvfb@1.2.4(supports-color@8.1.1)': - dependencies: - debug: 3.2.7(supports-color@8.1.1) - lodash.once: 4.1.1 - transitivePeerDependencies: - - supports-color - - '@dfoverdx/tocamelcase@1.0.7': {} - - '@dnd-kit/accessibility@3.1.1(react@18.3.1)': - dependencies: - react: 18.3.1 - tslib: 2.8.1 - - '@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/accessibility': 3.1.1(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.8.1 - - '@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/accessibility': 3.1.1(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tslib: 2.8.1 - - '@dnd-kit/modifiers@7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - tslib: 2.8.1 - - '@dnd-kit/modifiers@9.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - tslib: 2.8.1 - - '@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/core': 6.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - tslib: 2.8.1 - - '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': - dependencies: - '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - react: 18.3.1 - tslib: 2.8.1 - - '@dnd-kit/utilities@3.2.2(react@18.3.1)': - dependencies: - react: 18.3.1 - tslib: 2.8.1 - - '@emnapi/core@1.5.0': - dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 - optional: true - - '@emnapi/runtime@1.5.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.1.0': - dependencies: - tslib: 2.8.1 - optional: true - - '@emoji-mart/data@1.2.1': {} - - '@emotion/is-prop-valid@0.8.8': - dependencies: - '@emotion/memoize': 0.7.4 - optional: true - - '@emotion/memoize@0.7.4': - optional: true - - '@esbuild/aix-ppc64@0.21.5': - optional: true - - '@esbuild/aix-ppc64@0.25.9': - optional: true - - '@esbuild/android-arm64@0.21.5': - optional: true - - '@esbuild/android-arm64@0.25.9': - optional: true - - '@esbuild/android-arm@0.21.5': - optional: true - - '@esbuild/android-arm@0.25.9': - optional: true - - '@esbuild/android-x64@0.21.5': - optional: true - - '@esbuild/android-x64@0.25.9': - optional: true - - '@esbuild/darwin-arm64@0.21.5': - optional: true - - '@esbuild/darwin-arm64@0.25.9': - optional: true - - '@esbuild/darwin-x64@0.21.5': - optional: true - - '@esbuild/darwin-x64@0.25.9': - optional: true - - '@esbuild/freebsd-arm64@0.21.5': - optional: true - - '@esbuild/freebsd-arm64@0.25.9': - optional: true - - '@esbuild/freebsd-x64@0.21.5': - optional: true - - '@esbuild/freebsd-x64@0.25.9': - optional: true - - '@esbuild/linux-arm64@0.21.5': - optional: true - - '@esbuild/linux-arm64@0.25.9': - optional: true - - '@esbuild/linux-arm@0.21.5': - optional: true - - '@esbuild/linux-arm@0.25.9': - optional: true - - '@esbuild/linux-ia32@0.21.5': - optional: true - - '@esbuild/linux-ia32@0.25.9': - optional: true - - '@esbuild/linux-loong64@0.21.5': - optional: true - - '@esbuild/linux-loong64@0.25.9': - optional: true - - '@esbuild/linux-mips64el@0.21.5': - optional: true - - '@esbuild/linux-mips64el@0.25.9': - optional: true - - '@esbuild/linux-ppc64@0.21.5': - optional: true - - '@esbuild/linux-ppc64@0.25.9': - optional: true - - '@esbuild/linux-riscv64@0.21.5': - optional: true - - '@esbuild/linux-riscv64@0.25.9': - optional: true - - '@esbuild/linux-s390x@0.21.5': - optional: true - - '@esbuild/linux-s390x@0.25.9': - optional: true - - '@esbuild/linux-x64@0.21.5': - optional: true - - '@esbuild/linux-x64@0.25.9': - optional: true - - '@esbuild/netbsd-arm64@0.25.9': - optional: true - - '@esbuild/netbsd-x64@0.21.5': - optional: true - - '@esbuild/netbsd-x64@0.25.9': - optional: true - - '@esbuild/openbsd-arm64@0.25.9': - optional: true - - '@esbuild/openbsd-x64@0.21.5': - optional: true - - '@esbuild/openbsd-x64@0.25.9': - optional: true - - '@esbuild/openharmony-arm64@0.25.9': - optional: true - - '@esbuild/sunos-x64@0.21.5': - optional: true - - '@esbuild/sunos-x64@0.25.9': - optional: true - - '@esbuild/win32-arm64@0.21.5': - optional: true - - '@esbuild/win32-arm64@0.25.9': - optional: true - - '@esbuild/win32-ia32@0.21.5': - optional: true - - '@esbuild/win32-ia32@0.25.9': - optional: true - - '@esbuild/win32-x64@0.21.5': - optional: true - - '@esbuild/win32-x64@0.25.9': - optional: true - - '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.34.0(jiti@1.21.6))': - dependencies: - escape-string-regexp: 4.0.0 - eslint: 9.34.0(jiti@1.21.6) - ignore: 5.3.2 - - '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0(jiti@1.21.6))': - dependencies: - eslint: 9.34.0(jiti@1.21.6) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.1': {} - - '@eslint-react/ast@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@eslint-react/eff': 2.0.0-next.162 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/core@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - birecord: 0.1.1 - ts-api-utils: 2.1.0(typescript@5.9.2) - ts-pattern: 5.8.0 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/eff@2.0.0-next.162': {} - - '@eslint-react/eslint-plugin@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2)': - dependencies: - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - eslint-plugin-react-debug: 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint-plugin-react-dom: 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint-plugin-react-hooks-extra: 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint-plugin-react-naming-convention: 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint-plugin-react-web-api: 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint-plugin-react-x: 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) - optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - ts-api-utils - - '@eslint-react/kit@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - ts-pattern: 5.8.0 - zod: 4.1.5 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/shared@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - ts-pattern: 5.8.0 - zod: 4.1.5 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/var@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint/config-array@0.21.0': - dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/config-helpers@0.3.1': {} - - '@eslint/core@0.15.2': - dependencies: - '@types/json-schema': 7.0.15 - - '@eslint/eslintrc@3.3.1': - dependencies: - ajv: 6.12.6 - debug: 4.4.1(supports-color@8.1.1) - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.34.0': {} - - '@eslint/object-schema@2.1.6': {} - - '@eslint/plugin-kit@0.3.5': - dependencies: - '@eslint/core': 0.15.2 - levn: 0.4.1 - - '@fastify/ajv-compiler@3.6.0': - dependencies: - ajv: 8.16.0 - ajv-formats: 2.1.1(ajv@8.16.0) - fast-uri: 2.4.0 - - '@fastify/cors@9.0.1': - dependencies: - fastify-plugin: 4.5.1 - mnemonist: 0.39.6 - - '@fastify/error@3.4.1': {} - - '@fastify/fast-json-stringify-compiler@4.3.0': - dependencies: - fast-json-stringify: 5.16.1 - - '@fastify/merge-json-schemas@0.1.1': - dependencies: - fast-deep-equal: 3.1.3 - - '@floating-ui/core@1.7.3': - dependencies: - '@floating-ui/utils': 0.2.10 - - '@floating-ui/dom@1.7.4': - dependencies: - '@floating-ui/core': 1.7.3 - '@floating-ui/utils': 0.2.10 - - '@floating-ui/react-dom@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/dom': 1.7.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/dom': 1.7.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@floating-ui/react@0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/react-dom': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tabbable: 6.2.0 - - '@floating-ui/react@0.26.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@floating-ui/utils': 0.2.10 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tabbable: 6.2.0 - - '@floating-ui/utils@0.2.10': {} - - '@formatjs/ecma402-abstract@2.0.0': - dependencies: - '@formatjs/intl-localematcher': 0.5.4 - tslib: 2.8.1 - - '@formatjs/fast-memoize@2.2.0': - dependencies: - tslib: 2.8.1 - - '@formatjs/icu-messageformat-parser@2.7.8': - dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - '@formatjs/icu-skeleton-parser': 1.8.2 - tslib: 2.8.1 - - '@formatjs/icu-skeleton-parser@1.8.2': - dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - tslib: 2.8.1 - - '@formatjs/intl-localematcher@0.5.4': - dependencies: - tslib: 2.8.1 - - '@frontify/app-bridge@3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0)': + '@frontify/app-bridge@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0)': dependencies: - immer: 10.1.3 + immer: 10.2.0 lodash-es: 4.17.21 mitt: 3.0.1 react: 18.3.1 @@ -12652,29 +9708,29 @@ snapshots: sinon: 21.0.0 type-fest: 4.41.0 - '@frontify/eslint-config-basic@1.0.5(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(typescript@5.9.2)': - dependencies: - '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.34.0(jiti@1.21.6)) - '@stylistic/eslint-plugin': 5.3.1(eslint@9.34.0(jiti@1.21.6)) - '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - eslint-config-prettier: 10.1.8(eslint@9.34.0(jiti@1.21.6)) - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-jsonc: 2.20.1(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-lodash: 8.0.0(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-markdown: 5.1.0(eslint@9.34.0(jiti@1.21.6)) + '@frontify/eslint-config-basic@1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.39.1(jiti@1.21.7)) + '@stylistic/eslint-plugin': 5.6.1(eslint@9.39.1(jiti@1.21.7)) + '@typescript-eslint/eslint-plugin': 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + eslint-config-prettier: 10.1.8(eslint@9.39.1(jiti@1.21.7)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-jsonc: 2.21.0(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-lodash: 8.0.0(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-markdown: 5.1.0(eslint@9.39.1(jiti@1.21.7)) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.34.0(jiti@1.21.6)))(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2) - eslint-plugin-promise: 7.2.1(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-unicorn: 60.0.0(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-yml: 1.18.0(eslint@9.34.0(jiti@1.21.6)) - globals: 16.3.0 - prettier: 3.6.2 - typescript: 5.9.2 - typescript-eslint: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - yaml-eslint-parser: 1.3.0 + eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@1.21.7)))(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3) + eslint-plugin-promise: 7.2.1(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-unicorn: 62.0.0(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-yml: 1.19.0(eslint@9.39.1(jiti@1.21.7)) + globals: 16.5.0 + prettier: 3.7.3 + typescript: 5.9.3 + typescript-eslint: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + yaml-eslint-parser: 1.3.1 transitivePeerDependencies: - '@eslint/json' - '@types/eslint' @@ -12682,49 +9738,47 @@ snapshots: - eslint-plugin-import-x - supports-color - '@frontify/eslint-config-react@1.0.4(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(react@18.3.1)(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2)': + '@frontify/eslint-config-react@1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3)': dependencies: - '@eslint-react/eslint-plugin': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2) - '@frontify/eslint-config-basic': 1.0.5(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2)(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - eslint-plugin-jsx-a11y-x: 0.1.1(eslint@9.34.0(jiti@1.21.6)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.34.0(jiti@1.21.6)) - globals: 16.3.0 - prettier: 3.6.2 + '@eslint-react/eslint-plugin': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@frontify/eslint-config-basic': 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + eslint-plugin-jsx-a11y-x: 0.1.1(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-react-hooks: 5.2.0(eslint@9.39.1(jiti@1.21.7)) + globals: 16.5.0 + prettier: 3.7.3 react: 18.3.1 - typescript-eslint: 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + typescript-eslint: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) transitivePeerDependencies: - '@eslint/json' - '@types/eslint' - eslint-import-resolver-webpack - eslint-plugin-import-x - supports-color - - ts-api-utils - typescript - '@frontify/fondue-charts@6.0.4(@frontify/fondue-tokens@4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@frontify/eslint-config-react@1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3)': dependencies: - '@frontify/fondue-tokens': 4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@visx/axis': 3.12.0(react@18.3.1) - '@visx/glyph': 3.12.0(react@18.3.1) - '@visx/grid': 3.12.0(react@18.3.1) - '@visx/group': 3.12.0(react@18.3.1) - '@visx/hierarchy': 3.12.0(react@18.3.1) - '@visx/responsive': 3.12.0(react@18.3.1) - '@visx/scale': 3.12.0 - '@visx/shape': 3.12.0(react@18.3.1) - '@visx/text': 3.12.0(react@18.3.1) - '@visx/tooltip': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@visx/xychart': 3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - lodash-es: 4.17.21 + '@eslint-react/eslint-plugin': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@frontify/eslint-config-basic': 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + eslint-plugin-jsx-a11y-x: 0.1.1(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-react-hooks: 7.0.1(eslint@9.39.1(jiti@1.21.7)) + globals: 16.5.0 + prettier: 3.7.3 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + typescript-eslint: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) transitivePeerDependencies: - - '@react-spring/web' + - '@eslint/json' + - '@types/eslint' + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + - typescript - '@frontify/fondue-charts@7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@frontify/fondue-charts@7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) + '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) '@visx/axis': 3.12.0(react@18.3.1) '@visx/glyph': 3.12.0(react@18.3.1) '@visx/grid': 3.12.0(react@18.3.1) @@ -12735,271 +9789,72 @@ snapshots: '@visx/shape': 3.12.0(react@18.3.1) '@visx/text': 3.12.0(react@18.3.1) '@visx/tooltip': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@visx/xychart': 3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@visx/xychart': 3.12.0(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lodash-es: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@react-spring/web' - '@frontify/fondue-components@19.6.0(@frontify/fondue-icons@0.17.1(react@18.3.1))(@frontify/fondue-tokens@4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))))(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))': - dependencies: - '@frontify/fondue-icons': 0.17.1(react@18.3.1) - '@frontify/fondue-tokens': 4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-label': 2.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-progress': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-select': 2.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slider': 1.3.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - downshift: 9.0.10(react@18.3.1) - eslint-plugin-tailwindcss: 3.18.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - react: 18.3.1 - react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - tailwind-merge: 2.6.0 - tailwind-variants: 0.3.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - tailwindcss - - '@frontify/fondue-components@24.0.0-rc.2(@frontify/fondue-icons@0.22.0-rc.0(react@18.3.1))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))': - dependencies: - '@frontify/fondue-icons': 0.22.0-rc.0(react@18.3.1) - '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) - '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-label': 2.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-progress': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-select': 2.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slider': 1.3.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - downshift: 9.0.10(react@18.3.1) - eslint-plugin-tailwindcss: 3.18.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - react: 18.3.1 - react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - tailwind-merge: 2.6.0 - tailwind-variants: 0.3.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - tailwindcss - - '@frontify/fondue-components@24.0.0-rc.2(@frontify/fondue-icons@0.22.0-rc.0(react@18.3.1))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)))': - dependencies: - '@frontify/fondue-icons': 0.22.0-rc.0(react@18.3.1) - '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) - '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-label': 2.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-progress': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-select': 2.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slider': 1.3.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-components@24.0.0(@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': + dependencies: + '@frontify/fondue-icons': 0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) + '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-progress': 1.1.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-radio-group': 1.3.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.2.6(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slider': 1.3.6(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.4(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) downshift: 9.0.10(react@18.3.1) - eslint-plugin-tailwindcss: 3.18.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) + eslint-plugin-tailwindcss: 3.18.2(tailwindcss@3.4.18(yaml@2.8.2)) react: 18.3.1 react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-dom: 18.3.1(react@18.3.1) tailwind-merge: 2.6.0 - tailwind-variants: 0.3.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) + tailwind-variants: 0.3.1(tailwindcss@3.4.18(yaml@2.8.2)) transitivePeerDependencies: - '@types/react' - '@types/react-dom' - tailwindcss - '@frontify/fondue-icons@0.17.1(react@18.3.1)': - dependencies: - react: 18.3.1 - - '@frontify/fondue-icons@0.22.0-rc.0(react@18.3.1)': - dependencies: - react: 18.3.1 - - '@frontify/fondue-tokens@4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))': - dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - - '@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))': - dependencies: - '@types/react': 18.3.25 - react: 18.3.1 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - - '@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)))': - dependencies: - '@types/react': 18.3.25 - react: 18.3.1 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)) - - '@frontify/fondue@12.12.3(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.18.0)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1))': + '@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': dependencies: - '@ctrl/tinycolor': 4.1.0 - '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) - '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) - '@dnd-kit/utilities': 3.2.2(react@18.3.1) - '@floating-ui/dom': 1.7.4 - '@frontify/fondue-charts': 6.0.4(@frontify/fondue-tokens@4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 19.6.0(@frontify/fondue-icons@0.17.1(react@18.3.1))(@frontify/fondue-tokens@4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))))(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@frontify/fondue-icons': 0.17.1(react@18.3.1) - '@frontify/fondue-tokens': 4.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@popperjs/core': 2.11.8 - '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/aria-modal-polyfill': 3.7.15(react@18.3.1) - '@react-aria/breadcrumbs': 3.5.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/button': 3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/checkbox': 3.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/combobox': 3.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/dialog': 3.5.30(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/link': 3.8.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/listbox': 3.14.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/menu': 3.19.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.29.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/radio': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/select': 3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/table': 3.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/tooltip': 3.8.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.30.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/checkbox': 3.7.1(react@18.3.1) - '@react-stately/collections': 3.12.7(react@18.3.1) - '@react-stately/combobox': 3.11.1(react@18.3.1) - '@react-stately/list': 3.13.0(react@18.3.1) - '@react-stately/menu': 3.9.7(react@18.3.1) - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-stately/radio': 3.11.1(react@18.3.1) - '@react-stately/select': 3.7.1(react@18.3.1) - '@react-stately/table': 3.15.0(react@18.3.1) - '@react-stately/toggle': 3.9.1(react@18.3.1) - '@react-stately/tooltip': 3.5.7(react@18.3.1) - '@react-stately/tree': 3.9.2(react@18.3.1) - '@react-types/dialog': 3.5.21(react@18.3.1) - '@react-types/shared': 3.32.0(react@18.3.1) - '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-font': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) - date-fns: 3.6.0 - escape-html: 1.0.3 - framer-motion: 10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - immer: 10.1.3 - is-hotkey: 0.2.0 - lodash-es: 4.17.21 + '@frontify/fondue-tokens': 4.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) react: 18.3.1 - react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dnd: 16.0.1(@types/node@22.18.0)(@types/react@18.3.25)(react@18.3.1) - react-dnd-html5-backend: 16.0.1 - react-dom: 18.3.1(react@18.3.1) - react-fast-compare: 3.2.2 - react-is: 18.3.1 - react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-textarea-autosize: 8.5.9(@types/react@18.3.25)(react@18.3.1) - remark-gfm: 3.0.1 - remark-parse: 10.0.2 - slate: 0.102.0 - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - unified: 10.1.2 - unist-util-visit: 5.0.0 transitivePeerDependencies: - - '@react-spring/web' - - '@types/hoist-non-react-statics' - - '@types/node' - - '@types/react' - - '@types/react-dom' - - react-native - - scheduler - - slate-history - - slate-hyperscript - - supports-color + - react-dom - tailwindcss - - zustand - '@frontify/fondue@13.0.0-rc.5(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@emotion/is-prop-valid@0.8.8)(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.18.0)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1))': + '@frontify/fondue-rte@0.0.1-rc.6(@babel/core@7.28.5)(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': dependencies: '@ctrl/tinycolor': 4.2.0 '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@dnd-kit/modifiers': 7.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) - '@floating-ui/dom': 1.7.4 - '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 24.0.0-rc.2(@frontify/fondue-icons@0.22.0-rc.0(react@18.3.1))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@frontify/fondue-icons': 0.22.0-rc.0(react@18.3.1) - '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) + '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-components': 24.0.0(@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-icons': 0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) '@popperjs/core': 2.11.8 - '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/aria-modal-polyfill': 3.7.15(react@18.3.1) - '@react-aria/breadcrumbs': 3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/checkbox': 3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/combobox': 3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/dialog': 3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -13009,69 +9864,51 @@ snapshots: '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/radio': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/select': 3.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/table': 3.17.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/tooltip': 3.8.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/checkbox': 3.7.2(react@18.3.1) '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/combobox': 3.12.0(react@18.3.1) '@react-stately/list': 3.13.1(react@18.3.1) - '@react-stately/menu': 3.9.8(react@18.3.1) '@react-stately/overlays': 3.6.20(react@18.3.1) '@react-stately/radio': 3.11.2(react@18.3.1) '@react-stately/select': 3.8.0(react@18.3.1) - '@react-stately/table': 3.15.1(react@18.3.1) '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-stately/tooltip': 3.5.8(react@18.3.1) '@react-stately/tree': 3.9.3(react@18.3.1) - '@react-types/dialog': 3.5.22(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-font': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-break': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-emoji': 31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-font': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-indent': 31.1.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-link': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-list': 31.1.3(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-mention': 31.3.5(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 31.0.0(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) - commander: 14.0.1 - date-fns: 3.6.0 + '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) escape-html: 1.0.3 - execa: 9.6.0 - immer: 10.1.3 - is-hotkey: 0.2.0 - jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.3)) + immer: 10.2.0 lodash-es: 4.17.21 - motion: 12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + motion: 12.23.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dnd: 16.0.1(@types/node@22.18.0)(@types/react@18.3.25)(react@18.3.1) + react-dnd: 16.0.1(@types/node@22.19.1)(@types/react@18.3.27)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) react-fast-compare: 3.2.2 react-is: 18.3.1 react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-textarea-autosize: 8.5.9(@types/react@18.3.25)(react@18.3.1) remark-gfm: 3.0.1 remark-parse: 10.0.2 slate: 0.102.0 @@ -13079,13 +9916,15 @@ snapshots: unified: 10.1.2 unist-util-visit: 5.0.0 transitivePeerDependencies: - - '@babel/preset-env' + - '@babel/core' + - '@babel/template' - '@emotion/is-prop-valid' - '@react-spring/web' - '@types/hoist-non-react-statics' - '@types/node' - '@types/react' - '@types/react-dom' + - '@udecode/plate-common' - react-native - scheduler - slate-history @@ -13094,7 +9933,19 @@ snapshots: - tailwindcss - zustand - '@frontify/fondue@13.0.0-rc.5(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@emotion/is-prop-valid@0.8.8)(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@24.7.2)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1))': + '@frontify/fondue-tokens@4.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tailwindcss: 3.4.18(yaml@2.8.2) + + '@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2))': + dependencies: + '@types/react': 18.3.27 + react: 18.3.1 + tailwindcss: 3.4.18(yaml@2.8.2) + + '@frontify/fondue@13.0.0-rc.8(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': dependencies: '@ctrl/tinycolor': 4.2.0 '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -13102,14 +9953,15 @@ snapshots: '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@floating-ui/dom': 1.7.4 - '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 24.0.0-rc.2(@frontify/fondue-icons@0.22.0-rc.0(react@18.3.1))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))))(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) - '@frontify/fondue-icons': 0.22.0-rc.0(react@18.3.1) - '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) + '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@frontify/fondue-components': 24.0.0(@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-icons': 0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-rte': 0.0.1-rc.6(@babel/core@7.28.5)(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) + '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) '@popperjs/core': 2.11.8 - '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/accordion': 3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/aria-modal-polyfill': 3.7.15(react@18.3.1) '@react-aria/breadcrumbs': 3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -13144,64 +9996,39 @@ snapshots: '@react-stately/tree': 3.9.3(react@18.3.1) '@react-types/dialog': 3.5.22(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))) - '@udecode/plate-alignment': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-autoformat': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-basic-marks': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-break': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-code-block': 31.3.4(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-core': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-emoji': 31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-font': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-indent': 31.1.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-link': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-list': 31.1.3(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-mention': 31.3.5(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-paragraph': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - '@udecode/zustood': 2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) - commander: 14.0.1 + '@tailwindcss/forms': 0.5.10(tailwindcss@3.4.18(yaml@2.8.2)) + commander: 14.0.2 date-fns: 3.6.0 - escape-html: 1.0.3 - execa: 9.6.0 - immer: 10.1.3 - is-hotkey: 0.2.0 - jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.3)) + execa: 9.6.1 + immer: 10.2.0 + jscodeshift: 0.14.0(@babel/preset-env@7.28.5(@babel/core@7.28.5)) lodash-es: 4.17.21 - motion: 12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + motion: 12.23.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-datepicker: 6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dnd: 16.0.1(@types/node@24.7.2)(@types/react@18.3.25)(react@18.3.1) + react-dnd: 16.0.1(@types/node@22.19.1)(@types/react@18.3.27)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) react-fast-compare: 3.2.2 react-is: 18.3.1 react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-textarea-autosize: 8.5.9(@types/react@18.3.25)(react@18.3.1) + react-textarea-autosize: 8.5.9(@types/react@18.3.27)(react@18.3.1) remark-gfm: 3.0.1 remark-parse: 10.0.2 - slate: 0.102.0 - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) unified: 10.1.2 unist-util-visit: 5.0.0 transitivePeerDependencies: + - '@babel/core' - '@babel/preset-env' + - '@babel/template' - '@emotion/is-prop-valid' - '@react-spring/web' - '@types/hoist-non-react-statics' - '@types/node' - '@types/react' - '@types/react-dom' + - '@udecode/plate-common' - react-native - scheduler - slate-history @@ -13210,80 +10037,45 @@ snapshots: - tailwindcss - zustand - '@frontify/sidebar-settings@0.10.5(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.18.0)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1))': + '@frontify/sidebar-settings@0.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@frontify/fondue': 12.12.3(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.18.0)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@react-spring/web' - - '@types/hoist-non-react-statics' - - '@types/node' - - '@types/react' - - '@types/react-dom' - - react-native - - scheduler - - slate-history - - slate-hyperscript - - supports-color - - tailwindcss - - zustand - - '@hapi/hoek@9.3.0': - optional: true - - '@hapi/topo@5.1.0': - dependencies: - '@hapi/hoek': 9.3.0 - optional: true '@humanfs/core@0.19.1': {} - '@humanfs/node@0.16.6': + '@humanfs/node@0.16.7': dependencies: '@humanfs/core': 0.19.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.3': {} - '@inquirer/external-editor@1.0.2(@types/node@22.18.0)': - dependencies: - chardet: 2.1.0 - iconv-lite: 0.7.0 - optionalDependencies: - '@types/node': 22.18.0 - - '@inquirer/external-editor@1.0.2(@types/node@24.7.2)': + '@inquirer/external-editor@1.0.3(@types/node@22.19.1)': dependencies: - chardet: 2.1.0 + chardet: 2.1.1 iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 24.7.2 + '@types/node': 22.19.1 '@internationalized/date@3.10.0': dependencies: - '@swc/helpers': 0.5.11 - - '@internationalized/date@3.9.0': - dependencies: - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 '@internationalized/message@3.1.8': dependencies: - '@swc/helpers': 0.5.11 - intl-messageformat: 10.5.14 + '@swc/helpers': 0.5.17 + intl-messageformat: 10.7.18 '@internationalized/number@3.6.5': dependencies: - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 '@internationalized/string@3.2.7': dependencies: - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 '@isaacs/balanced-match@4.0.1': {} @@ -13295,66 +10087,21 @@ snapshots: dependencies: string-width: 5.1.2 string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/ttlcache@1.4.1': - optional: true - '@istanbuljs/schema@0.1.3': {} - '@jest/create-cache-key-function@29.7.0': - dependencies: - '@jest/types': 29.6.3 - optional: true - - '@jest/environment@29.7.0': - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - jest-mock: 29.7.0 - optional: true - - '@jest/fake-timers@29.7.0': - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.18.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - optional: true - '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - '@jest/types@26.6.2': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.18.0 - '@types/yargs': 15.0.19 - chalk: 4.1.2 - optional: true - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 22.18.0 - '@types/yargs': 17.0.33 - chalk: 4.1.2 - optional: true - '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': dependencies: @@ -13363,19 +10110,8 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - optional: true - '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.30': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -13390,66 +10126,40 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.28.4 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.28.4 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - '@microsoft/api-extractor-model@7.28.13(@types/node@22.18.0)': - dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@22.18.0) - transitivePeerDependencies: - - '@types/node' - - '@microsoft/api-extractor-model@7.28.13(@types/node@24.7.2)': - dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@24.7.2) - transitivePeerDependencies: - - '@types/node' - - '@microsoft/api-extractor@7.43.0(@types/node@22.18.0)': + '@microsoft/api-extractor-model@7.28.13(@types/node@22.19.1)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@22.18.0) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@22.18.0) - '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@22.18.0) - '@rushstack/ts-command-line': 4.19.1(@types/node@22.18.0) - lodash: 4.17.21 - minimatch: 3.0.8 - resolve: 1.22.10 - semver: 7.5.4 - source-map: 0.6.1 - typescript: 5.4.2 + '@rushstack/node-core-library': 4.0.2(@types/node@22.19.1) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.43.0(@types/node@24.7.2)': + '@microsoft/api-extractor@7.43.0(@types/node@22.19.1)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@24.7.2) + '@microsoft/api-extractor-model': 7.28.13(@types/node@22.19.1) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@24.7.2) + '@rushstack/node-core-library': 4.0.2(@types/node@22.19.1) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@24.7.2) - '@rushstack/ts-command-line': 4.19.1(@types/node@24.7.2) + '@rushstack/terminal': 0.10.0(@types/node@22.19.1) + '@rushstack/ts-command-line': 4.19.1(@types/node@22.19.1) lodash: 4.17.21 minimatch: 3.0.8 - resolve: 1.22.10 + resolve: 1.22.11 semver: 7.5.4 source-map: 0.6.1 typescript: 5.4.2 @@ -13468,14 +10178,14 @@ snapshots: '@mswjs/cookies@0.2.2': dependencies: '@types/set-cookie-parser': 2.4.10 - set-cookie-parser: 2.7.1 + set-cookie-parser: 2.7.2 '@mswjs/interceptors@0.17.10': dependencies: '@open-draft/until': 1.0.3 '@types/debug': 4.1.12 '@xmldom/xmldom': 0.8.11 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) headers-polyfill: 3.2.5 outvariant: 1.4.3 strict-event-emitter: 0.2.8 @@ -13485,9 +10195,9 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 - '@tybys/wasm-util': 0.10.0 + '@emnapi/core': 1.7.1 + '@emnapi/runtime': 1.7.1 + '@tybys/wasm-util': 0.10.1 optional: true '@nodelib/fs.scandir@2.1.5': @@ -13504,12 +10214,14 @@ snapshots: '@open-draft/until@1.0.3': {} + '@pinojs/redact@0.4.0': {} + '@pkgjs/parseargs@0.11.0': optional: true '@pkgr/core@0.2.9': {} - '@polka/url@1.0.0-next.25': {} + '@polka/url@1.0.0-next.29': {} '@popperjs/core@2.11.8': {} @@ -13517,1668 +10229,950 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-accordion@1.2.12(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-accordion@1.2.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-checkbox@1.3.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-collapsible@1.1.12(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collapsible@1.1.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-collection@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-compose-refs@1.1.2(@types/react@18.3.25)(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@18.3.27)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - '@radix-ui/react-context@1.1.2(@types/react@18.3.25)(react@18.3.1)': + '@radix-ui/react-context@1.1.2(@types/react@18.3.27)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-context@1.1.3(@types/react@18.3.27)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.27 + + '@radix-ui/react-dialog@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - aria-hidden: 1.2.4 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + aria-hidden: 1.2.6 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@18.3.25)(react@18.3.1) + react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-direction@1.1.1(@types/react@18.3.25)(react@18.3.1)': + '@radix-ui/react-direction@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-focus-guards@1.1.3(@types/react@18.3.25)(react@18.3.1)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@18.3.27)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-id@1.1.1(@types/react@18.3.25)(react@18.3.1)': + '@radix-ui/react-id@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - '@radix-ui/react-label@2.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-label@2.1.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-menu@2.1.16(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - aria-hidden: 1.2.4 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) + aria-hidden: 1.2.6 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@18.3.25)(react@18.3.1) + react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-popover@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - aria-hidden: 1.2.4 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + aria-hidden: 1.2.6 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@18.3.25)(react@18.3.1) + react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) - - '@radix-ui/react-popper@1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-rect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) + + '@radix-ui/react-popper@1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.27)(react@18.3.1) '@radix-ui/rect': 1.1.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-portal@1.1.9(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-presence@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-progress@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.1.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.4(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-radio-group@1.3.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-progress@1.1.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-context': 1.1.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-radio-group@1.3.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-select@2.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@18.3.25)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) - - '@radix-ui/react-separator@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-slider@1.3.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-select@2.2.6(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + aria-hidden: 1.2.6 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.7.2(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) - - '@radix-ui/react-slot@1.2.3(@types/react@18.3.25)(react@18.3.1)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-switch@1.2.6(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-separator@1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-tabs@1.1.13(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-separator@1.1.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-slider@1.3.6(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@radix-ui/react-toggle@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-slot@1.2.3(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 - '@radix-ui/react-toolbar@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-slot@1.2.4(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-direction': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-context': 1.1.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.1(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) - - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@18.3.25)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.3.25)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.3.25)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.3.25)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@18.3.25)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.25)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.25)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-previous@1.1.1(@types/react@18.3.25)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-rect@1.1.1(@types/react@18.3.25)(react@18.3.1)': - dependencies: - '@radix-ui/rect': 1.1.1 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-use-size@1.1.1(@types/react@18.3.25)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.25)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.25 - - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) - - '@radix-ui/rect@1.1.1': {} - - '@react-aria/accordion@3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/tree': 3.9.3(react@18.3.1) - '@react-types/accordion': 3.0.0-alpha.21(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/aria-modal-polyfill@3.7.15(react@18.3.1)': - dependencies: - '@swc/helpers': 0.5.11 - aria-hidden: 1.2.4 - react: 18.3.1 - - '@react-aria/breadcrumbs@3.5.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/link': 3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/breadcrumbs': 3.7.16(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/breadcrumbs@3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/link': 3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/breadcrumbs': 3.7.17(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/button@3.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/toolbar': 3.0.0-beta.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-types/button': 3.14.0(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/button@3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/toolbar': 3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-types/button': 3.14.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/checkbox@3.16.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/form': 3.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/toggle': 3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/checkbox': 3.7.2(react@18.3.1) - '@react-stately/form': 3.2.1(react@18.3.1) - '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-types/checkbox': 3.10.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/checkbox@3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/toggle': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/checkbox': 3.7.2(react@18.3.1) - '@react-stately/form': 3.2.2(react@18.3.1) - '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-types/checkbox': 3.10.2(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/combobox@3.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/combobox': 3.12.0(react@18.3.1) - '@react-stately/form': 3.2.1(react@18.3.1) - '@react-types/button': 3.14.0(react@18.3.1) - '@react-types/combobox': 3.13.8(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/combobox@3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/combobox': 3.12.0(react@18.3.1) - '@react-stately/form': 3.2.2(react@18.3.1) - '@react-types/button': 3.14.1(react@18.3.1) - '@react-types/combobox': 3.13.9(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/dialog@3.5.30(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/dialog': 3.5.22(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/dialog@3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/dialog': 3.5.22(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/focus@3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - clsx: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/form@3.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/form': 3.2.2(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-aria/form@3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/form': 3.2.2(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/grid@3.14.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/grid': 3.11.6(react@18.3.1) - '@react-stately/selection': 3.20.6(react@18.3.1) - '@react-types/checkbox': 3.10.2(react@18.3.1) - '@react-types/grid': 3.3.6(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/grid@3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toggle-group@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.4 - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/grid': 3.11.6(react@18.3.1) - '@react-stately/selection': 3.20.6(react@18.3.1) - '@react-types/checkbox': 3.10.2(react@18.3.1) - '@react-types/grid': 3.3.6(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/i18n@3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toggle@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@internationalized/date': 3.9.0 - '@internationalized/message': 3.1.8 - '@internationalized/number': 3.6.5 - '@internationalized/string': 3.2.7 - '@react-aria/ssr': 3.9.10(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/i18n@3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toolbar@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@internationalized/date': 3.10.0 - '@internationalized/message': 3.1.8 - '@internationalized/number': 3.6.5 - '@internationalized/string': 3.2.7 - '@react-aria/ssr': 3.9.10(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-direction': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.7(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/interactions@3.25.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/primitive': 1.1.3 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-context': 1.1.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.1(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.2.3(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/interactions@3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/flags': 3.1.2 - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/label@3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@18.3.27)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/label@3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/link@3.8.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/link': 3.6.4(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@18.3.27)(react@18.3.1) react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/link@3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/link': 3.6.5(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/listbox@3.14.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-previous@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/list': 3.13.1(react@18.3.1) - '@react-types/listbox': 3.7.3(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/listbox@3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-use-rect@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/list': 3.13.1(react@18.3.1) - '@react-types/listbox': 3.7.4(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/rect': 1.1.1 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/live-announcer@3.4.4': + '@radix-ui/react-use-size@1.1.1(@types/react@18.3.27)(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.11 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.27)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.27 - '@react-aria/menu@3.19.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/menu': 3.9.8(react@18.3.1) - '@react-stately/selection': 3.20.5(react@18.3.1) - '@react-stately/tree': 3.9.3(react@18.3.1) - '@react-types/button': 3.14.0(react@18.3.1) - '@react-types/menu': 3.10.4(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@react-aria/menu@3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/rect@1.1.1': {} + + '@react-aria/accordion@3.0.0-alpha.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/button': 3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/menu': 3.9.8(react@18.3.1) - '@react-stately/selection': 3.20.6(react@18.3.1) '@react-stately/tree': 3.9.3(react@18.3.1) - '@react-types/button': 3.14.1(react@18.3.1) - '@react-types/menu': 3.10.5(react@18.3.1) + '@react-types/accordion': 3.0.0-alpha.21(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/overlays@3.29.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/aria-modal-polyfill@3.7.15(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/ssr': 3.9.10(react@18.3.1) - '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-types/button': 3.14.0(react@18.3.1) - '@react-types/overlays': 3.9.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 + aria-hidden: 1.2.6 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - '@react-aria/overlays@3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/breadcrumbs@3.5.29(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/link': 3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-types/button': 3.14.1(react@18.3.1) - '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/breadcrumbs': 3.7.17(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/radio@3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/button@3.14.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/form': 3.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toolbar': 3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/radio': 3.11.2(react@18.3.1) - '@react-types/radio': 3.9.1(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/radio@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/checkbox@3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/toggle': 3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/radio': 3.11.2(react@18.3.1) - '@react-types/radio': 3.9.2(react@18.3.1) + '@react-stately/checkbox': 3.7.2(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/select@3.16.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/combobox@3.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/form': 3.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/textfield': 3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/select': 3.8.0(react@18.3.1) - '@react-types/button': 3.14.0(react@18.3.1) - '@react-types/select': 3.10.1(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/combobox': 3.12.0(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/combobox': 3.13.9(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/select@3.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/dialog@3.5.31(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/select': 3.8.0(react@18.3.1) - '@react-types/button': 3.14.1(react@18.3.1) - '@react-types/select': 3.11.0(react@18.3.1) + '@react-types/dialog': 3.5.22(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/selection@3.25.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/focus@3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/selection': 3.20.5(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 + clsx: 2.1.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/selection@3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/form@3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/ssr@3.9.10(react@18.3.1)': - dependencies: - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-aria/table@3.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/grid@3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/grid': 3.14.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/live-announcer': 3.4.4 + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/flags': 3.1.2 - '@react-stately/table': 3.15.1(react@18.3.1) - '@react-types/checkbox': 3.10.1(react@18.3.1) - '@react-types/grid': 3.3.5(react@18.3.1) + '@react-stately/grid': 3.11.6(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/table': 3.13.3(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/table@3.17.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/i18n@3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/grid': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/live-announcer': 3.4.4 + '@internationalized/date': 3.10.0 + '@internationalized/message': 3.1.8 + '@internationalized/number': 3.6.5 + '@internationalized/string': 3.2.7 + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@react-aria/interactions@3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-aria/ssr': 3.9.10(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/collections': 3.12.8(react@18.3.1) '@react-stately/flags': 3.1.2 - '@react-stately/table': 3.15.1(react@18.3.1) - '@react-types/checkbox': 3.10.2(react@18.3.1) - '@react-types/grid': 3.3.6(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/table': 3.13.4(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/textfield@3.18.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/label@3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/form': 3.2.2(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/textfield': 3.12.5(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/textfield@3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/link@3.8.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/form': 3.2.2(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/link': 3.6.5(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/textfield': 3.12.6(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/toggle@3.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/listbox@3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/list': 3.13.1(react@18.3.1) + '@react-types/listbox': 3.7.4(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/toggle@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/live-announcer@3.4.4': + dependencies: + '@swc/helpers': 0.5.17 + + '@react-aria/menu@3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/overlays': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/toggle': 3.9.2(react@18.3.1) - '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) + '@react-stately/menu': 3.9.8(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) + '@react-stately/tree': 3.9.3(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/menu': 3.10.5(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/toolbar@3.0.0-beta.20(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/overlays@3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/ssr': 3.9.10(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/overlays': 3.6.20(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/overlays': 3.9.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/toolbar@3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/radio@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/radio': 3.11.2(react@18.3.1) + '@react-types/radio': 3.9.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/tooltip@3.8.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/select@3.17.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/listbox': 3.15.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/menu': 3.19.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/selection': 3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/tooltip': 3.5.8(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/select': 3.8.0(react@18.3.1) + '@react-types/button': 3.14.1(react@18.3.1) + '@react-types/select': 3.11.0(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/tooltip': 3.4.20(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/tooltip@3.8.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/selection@3.26.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-stately/tooltip': 3.5.8(react@18.3.1) + '@react-stately/selection': 3.20.6(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/tooltip': 3.4.21(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/utils@3.30.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/ssr@3.9.10(react@18.3.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@18.3.1) - '@react-stately/flags': 3.1.2 - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - clsx: 2.1.1 + '@swc/helpers': 0.5.17 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - '@react-aria/utils@3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/table@3.17.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/grid': 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/live-announcer': 3.4.4 + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/visually-hidden': 3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/collections': 3.12.8(react@18.3.1) '@react-stately/flags': 3.1.2 - '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-stately/table': 3.15.1(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) + '@react-types/grid': 3.3.6(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - clsx: 2.1.1 + '@react-types/table': 3.13.4(react@18.3.1) + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/visually-hidden@3.8.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/textfield@3.18.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@react-aria/form': 3.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/label': 3.7.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/form': 3.2.2(react@18.3.1) + '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@react-types/textfield': 3.12.6(react@18.3.1) + '@swc/helpers': 0.5.17 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-aria/visually-hidden@3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/toggle@3.12.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/toggle': 3.9.2(react@18.3.1) + '@react-types/checkbox': 3.10.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@react-dnd/asap@5.0.2': {} - - '@react-dnd/invariant@4.0.2': {} - - '@react-dnd/shallowequal@4.0.2': {} - - '@react-native-community/cli-clean@13.6.8': - dependencies: - '@react-native-community/cli-tools': 13.6.8 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.3 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-config@13.6.8': - dependencies: - '@react-native-community/cli-tools': 13.6.8 - chalk: 4.1.2 - cosmiconfig: 5.2.1 - deepmerge: 4.3.1 - fast-glob: 3.3.3 - joi: 17.13.3 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-debugger-ui@13.6.8': - dependencies: - serve-static: 1.16.2 - transitivePeerDependencies: - - supports-color - optional: true - - '@react-native-community/cli-doctor@13.6.8': - dependencies: - '@react-native-community/cli-config': 13.6.8 - '@react-native-community/cli-platform-android': 13.6.8 - '@react-native-community/cli-platform-apple': 13.6.8 - '@react-native-community/cli-platform-ios': 13.6.8 - '@react-native-community/cli-tools': 13.6.8 - chalk: 4.1.2 - command-exists: 1.2.9 - deepmerge: 4.3.1 - envinfo: 7.17.0 - execa: 5.1.1 - hermes-profile-transformer: 0.0.6 - node-stream-zip: 1.15.0 - ora: 5.4.1 - semver: 7.7.3 - strip-ansi: 5.2.0 - wcwidth: 1.0.1 - yaml: 2.7.0 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-hermes@13.6.8': - dependencies: - '@react-native-community/cli-platform-android': 13.6.8 - '@react-native-community/cli-tools': 13.6.8 - chalk: 4.1.2 - hermes-profile-transformer: 0.0.6 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-platform-android@13.6.8': - dependencies: - '@react-native-community/cli-tools': 13.6.8 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.3 - fast-xml-parser: 4.5.3 - logkitty: 0.7.1 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-platform-apple@13.6.8': - dependencies: - '@react-native-community/cli-tools': 13.6.8 - chalk: 4.1.2 - execa: 5.1.1 - fast-glob: 3.3.3 - fast-xml-parser: 4.5.3 - ora: 5.4.1 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-platform-ios@13.6.8': - dependencies: - '@react-native-community/cli-platform-apple': 13.6.8 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-server-api@13.6.8': - dependencies: - '@react-native-community/cli-debugger-ui': 13.6.8 - '@react-native-community/cli-tools': 13.6.8 - compression: 1.8.1 - connect: 3.7.0 - errorhandler: 1.5.1 - nocache: 3.0.4 - pretty-format: 26.6.2 - serve-static: 1.16.2 - ws: 6.2.3 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - '@react-native-community/cli-tools@13.6.8': - dependencies: - appdirsjs: 1.2.7 - chalk: 4.1.2 - execa: 5.1.1 - find-up: 5.0.0 - mime: 2.6.0 - node-fetch: 2.7.0 - open: 6.4.0 - ora: 5.4.1 - semver: 7.7.3 - shell-quote: 1.8.3 - sudo-prompt: 9.2.1 - transitivePeerDependencies: - - encoding - optional: true - - '@react-native-community/cli-types@13.6.8': - dependencies: - joi: 17.13.3 - optional: true - - '@react-native-community/cli@13.6.8': - dependencies: - '@react-native-community/cli-clean': 13.6.8 - '@react-native-community/cli-config': 13.6.8 - '@react-native-community/cli-debugger-ui': 13.6.8 - '@react-native-community/cli-doctor': 13.6.8 - '@react-native-community/cli-hermes': 13.6.8 - '@react-native-community/cli-server-api': 13.6.8 - '@react-native-community/cli-tools': 13.6.8 - '@react-native-community/cli-types': 13.6.8 - chalk: 4.1.2 - commander: 9.5.0 - deepmerge: 4.3.1 - execa: 5.1.1 - find-up: 4.1.0 - fs-extra: 8.1.0 - graceful-fs: 4.2.11 - prompts: 2.4.2 - semver: 7.7.3 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - '@react-native/assets-registry@0.74.84': - optional: true - - '@react-native/babel-plugin-codegen@0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.3))': - dependencies: - '@react-native/codegen': 0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - optional: true - - '@react-native/babel-plugin-codegen@0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.4))': - dependencies: - '@react-native/codegen': 0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - optional: true - - '@react-native/babel-preset@0.74.84(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))': - dependencies: - '@babel/core': 7.28.3 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.28.3) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.28.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.3) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.28.3) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.3) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.3) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.3) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.3) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.3) - '@babel/template': 7.27.2 - '@react-native/babel-plugin-codegen': 0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.3) - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - optional: true - - '@react-native/babel-preset@0.74.84(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))': - dependencies: - '@babel/core': 7.28.4 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.28.4) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.28.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.4) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.4) - '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.4) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.4) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.4) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4) - '@babel/template': 7.27.2 - '@react-native/babel-plugin-codegen': 0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.4) - react-refresh: 0.14.2 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - optional: true - - '@react-native/codegen@0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.3))': - dependencies: - '@babel/parser': 7.28.4 - '@babel/preset-env': 7.28.3(@babel/core@7.28.3) - glob: 7.2.3 - hermes-parser: 0.19.1 - invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - mkdirp: 0.5.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@react-native/codegen@0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.4))': - dependencies: - '@babel/parser': 7.28.4 - '@babel/preset-env': 7.28.3(@babel/core@7.28.4) - glob: 7.2.3 - hermes-parser: 0.19.1 - invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - mkdirp: 0.5.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@react-native/community-cli-plugin@0.74.84(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))': - dependencies: - '@react-native-community/cli-server-api': 13.6.8 - '@react-native-community/cli-tools': 13.6.8 - '@react-native/dev-middleware': 0.74.84 - '@react-native/metro-babel-transformer': 0.74.84(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - chalk: 4.1.2 - execa: 5.1.1 - metro: 0.80.12 - metro-config: 0.80.12 - metro-core: 0.80.12 - node-fetch: 2.7.0 - querystring: 0.2.1 - readline: 1.3.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - '@react-native/community-cli-plugin@0.74.84(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))': - dependencies: - '@react-native-community/cli-server-api': 13.6.8 - '@react-native-community/cli-tools': 13.6.8 - '@react-native/dev-middleware': 0.74.84 - '@react-native/metro-babel-transformer': 0.74.84(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - chalk: 4.1.2 - execa: 5.1.1 - metro: 0.80.12 - metro-config: 0.80.12 - metro-core: 0.80.12 - node-fetch: 2.7.0 - querystring: 0.2.1 - readline: 1.3.0 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - '@react-native/debugger-frontend@0.74.84': - optional: true - - '@react-native/dev-middleware@0.74.84': - dependencies: - '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.74.84 - '@rnx-kit/chromium-edge-launcher': 1.0.0 - chrome-launcher: 0.15.2 - connect: 3.7.0 - debug: 2.6.9 - node-fetch: 2.7.0 - nullthrows: 1.1.1 - open: 7.4.2 - selfsigned: 2.4.1 - serve-static: 1.16.2 - temp-dir: 2.0.0 - ws: 6.2.3 - transitivePeerDependencies: - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - '@react-native/gradle-plugin@0.74.84': - optional: true - - '@react-native/js-polyfills@0.74.84': - optional: true + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@react-native/metro-babel-transformer@0.74.84(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))': + '@react-aria/toolbar@3.0.0-beta.21(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.3 - '@react-native/babel-preset': 0.74.84(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - hermes-parser: 0.19.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - optional: true + '@react-aria/focus': 3.21.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/i18n': 3.12.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@react-native/metro-babel-transformer@0.74.84(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))': + '@react-aria/tooltip@3.8.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/core': 7.28.4 - '@react-native/babel-preset': 0.74.84(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - hermes-parser: 0.19.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - optional: true - - '@react-native/normalize-colors@0.74.84': - optional: true + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-stately/tooltip': 3.5.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@react-types/tooltip': 3.4.21(react@18.3.1) + '@swc/helpers': 0.5.17 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@react-native/virtualized-lists@0.74.84(@types/react@18.3.25)(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)': + '@react-aria/utils@3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - invariant: 2.2.4 - nullthrows: 1.1.1 + '@react-aria/ssr': 3.9.10(react@18.3.1) + '@react-stately/flags': 3.1.2 + '@react-stately/utils': 3.10.8(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 + clsx: 2.1.1 react: 18.3.1 - react-native: 0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.25 - optional: true + react-dom: 18.3.1(react@18.3.1) - '@react-native/virtualized-lists@0.74.84(@types/react@18.3.25)(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)': + '@react-aria/visually-hidden@3.8.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - invariant: 2.2.4 - nullthrows: 1.1.1 + '@react-aria/interactions': 3.25.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + '@swc/helpers': 0.5.17 react: 18.3.1 - react-native: 0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.25 - optional: true + react-dom: 18.3.1(react@18.3.1) + + '@react-dnd/asap@5.0.2': {} + + '@react-dnd/invariant@4.0.2': {} + + '@react-dnd/shallowequal@4.0.2': {} '@react-spring/animated@9.7.5(react@18.3.1)': dependencies: @@ -15203,7 +11197,7 @@ snapshots: '@react-spring/types@9.7.5': {} - '@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-spring/animated': 9.7.5(react@18.3.1) '@react-spring/core': 9.7.5(react@18.3.1) @@ -15212,47 +11206,19 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-stately/checkbox@3.7.1(react@18.3.1)': - dependencies: - '@react-stately/form': 3.2.1(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/checkbox': 3.10.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - '@react-stately/checkbox@3.7.2(react@18.3.1)': dependencies: '@react-stately/form': 3.2.2(react@18.3.1) '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/checkbox': 3.10.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/collections@3.12.7(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/collections@3.12.8(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/combobox@3.11.1(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/form': 3.2.1(react@18.3.1) - '@react-stately/list': 3.13.1(react@18.3.1) - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-stately/select': 3.8.0(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/combobox': 3.13.8(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/combobox@3.12.0(react@18.3.1)': @@ -15264,32 +11230,17 @@ snapshots: '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/combobox': 3.13.9(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/flags@3.1.2': dependencies: - '@swc/helpers': 0.5.11 - - '@react-stately/form@3.2.1(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 + '@swc/helpers': 0.5.17 '@react-stately/form@3.2.2(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/grid@3.11.5(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/selection': 3.20.6(react@18.3.1) - '@react-types/grid': 3.3.6(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/grid@3.11.6(react@18.3.1)': @@ -15298,16 +11249,7 @@ snapshots: '@react-stately/selection': 3.20.6(react@18.3.1) '@react-types/grid': 3.3.6(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/list@3.13.0(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/selection': 3.20.5(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/list@3.13.1(react@18.3.1)': @@ -15316,15 +11258,7 @@ snapshots: '@react-stately/selection': 3.20.6(react@18.3.1) '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/menu@3.9.7(react@18.3.1)': - dependencies: - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-types/menu': 3.10.4(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/menu@3.9.8(react@18.3.1)': @@ -15332,23 +11266,14 @@ snapshots: '@react-stately/overlays': 3.6.20(react@18.3.1) '@react-types/menu': 3.10.5(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/overlays@3.6.20(react@18.3.1)': dependencies: '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/overlays': 3.9.2(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/radio@3.11.1(react@18.3.1)': - dependencies: - '@react-stately/form': 3.2.1(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/radio': 3.9.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/radio@3.11.2(react@18.3.1)': @@ -15357,17 +11282,7 @@ snapshots: '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/radio': 3.9.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/select@3.7.1(react@18.3.1)': - dependencies: - '@react-stately/form': 3.2.1(react@18.3.1) - '@react-stately/list': 3.13.1(react@18.3.1) - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-types/select': 3.10.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/select@3.8.0(react@18.3.1)': @@ -15378,15 +11293,7 @@ snapshots: '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/select': 3.11.0(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/selection@3.20.5(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/selection@3.20.6(react@18.3.1)': @@ -15394,20 +11301,7 @@ snapshots: '@react-stately/collections': 3.12.8(react@18.3.1) '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/table@3.15.0(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/flags': 3.1.2 - '@react-stately/grid': 3.11.5(react@18.3.1) - '@react-stately/selection': 3.20.5(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/grid': 3.3.5(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@react-types/table': 3.13.3(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/table@3.15.1(react@18.3.1)': @@ -15420,15 +11314,7 @@ snapshots: '@react-types/grid': 3.3.6(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) '@react-types/table': 3.13.4(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/toggle@3.9.1(react@18.3.1)': - dependencies: - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/checkbox': 3.10.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/toggle@3.9.2(react@18.3.1)': @@ -15436,30 +11322,14 @@ snapshots: '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/checkbox': 3.10.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/tooltip@3.5.7(react@18.3.1)': - dependencies: - '@react-stately/overlays': 3.6.20(react@18.3.1) - '@react-types/tooltip': 3.4.20(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/tooltip@3.5.8(react@18.3.1)': dependencies: '@react-stately/overlays': 3.6.20(react@18.3.1) '@react-types/tooltip': 3.4.21(react@18.3.1) - '@swc/helpers': 0.5.11 - react: 18.3.1 - - '@react-stately/tree@3.9.2(react@18.3.1)': - dependencies: - '@react-stately/collections': 3.12.8(react@18.3.1) - '@react-stately/selection': 3.20.5(react@18.3.1) - '@react-stately/utils': 3.10.8(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/tree@3.9.3(react@18.3.1)': @@ -15468,12 +11338,12 @@ snapshots: '@react-stately/selection': 3.20.6(react@18.3.1) '@react-stately/utils': 3.10.8(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-stately/utils@3.10.8(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.11 + '@swc/helpers': 0.5.17 react: 18.3.1 '@react-types/accordion@3.0.0-alpha.21(react@18.3.1)': @@ -15481,380 +11351,196 @@ snapshots: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/breadcrumbs@3.7.16(react@18.3.1)': - dependencies: - '@react-types/link': 3.6.5(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/breadcrumbs@3.7.17(react@18.3.1)': dependencies: '@react-types/link': 3.6.5(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/button@3.14.0(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/button@3.14.1(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/checkbox@3.10.1(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/checkbox@3.10.2(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/combobox@3.13.8(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/combobox@3.13.9(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/dialog@3.5.21(react@18.3.1)': - dependencies: - '@react-types/overlays': 3.9.1(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/dialog@3.5.22(react@18.3.1)': dependencies: '@react-types/overlays': 3.9.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/grid@3.3.5(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/grid@3.3.6(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/link@3.6.4(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/link@3.6.5(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/listbox@3.7.3(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/listbox@3.7.4(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/menu@3.10.4(react@18.3.1)': - dependencies: - '@react-types/overlays': 3.9.2(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/menu@3.10.5(react@18.3.1)': dependencies: '@react-types/overlays': 3.9.2(react@18.3.1) '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/overlays@3.9.1(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/overlays@3.9.2(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/radio@3.9.1(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/radio@3.9.2(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/select@3.10.1(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - '@react-types/select@3.11.0(react@18.3.1)': dependencies: '@react-types/shared': 3.32.1(react@18.3.1) react: 18.3.1 - '@react-types/shared@3.32.0(react@18.3.1)': - dependencies: - react: 18.3.1 - '@react-types/shared@3.32.1(react@18.3.1)': dependencies: react: 18.3.1 - '@react-types/table@3.13.3(react@18.3.1)': - dependencies: - '@react-types/grid': 3.3.6(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - - '@react-types/table@3.13.4(react@18.3.1)': - dependencies: - '@react-types/grid': 3.3.6(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - - '@react-types/textfield@3.12.5(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - - '@react-types/textfield@3.12.6(react@18.3.1)': - dependencies: - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - - '@react-types/tooltip@3.4.20(react@18.3.1)': - dependencies: - '@react-types/overlays': 3.9.2(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - - '@react-types/tooltip@3.4.21(react@18.3.1)': - dependencies: - '@react-types/overlays': 3.9.2(react@18.3.1) - '@react-types/shared': 3.32.1(react@18.3.1) - react: 18.3.1 - - '@rnx-kit/chromium-edge-launcher@1.0.0': - dependencies: - '@types/node': 18.19.130 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 - mkdirp: 1.0.4 - rimraf: 3.0.2 - transitivePeerDependencies: - - supports-color - optional: true - - '@rolldown/pluginutils@1.0.0-beta.34': {} - - '@rollup/pluginutils@5.2.0(rollup@4.52.3)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.52.3 - - '@rollup/rollup-android-arm-eabi@4.50.0': - optional: true - - '@rollup/rollup-android-arm-eabi@4.52.3': - optional: true - - '@rollup/rollup-android-arm64@4.50.0': - optional: true - - '@rollup/rollup-android-arm64@4.52.3': - optional: true - - '@rollup/rollup-darwin-arm64@4.50.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.52.3': - optional: true - - '@rollup/rollup-darwin-x64@4.50.0': - optional: true - - '@rollup/rollup-darwin-x64@4.52.3': - optional: true - - '@rollup/rollup-freebsd-arm64@4.50.0': - optional: true - - '@rollup/rollup-freebsd-arm64@4.52.3': - optional: true - - '@rollup/rollup-freebsd-x64@4.50.0': - optional: true - - '@rollup/rollup-freebsd-x64@4.52.3': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.50.0': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.52.3': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.50.0': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.52.3': - optional: true + '@react-types/table@3.13.4(react@18.3.1)': + dependencies: + '@react-types/grid': 3.3.6(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 - '@rollup/rollup-linux-arm64-gnu@4.50.0': - optional: true + '@react-types/textfield@3.12.6(react@18.3.1)': + dependencies: + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 - '@rollup/rollup-linux-arm64-gnu@4.52.3': - optional: true + '@react-types/tooltip@3.4.21(react@18.3.1)': + dependencies: + '@react-types/overlays': 3.9.2(react@18.3.1) + '@react-types/shared': 3.32.1(react@18.3.1) + react: 18.3.1 - '@rollup/rollup-linux-arm64-musl@4.50.0': - optional: true + '@rolldown/pluginutils@1.0.0-beta.27': {} - '@rollup/rollup-linux-arm64-musl@4.52.3': - optional: true + '@rolldown/pluginutils@1.0.0-beta.47': {} - '@rollup/rollup-linux-loong64-gnu@4.52.3': - optional: true + '@rollup/pluginutils@5.3.0(rollup@4.53.3)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.53.3 - '@rollup/rollup-linux-loongarch64-gnu@4.50.0': + '@rollup/rollup-android-arm-eabi@4.53.3': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.50.0': + '@rollup/rollup-android-arm64@4.53.3': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.52.3': + '@rollup/rollup-darwin-arm64@4.53.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.50.0': + '@rollup/rollup-darwin-x64@4.53.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.52.3': + '@rollup/rollup-freebsd-arm64@4.53.3': optional: true - '@rollup/rollup-linux-riscv64-musl@4.50.0': + '@rollup/rollup-freebsd-x64@4.53.3': optional: true - '@rollup/rollup-linux-riscv64-musl@4.52.3': + '@rollup/rollup-linux-arm-gnueabihf@4.53.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.50.0': + '@rollup/rollup-linux-arm-musleabihf@4.53.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.52.3': + '@rollup/rollup-linux-arm64-gnu@4.53.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.50.0': + '@rollup/rollup-linux-arm64-musl@4.53.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.52.3': + '@rollup/rollup-linux-loong64-gnu@4.53.3': optional: true - '@rollup/rollup-linux-x64-musl@4.50.0': + '@rollup/rollup-linux-ppc64-gnu@4.53.3': optional: true - '@rollup/rollup-linux-x64-musl@4.52.3': + '@rollup/rollup-linux-riscv64-gnu@4.53.3': optional: true - '@rollup/rollup-openharmony-arm64@4.50.0': + '@rollup/rollup-linux-riscv64-musl@4.53.3': optional: true - '@rollup/rollup-openharmony-arm64@4.52.3': + '@rollup/rollup-linux-s390x-gnu@4.53.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.50.0': + '@rollup/rollup-linux-x64-gnu@4.53.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.52.3': + '@rollup/rollup-linux-x64-musl@4.53.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.50.0': + '@rollup/rollup-openharmony-arm64@4.53.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.52.3': + '@rollup/rollup-win32-arm64-msvc@4.53.3': optional: true - '@rollup/rollup-win32-x64-gnu@4.52.3': + '@rollup/rollup-win32-ia32-msvc@4.53.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.50.0': + '@rollup/rollup-win32-x64-gnu@4.53.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.52.3': + '@rollup/rollup-win32-x64-msvc@4.53.3': optional: true '@rtsao/scc@1.1.0': {} - '@rushstack/node-core-library@4.0.2(@types/node@22.18.0)': - dependencies: - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.10 - semver: 7.5.4 - z-schema: 5.0.5 - optionalDependencies: - '@types/node': 22.18.0 - - '@rushstack/node-core-library@4.0.2(@types/node@24.7.2)': + '@rushstack/node-core-library@4.0.2(@types/node@22.19.1)': dependencies: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.10 + resolve: 1.22.11 semver: 7.5.4 z-schema: 5.0.5 optionalDependencies: - '@types/node': 24.7.2 + '@types/node': 22.19.1 '@rushstack/rig-package@0.5.2': dependencies: - resolve: 1.22.10 + resolve: 1.22.11 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.10.0(@types/node@22.18.0)': - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@22.18.0) - supports-color: 8.1.1 - optionalDependencies: - '@types/node': 22.18.0 - - '@rushstack/terminal@0.10.0(@types/node@24.7.2)': + '@rushstack/terminal@0.10.0(@types/node@22.19.1)': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@24.7.2) + '@rushstack/node-core-library': 4.0.2(@types/node@22.19.1) supports-color: 8.1.1 optionalDependencies: - '@types/node': 24.7.2 - - '@rushstack/ts-command-line@4.19.1(@types/node@22.18.0)': - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@22.18.0) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' + '@types/node': 22.19.1 - '@rushstack/ts-command-line@4.19.1(@types/node@24.7.2)': + '@rushstack/ts-command-line@4.19.1(@types/node@22.19.1)': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@24.7.2) + '@rushstack/terminal': 0.10.0(@types/node@22.19.1) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -15863,17 +11549,6 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@sideway/address@4.1.5': - dependencies: - '@hapi/hoek': 9.3.0 - optional: true - - '@sideway/formula@3.0.1': - optional: true - - '@sideway/pinpoint@2.0.0': - optional: true - '@sinclair/typebox@0.27.8': {} '@sindresorhus/merge-streams@4.0.0': {} @@ -15882,11 +11557,6 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@10.3.0': - dependencies: - '@sinonjs/commons': 3.0.1 - optional: true - '@sinonjs/fake-timers@13.0.5': dependencies: '@sinonjs/commons': 3.0.1 @@ -15896,69 +11566,64 @@ snapshots: '@sinonjs/commons': 3.0.1 type-detect: 4.1.0 - '@stylistic/eslint-plugin@5.3.1(eslint@9.34.0(jiti@1.21.6))': + '@stylistic/eslint-plugin@5.6.1(eslint@9.39.1(jiti@1.21.7))': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@1.21.6)) - '@typescript-eslint/types': 8.42.0 - eslint: 9.34.0(jiti@1.21.6) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7)) + '@typescript-eslint/types': 8.48.1 + eslint: 9.39.1(jiti@1.21.7) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 picomatch: 4.0.3 - '@swc/helpers@0.5.11': + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))': - dependencies: - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - - '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)))': + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.18(yaml@2.8.2))': dependencies: - mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) + tailwindcss: 3.4.18(yaml@2.8.2) - '@tailwindcss/forms@0.5.10(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)))': + '@tailwindcss/forms@0.5.10(tailwindcss@3.4.18(yaml@2.8.2))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)) + tailwindcss: 3.4.18(yaml@2.8.2) - '@testing-library/dom@9.3.4': + '@testing-library/dom@10.4.1': dependencies: '@babel/code-frame': 7.27.1 '@babel/runtime': 7.28.4 '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 + aria-query: 5.3.0 dom-accessibility-api: 0.5.16 lz-string: 1.5.0 + picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.8.0': + '@testing-library/jest-dom@6.9.1': dependencies: - '@adobe/css-tools': 4.4.0 - aria-query: 5.3.0 + '@adobe/css-tools': 4.4.4 + 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.0(@testing-library/dom@9.3.4)(@types/react-dom@18.3.7(@types/react@18.3.25))(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.26.0 - '@testing-library/dom': 9.3.4 + '@babel/runtime': 7.28.4 + '@testing-library/dom': 10.4.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) - '@testing-library/user-event@14.6.1(@testing-library/dom@9.3.4)': + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: - '@testing-library/dom': 9.3.4 + '@testing-library/dom': 10.4.1 - '@tsconfig/node10@1.0.11': {} + '@tsconfig/node10@1.0.12': {} '@tsconfig/node12@1.0.11': {} @@ -15966,7 +11631,7 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@tybys/wasm-util@0.10.0': + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true @@ -15977,28 +11642,29 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 - '@types/babel__generator': 7.6.8 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 + '@types/babel__traverse': 7.28.0 - '@types/babel__generator@7.6.8': + '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 - '@types/babel__traverse@7.20.6': + '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.5 - '@types/chai@5.2.2': + '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 '@types/cookie@0.4.1': {} @@ -16012,7 +11678,7 @@ snapshots: '@types/d3-geo@3.1.0': dependencies: - '@types/geojson': 7946.0.14 + '@types/geojson': 7946.0.16 '@types/d3-hierarchy@1.1.11': {} @@ -16044,25 +11710,12 @@ snapshots: '@types/estree@1.0.8': {} - '@types/geojson@7946.0.14': {} + '@types/geojson@7946.0.16': {} '@types/glob-to-regexp@0.4.4': {} '@types/is-hotkey@0.1.10': {} - '@types/istanbul-lib-coverage@2.0.6': - optional: true - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - optional: true - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - optional: true - '@types/js-levenshtein@1.1.3': {} '@types/json-schema@7.0.15': {} @@ -16071,703 +11724,429 @@ snapshots: '@types/lodash-es@4.17.12': dependencies: - '@types/lodash': 4.17.5 + '@types/lodash': 4.17.21 - '@types/lodash@4.17.5': {} + '@types/lodash@4.17.21': {} '@types/mdast@3.0.15': dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 '@types/mock-fs@4.13.4': dependencies: - '@types/node': 18.19.123 + '@types/node': 18.19.130 '@types/ms@2.1.0': {} - '@types/node-forge@1.3.14': - dependencies: - '@types/node': 22.18.0 - optional: true - '@types/node@12.20.55': {} - '@types/node@18.19.123': - dependencies: - undici-types: 5.26.5 - '@types/node@18.19.130': dependencies: undici-types: 5.26.5 - optional: true - - '@types/node@20.14.9': - dependencies: - undici-types: 5.26.5 - '@types/node@22.18.0': + '@types/node@20.19.25': dependencies: undici-types: 6.21.0 - '@types/node@24.5.2': + '@types/node@22.19.1': dependencies: - undici-types: 7.12.0 - - '@types/node@24.7.2': - dependencies: - undici-types: 7.14.0 + undici-types: 6.21.0 '@types/prompts@2.4.9': dependencies: - '@types/node': 18.19.123 + '@types/node': 18.19.130 kleur: 3.0.3 '@types/prop-types@15.7.15': {} - '@types/react-dom@18.3.7(@types/react@18.3.25)': + '@types/react-dom@18.3.7(@types/react@18.3.27)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - '@types/react@18.3.25': + '@types/react@18.3.27': dependencies: '@types/prop-types': 15.7.15 - csstype: 3.1.3 + csstype: 3.2.3 '@types/set-cookie-parser@2.4.10': dependencies: - '@types/node': 24.5.2 + '@types/node': 22.19.1 '@types/sinon@17.0.4': dependencies: - '@types/sinonjs__fake-timers': 8.1.5 + '@types/sinonjs__fake-timers': 15.0.1 - '@types/sinonjs__fake-timers@8.1.1': {} + '@types/sinonjs__fake-timers@15.0.1': {} - '@types/sinonjs__fake-timers@8.1.5': {} + '@types/sinonjs__fake-timers@8.1.1': {} - '@types/sizzle@2.3.8': {} + '@types/sizzle@2.3.10': {} - '@types/stack-utils@2.0.3': - optional: true + '@types/tmp@0.2.6': {} - '@types/unist@2.0.10': {} + '@types/unist@2.0.11': {} - '@types/unist@3.0.2': {} + '@types/unist@3.0.3': {} '@types/whatwg-mimetype@3.0.2': {} '@types/ws@8.18.1': dependencies: - '@types/node': 22.18.0 - - '@types/yargs-parser@21.0.3': - optional: true - - '@types/yargs@15.0.19': - dependencies: - '@types/yargs-parser': 21.0.3 - optional: true - - '@types/yargs@17.0.33': - dependencies: - '@types/yargs-parser': 21.0.3 - optional: true + '@types/node': 18.19.130 '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.18.0 + '@types/node': 22.19.1 optional: true - '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.42.0 - eslint: 9.34.0(jiti@1.21.6) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.48.1 + eslint: 9.39.1(jiti@1.21.7) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.42.0 - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.34.0(jiti@1.21.6) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - debug: 4.4.1(supports-color@8.1.1) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.42.0': - dependencies: - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/visitor-keys': 8.42.0 - - '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)': - dependencies: - typescript: 5.9.2 - - '@typescript-eslint/type-utils@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': - dependencies: - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.34.0(jiti@1.21.6) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@8.42.0': {} - - '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)': - dependencies: - '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/visitor-keys': 8.42.0 - debug: 4.4.1(supports-color@8.1.1) - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2)': + '@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - typescript: 5.9.2 + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.48.1 + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.1(jiti@1.21.7) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.42.0': - dependencies: - '@typescript-eslint/types': 8.42.0 - eslint-visitor-keys: 4.2.1 - - '@udecode/plate-alignment@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-alignment@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-break@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-break@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - prismjs: 1.29.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-code-block@31.3.4(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@typescript-eslint/project-service@8.48.1(typescript@5.9.3)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - prismjs: 1.29.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-combobox@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - downshift: 6.1.12(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-combobox@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - downshift: 6.1.12(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - - '@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - - '@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/plate-core': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-utils': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 33.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 36.0.6(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 36.0.6(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 36.3.9(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - - '@udecode/plate-core@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': - dependencies: - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - is-hotkey: 0.2.0 - jotai: 2.8.3(@types/react@18.3.25)(react@18.3.1) - jotai-optics: 0.3.2(jotai@2.8.3(@types/react@18.3.25)(react@18.3.1))(optics-ts@2.4.1) - jotai-x: 1.2.3(@types/react@18.3.25)(jotai@2.8.3(@types/react@18.3.25)(react@18.3.1))(react@18.3.1) - lodash: 4.17.21 - nanoid: 3.3.11 - optics-ts: 2.4.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-hotkeys-hook: 4.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - use-deep-compare: 1.2.1(react@18.3.1) - zustand: 4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1) - zustand-x: 3.0.3(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) + '@typescript-eslint/tsconfig-utils': 8.48.1(typescript@5.9.3) + '@typescript-eslint/types': 8.48.1 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.9.3 transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler + - supports-color - '@udecode/plate-core@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@typescript-eslint/scope-manager@8.48.1': dependencies: - '@udecode/slate': 36.0.6(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 36.0.6(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 36.3.9(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - is-hotkey: 0.2.0 - jotai: 2.8.3(@types/react@18.3.25)(react@18.3.1) - jotai-optics: 0.3.2(jotai@2.8.3(@types/react@18.3.25)(react@18.3.1))(optics-ts@2.4.1) - jotai-x: 1.2.3(@types/react@18.3.25)(jotai@2.8.3(@types/react@18.3.25)(react@18.3.1))(react@18.3.1) - lodash: 4.17.21 - nanoid: 3.3.11 - optics-ts: 2.4.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-hotkeys-hook: 4.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - use-deep-compare: 1.2.1(react@18.3.1) - zustand: 4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1) - zustand-x: 3.0.3(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)) + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/visitor-keys': 8.48.1 + + '@typescript-eslint/tsconfig-utils@8.48.1(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.1(jiti@1.21.7) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler + - supports-color + + '@typescript-eslint/types@8.48.1': {} - '@udecode/plate-emoji@31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@typescript-eslint/typescript-estree@8.48.1(typescript@5.9.3)': dependencies: - '@emoji-mart/data': 1.2.1 - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + '@typescript-eslint/project-service': 8.48.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.48.1(typescript@5.9.3) + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/visitor-keys': 8.48.1 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@udecode/plate-emoji@31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@typescript-eslint/utils@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3)': dependencies: - '@emoji-mart/data': 1.2.1 - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@typescript-eslint/visitor-keys@8.48.1': dependencies: - '@floating-ui/core': 1.7.3 - '@floating-ui/react': 0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) - slate-hyperscript: 0.100.0(slate@0.102.0) - slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + '@typescript-eslint/types': 8.48.1 + eslint-visitor-keys: 4.2.1 - '@udecode/plate-floating@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-alignment@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@floating-ui/core': 1.7.3 - '@floating-ui/react': 0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-font@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-autoformat@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-font@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-indent@31.1.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-break@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-indent@31.1.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-code-block@31.3.4(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + prismjs: 1.30.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-combobox@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + downshift: 6.1.12(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-link@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-floating': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-utils': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 33.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 36.0.6(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 36.0.6(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 36.3.9(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + transitivePeerDependencies: + - '@babel/core' + - '@babel/template' + - '@types/react' + - immer + - react-native + - scheduler - '@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-core@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate': 36.0.6(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 36.0.6(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 36.3.9(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + is-hotkey: 0.2.0 + jotai: 2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1) + jotai-optics: 0.3.2(jotai@2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1))(optics-ts@2.4.1) + jotai-x: 1.2.4(@types/react@18.3.27)(jotai@2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1))(react@18.3.1) lodash: 4.17.21 + nanoid: 3.3.11 + optics-ts: 2.4.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-hotkeys-hook: 4.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) + use-deep-compare: 1.3.0(react@18.3.1) + zustand: 4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1) + zustand-x: 3.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) + transitivePeerDependencies: + - '@babel/core' + - '@babel/template' + - '@types/react' + - immer + - react-native + - scheduler - '@udecode/plate-list@31.1.3(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-emoji@31.4.0(patch_hash=006e69514660726c5259e72f6c0685c34e7a0c7cfc69edda920240767a837b19)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@emoji-mart/data': 1.2.1 + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-mention@31.3.5(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-floating@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@floating-ui/core': 1.7.3 + '@floating-ui/react': 0.22.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-mention@31.3.5(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-font@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-indent@31.1.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-link@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - lodash: 4.17.21 + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-list@31.1.3(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-mention@31.3.5(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-combobox': 31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-normalizers@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-paragraph@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-common': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - '@udecode/plate-utils@31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-reset-node@31.0.0(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-core': 31.3.2(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/utils': 31.0.0 - clsx: 1.2.1 - lodash: 4.17.21 + '@udecode/plate-common': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react-native - - scheduler - '@udecode/plate-utils@36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/plate-utils@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/plate-core': 36.5.9(@types/react@18.3.25)(immer@10.1.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(slate-history@0.100.0(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/react-utils': 33.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 36.0.6(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-react': 36.0.6(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) - '@udecode/slate-utils': 36.3.9(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/plate-core': 36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 33.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 36.0.6(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-react': 36.0.6(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0) + '@udecode/slate-utils': 36.3.9(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 clsx: 1.2.1 lodash: 4.17.21 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) transitivePeerDependencies: + - '@babel/core' + - '@babel/template' - '@types/react' - immer - react-native - scheduler - '@udecode/react-utils@31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@udecode/react-utils@31.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-slot': 1.2.4(@types/react@18.3.27)(react@18.3.1) '@udecode/utils': 31.0.0 clsx: 1.2.1 react: 18.3.1 @@ -16775,9 +12154,9 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@udecode/react-utils@33.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@udecode/react-utils@33.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.25)(react@18.3.1) + '@radix-ui/react-slot': 1.2.4(@types/react@18.3.27)(react@18.3.1) '@udecode/utils': 31.0.0 clsx: 1.2.1 react: 18.3.1 @@ -16785,78 +12164,67 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@udecode/slate-react@31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate-react@31.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/react-utils': 31.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 31.0.0(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) transitivePeerDependencies: - '@types/react' - '@udecode/slate-react@36.0.6(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate-react@36.0.6(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate-history@0.113.1(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/react-utils': 33.0.0(@types/react@18.3.25)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@udecode/slate': 36.0.6(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/react-utils': 33.0.0(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@udecode/slate': 36.0.6(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) slate-react: 0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0) transitivePeerDependencies: - '@types/react' - '@udecode/slate-utils@31.3.2(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate-utils@31.3.2(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/slate': 31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate': 31.0.0(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 lodash: 4.17.21 slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) - '@udecode/slate-utils@36.3.9(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate-utils@36.3.9(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0)': dependencies: - '@udecode/slate': 36.0.6(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0) + '@udecode/slate': 36.0.6(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0) '@udecode/utils': 31.0.0 lodash: 4.17.21 slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) - '@udecode/slate@31.0.0(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate@31.0.0(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0)': dependencies: '@udecode/utils': 31.0.0 slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) - '@udecode/slate@36.0.6(slate-history@0.100.0(slate@0.102.0))(slate@0.102.0)': + '@udecode/slate@36.0.6(slate-history@0.113.1(slate@0.102.0))(slate@0.102.0)': dependencies: '@udecode/utils': 31.0.0 slate: 0.102.0 - slate-history: 0.100.0(slate@0.102.0) + slate-history: 0.113.1(slate@0.102.0) '@udecode/utils@31.0.0': {} - '@udecode/zustood@2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1))': + '@udecode/zustood@2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': dependencies: - immer: 10.1.3 - react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1) - transitivePeerDependencies: - - react - - react-dom - - react-native - - scheduler - - '@udecode/zustood@2.0.0(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1))': - dependencies: - immer: 10.1.3 - react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1) + immer: 10.2.0 + react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + zustand: 4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1) transitivePeerDependencies: - react - react-dom @@ -16924,20 +12292,20 @@ snapshots: '@visx/annotation@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/drag': 3.12.0(react@18.3.1) '@visx/group': 3.12.0(react@18.3.1) '@visx/text': 3.12.0(react@18.3.1) classnames: 2.5.1 prop-types: 15.8.1 react: 18.3.1 - react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-use-measure: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - react-dom '@visx/axis@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/group': 3.12.0(react@18.3.1) '@visx/point': 3.12.0 '@visx/scale': 3.12.0 @@ -16949,8 +12317,8 @@ snapshots: '@visx/bounds@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.25 - '@types/react-dom': 18.3.7(@types/react@18.3.25) + '@types/react': 18.3.27 + '@types/react-dom': 18.3.7(@types/react@18.3.27) prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16962,7 +12330,7 @@ snapshots: '@visx/drag@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/event': 3.12.0 '@visx/point': 3.12.0 prop-types: 15.8.1 @@ -16970,13 +12338,13 @@ snapshots: '@visx/event@3.12.0': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/point': 3.12.0 '@visx/glyph@3.12.0(react@18.3.1)': dependencies: '@types/d3-shape': 1.3.12 - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/group': 3.12.0(react@18.3.1) classnames: 2.5.1 d3-shape: 1.3.7 @@ -16985,7 +12353,7 @@ snapshots: '@visx/grid@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/curve': 3.12.0 '@visx/group': 3.12.0(react@18.3.1) '@visx/point': 3.12.0 @@ -16997,7 +12365,7 @@ snapshots: '@visx/group@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 classnames: 2.5.1 prop-types: 15.8.1 react: 18.3.1 @@ -17005,7 +12373,7 @@ snapshots: '@visx/hierarchy@3.12.0(react@18.3.1)': dependencies: '@types/d3-hierarchy': 1.1.11 - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/group': 3.12.0(react@18.3.1) classnames: 2.5.1 d3-hierarchy: 1.1.9 @@ -17014,10 +12382,10 @@ snapshots: '@visx/point@3.12.0': {} - '@visx/react-spring@3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@visx/react-spring@3.12.0(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: - '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/react': 18.3.25 + '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/react': 18.3.27 '@visx/axis': 3.12.0(react@18.3.1) '@visx/grid': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 @@ -17028,8 +12396,8 @@ snapshots: '@visx/responsive@3.12.0(react@18.3.1)': dependencies: - '@types/lodash': 4.17.5 - '@types/react': 18.3.25 + '@types/lodash': 4.17.21 + '@types/react': 18.3.27 lodash: 4.17.21 prop-types: 15.8.1 react: 18.3.1 @@ -17042,8 +12410,8 @@ snapshots: dependencies: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 - '@types/lodash': 4.17.5 - '@types/react': 18.3.25 + '@types/lodash': 4.17.21 + '@types/react': 18.3.27 '@visx/curve': 3.12.0 '@visx/group': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 @@ -17056,8 +12424,8 @@ snapshots: '@visx/text@3.12.0(react@18.3.1)': dependencies: - '@types/lodash': 4.17.5 - '@types/react': 18.3.25 + '@types/lodash': 4.17.21 + '@types/react': 18.3.27 classnames: 2.5.1 lodash: 4.17.21 prop-types: 15.8.1 @@ -17066,13 +12434,13 @@ snapshots: '@visx/tooltip@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 '@visx/bounds': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-use-measure: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-use-measure: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/vendor@3.12.0': dependencies: @@ -17099,23 +12467,23 @@ snapshots: '@visx/voronoi@3.12.0(react@18.3.1)': dependencies: '@types/d3-voronoi': 1.1.12 - '@types/react': 18.3.25 + '@types/react': 18.3.27 classnames: 2.5.1 d3-voronoi: 1.1.4 prop-types: 15.8.1 react: 18.3.1 - '@visx/xychart@3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@visx/xychart@3.12.0(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/lodash': 4.17.5 - '@types/react': 18.3.25 + '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/lodash': 4.17.21 + '@types/react': 18.3.27 '@visx/annotation': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/axis': 3.12.0(react@18.3.1) '@visx/event': 3.12.0 '@visx/glyph': 3.12.0(react@18.3.1) '@visx/grid': 3.12.0(react@18.3.1) - '@visx/react-spring': 3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + '@visx/react-spring': 3.12.0(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@visx/responsive': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 '@visx/shape': 3.12.0(react@18.3.1) @@ -17133,50 +12501,39 @@ snapshots: transitivePeerDependencies: - react-dom - '@vitejs/plugin-react@4.3.1(vite@5.4.19(@types/node@18.19.123)(terser@5.31.1))': - dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 5.4.19(@types/node@18.19.123)(terser@5.31.1) - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-react@5.0.2(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1))': + '@vitejs/plugin-react@4.7.0(vite@5.4.21(@types/node@18.19.130))': dependencies: - '@babel/core': 7.28.3 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) - '@rolldown/pluginutils': 1.0.0-beta.34 + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 5.4.19(@types/node@22.18.0)(terser@5.31.1) + vite: 5.4.21(@types/node@18.19.130) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@5.0.2(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1))': + '@vitejs/plugin-react@5.1.1(vite@5.4.21(@types/node@22.19.1))': dependencies: - '@babel/core': 7.28.3 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) - '@rolldown/pluginutils': 1.0.0-beta.34 + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.47 '@types/babel__core': 7.20.5 - react-refresh: 0.17.0 - vite: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + react-refresh: 0.18.0 + vite: 5.4.21(@types/node@22.19.1) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@5.0.2(vite@7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0))': + '@vitejs/plugin-react@5.1.1(vite@7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2))': dependencies: - '@babel/core': 7.28.3 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.3) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.3) - '@rolldown/pluginutils': 1.0.0-beta.34 + '@babel/core': 7.28.5 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.47 '@types/babel__core': 7.20.5 - react-refresh: 0.17.0 - vite: 7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + react-refresh: 0.18.0 + vite: 7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -17184,54 +12541,45 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 - ast-v8-to-istanbul: 0.3.5 - debug: 4.4.1(supports-color@8.1.1) + ast-v8-to-istanbul: 0.3.8 + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.1.7 - magic-string: 0.30.18 + istanbul-reports: 3.2.0 + magic-string: 0.30.21 magicast: 0.3.5 - std-env: 3.9.0 + std-env: 3.10.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) transitivePeerDependencies: - supports-color '@vitest/expect@3.2.4': dependencies: - '@types/chai': 5.2.2 + '@types/chai': 5.2.3 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@1.3.5(@types/node@22.18.0)(typescript@5.9.2))(vite@7.1.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0))': - dependencies: - '@vitest/spy': 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.18 - optionalDependencies: - msw: 1.3.5(@types/node@22.18.0)(typescript@5.9.2) - vite: 7.1.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - - '@vitest/mocker@3.2.4(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(vite@7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0))': + '@vitest/mocker@3.2.4(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(vite@7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.18 + magic-string: 0.30.21 optionalDependencies: - msw: 1.3.5(@types/node@24.7.2)(typescript@5.9.2) - vite: 7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + msw: 1.3.5(@types/node@22.19.1)(typescript@5.9.3) + vite: 7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) - '@vitest/mocker@3.2.4(vite@7.1.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0))': + '@vitest/mocker@3.2.4(vite@7.2.6(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.18 + magic-string: 0.30.21 optionalDependencies: - vite: 7.1.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vite: 7.2.6(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2) '@vitest/pretty-format@3.2.4': dependencies: @@ -17241,17 +12589,17 @@ snapshots: dependencies: '@vitest/utils': 3.2.4 pathe: 2.0.3 - strip-literal: 3.0.0 + strip-literal: 3.1.0 '@vitest/snapshot@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 - magic-string: 0.30.18 + magic-string: 0.30.21 pathe: 2.0.3 '@vitest/spy@3.2.4': dependencies: - tinyspy: 4.0.3 + tinyspy: 4.0.4 '@vitest/ui@1.6.1(vitest@3.2.4)': dependencies: @@ -17262,7 +12610,7 @@ snapshots: pathe: 1.1.2 picocolors: 1.1.1 sirv: 2.0.4 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@1.6.1)(happy-dom@18.0.1)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@1.6.1)(happy-dom@18.0.1)(jiti@1.21.7)(yaml@2.8.2) '@vitest/ui@3.2.4(vitest@3.2.4)': dependencies: @@ -17270,10 +12618,10 @@ snapshots: fflate: 0.8.2 flatted: 3.3.3 pathe: 2.0.3 - sirv: 3.0.1 - tinyglobby: 0.2.14 + sirv: 3.0.2 + tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2) '@vitest/utils@1.6.1': dependencies: @@ -17301,34 +12649,34 @@ snapshots: '@volar/language-core': 1.11.1 path-browserify: 1.0.1 - '@vue/compiler-core@3.5.21': + '@vue/compiler-core@3.5.25': dependencies: - '@babel/parser': 7.28.3 - '@vue/shared': 3.5.21 + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.25 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.21': + '@vue/compiler-dom@3.5.25': dependencies: - '@vue/compiler-core': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/compiler-core': 3.5.25 + '@vue/shared': 3.5.25 - '@vue/language-core@1.8.27(typescript@5.9.2)': + '@vue/language-core@1.8.27(typescript@5.9.3)': dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/compiler-dom': 3.5.25 + '@vue/shared': 3.5.25 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.3.1 path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 - '@vue/shared@3.5.21': {} + '@vue/shared@3.5.25': {} '@xmldom/xmldom@0.8.11': {} @@ -17341,21 +12689,13 @@ snapshots: abstract-logging@2.0.1: {} - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - optional: true - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: - acorn: 8.12.0 - - acorn@8.12.0: {} + acorn: 8.15.0 acorn@8.15.0: {} @@ -17364,13 +12704,13 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-formats@2.1.1(ajv@8.16.0): + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: - ajv: 8.16.0 + ajv: 8.17.1 - ajv-formats@3.0.1(ajv@8.16.0): + ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: - ajv: 8.16.0 + ajv: 8.17.1 ajv@6.12.6: dependencies: @@ -17379,15 +12719,12 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.16.0: + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 - - anser@1.4.10: - optional: true ansi-colors@4.1.3: {} @@ -17395,23 +12732,9 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-fragments@0.2.1: - dependencies: - colorette: 1.4.0 - slice-ansi: 2.1.0 - strip-ansi: 5.2.0 - optional: true - - ansi-regex@4.1.1: - optional: true - ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 + ansi-regex@6.2.2: {} ansi-styles@4.3.0: dependencies: @@ -17419,7 +12742,7 @@ snapshots: ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} + ansi-styles@6.2.3: {} any-promise@1.3.0: {} @@ -17428,30 +12751,30 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - appdirsjs@1.2.7: - optional: true - arch@2.2.0: {} archiver-utils@5.0.2: dependencies: - glob: 10.4.2 + glob: 10.5.0 graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 - readable-stream: 4.5.2 + readable-stream: 4.7.0 archiver@7.0.1: dependencies: archiver-utils: 5.0.2 - async: 3.2.5 + async: 3.2.6 buffer-crc32: 1.0.0 - readable-stream: 4.5.2 + readable-stream: 4.7.0 readdir-glob: 1.1.3 tar-stream: 3.1.7 zip-stream: 6.0.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a arg@4.1.3: {} @@ -17463,25 +12786,16 @@ snapshots: argparse@2.0.1: {} - aria-hidden@1.2.4: + aria-hidden@1.2.6: dependencies: tslib: 2.8.1 - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 - aria-query@5.3.0: dependencies: dequal: 2.0.3 aria-query@5.3.2: {} - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -17515,25 +12829,14 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.0 - es-shim-unscopables: 1.0.2 + es-shim-unscopables: 1.1.0 array.prototype.flatmap@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.0 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + es-shim-unscopables: 1.1.0 arraybuffer.prototype.slice@1.0.4: dependencies: @@ -17545,9 +12848,6 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 - asap@2.0.6: - optional: true - asn1@0.2.6: dependencies: safer-buffer: 2.1.2 @@ -17562,21 +12862,17 @@ snapshots: dependencies: tslib: 2.8.1 - ast-v8-to-istanbul@0.3.5: + ast-v8-to-istanbul@0.3.8: dependencies: - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 js-tokens: 9.0.1 - astral-regex@1.0.0: - optional: true - astral-regex@2.0.0: {} - async-limiter@1.0.1: - optional: true + async-function@1.0.0: {} - async@3.2.5: {} + async@3.2.6: {} asynckit@0.4.0: {} @@ -17584,16 +12880,16 @@ snapshots: atomic-sleep@1.0.0: {} - atomically@2.0.3: + atomically@2.1.0: dependencies: - stubborn-fs: 1.2.5 - when-exit: 2.1.2 + stubborn-fs: 2.0.0 + when-exit: 2.1.5 - autoprefixer@10.4.21(postcss@8.5.6): + autoprefixer@10.4.22(postcss@8.5.6): dependencies: - browserslist: 4.25.4 - caniuse-lite: 1.0.30001739 - fraction.js: 4.3.7 + browserslist: 4.28.0 + caniuse-lite: 1.0.30001757 + fraction.js: 5.3.4 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.5.6 @@ -17601,91 +12897,50 @@ snapshots: available-typed-arrays@1.0.7: dependencies: - possible-typed-array-names: 1.0.0 + possible-typed-array-names: 1.1.0 - avvio@8.3.2: + avvio@8.4.0: dependencies: '@fastify/error': 3.4.1 - fastq: 1.17.1 + fastq: 1.19.1 aws-sign2@0.7.0: {} - aws4@1.13.0: {} + aws4@1.13.2: {} - axe-core@4.10.3: {} + axe-core@4.11.0: {} axobject-query@4.1.0: {} - b4a@1.6.6: {} + b4a@1.7.3: {} - babel-core@7.0.0-bridge.0(@babel/core@7.28.4): + babel-core@7.0.0-bridge.0(@babel/core@7.28.5): dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.3): + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): dependencies: - '@babel/compat-data': 7.28.4 - '@babel/core': 7.28.3 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) + '@babel/compat-data': 7.28.5 + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.4): + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): dependencies: - '@babel/compat-data': 7.28.4 - '@babel/core': 7.28.4 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) - core-js-compat: 3.46.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.4): - dependencies: - '@babel/core': 7.28.4 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) - core-js-compat: 3.46.0 - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.3): - dependencies: - '@babel/core': 7.28.3 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.3) + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + core-js-compat: 3.47.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.4): + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): dependencies: - '@babel/core': 7.28.4 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) + '@babel/core': 7.28.5 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) transitivePeerDependencies: - supports-color - optional: true - - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.3): - dependencies: - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3) - transitivePeerDependencies: - - '@babel/core' - optional: true - - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.4): - dependencies: - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.4) - transitivePeerDependencies: - - '@babel/core' - optional: true bail@2.0.2: {} @@ -17693,12 +12948,11 @@ snapshots: balanced-match@1.0.2: {} - bare-events@2.4.2: - optional: true + bare-events@2.8.2: {} base64-js@1.5.1: {} - baseline-browser-mapping@2.8.16: {} + baseline-browser-mapping@2.8.32: {} bcrypt-pbkdf@1.0.2: dependencies: @@ -17724,12 +12978,12 @@ snapshots: boolbase@1.0.0: {} - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -17737,25 +12991,13 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.25.4: - dependencies: - caniuse-lite: 1.0.30001739 - electron-to-chromium: 1.5.212 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.4) - - browserslist@4.26.3: - dependencies: - baseline-browser-mapping: 2.8.16 - caniuse-lite: 1.0.30001750 - electron-to-chromium: 1.5.234 - node-releases: 2.0.23 - update-browserslist-db: 1.1.3(browserslist@4.26.3) - - bser@2.1.1: + browserslist@4.28.0: dependencies: - node-int64: 0.4.0 - optional: true + baseline-browser-mapping: 2.8.32 + caniuse-lite: 1.0.30001757 + electron-to-chromium: 1.5.263 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.28.0) buffer-crc32@0.2.13: {} @@ -17777,10 +13019,7 @@ snapshots: bundle-name@4.1.0: dependencies: - run-applescript: 7.0.0 - - bytes@3.1.2: - optional: true + run-applescript: 7.1.0 cac@6.7.14: {} @@ -17791,14 +13030,6 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - call-bind@1.0.8: dependencies: call-bind-apply-helpers: 1.0.2 @@ -17811,32 +13042,11 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - caller-callsite@2.0.0: - dependencies: - callsites: 2.0.0 - optional: true - - caller-path@2.0.0: - dependencies: - caller-callsite: 2.0.0 - optional: true - - callsites@2.0.0: - optional: true - callsites@3.1.0: {} camelcase-css@2.0.1: {} - camelcase@5.3.1: - optional: true - - camelcase@6.3.0: - optional: true - - caniuse-lite@1.0.30001739: {} - - caniuse-lite@1.0.30001750: {} + caniuse-lite@1.0.30001757: {} caseless@0.12.0: {} @@ -17850,12 +13060,6 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -17871,14 +13075,10 @@ snapshots: character-reference-invalid@1.1.4: {} - chardet@0.7.0: {} - - chardet@2.1.0: {} + chardet@2.1.1: {} check-error@2.1.1: {} - check-more-types@2.24.0: {} - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -17891,22 +13091,9 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chrome-launcher@0.15.2: - dependencies: - '@types/node': 22.18.0 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 - transitivePeerDependencies: - - supports-color - optional: true - - ci-info@2.0.0: - optional: true - ci-info@3.9.0: {} - ci-info@4.3.0: {} + ci-info@4.3.1: {} classnames@2.5.1: {} @@ -17935,13 +13122,6 @@ snapshots: cli-width@3.0.0: {} - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - optional: true - cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -17960,21 +13140,12 @@ snapshots: clsx@2.1.1: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} - colorette@1.4.0: - optional: true - colorette@2.0.20: {} colors@1.4.0: @@ -17984,13 +13155,7 @@ snapshots: dependencies: delayed-stream: 1.0.0 - command-exists@1.2.9: - optional: true - - commander@14.0.1: {} - - commander@2.20.3: - optional: true + commander@14.0.2: {} commander@4.1.1: {} @@ -18011,29 +13176,11 @@ snapshots: crc32-stream: 6.0.0 is-stream: 2.0.1 normalize-path: 3.0.0 - readable-stream: 4.5.2 - - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - optional: true - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - optional: true + readable-stream: 4.7.0 compute-scroll-into-view@1.0.20: {} - compute-scroll-into-view@3.1.0: {} + compute-scroll-into-view@3.1.1: {} computeds@0.0.1: {} @@ -18041,58 +13188,36 @@ snapshots: conf@12.0.0: dependencies: - ajv: 8.16.0 - ajv-formats: 2.1.1(ajv@8.16.0) - atomically: 2.0.3 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + atomically: 2.1.0 debounce-fn: 5.1.2 dot-prop: 8.0.2 env-paths: 3.0.0 - json-schema-typed: 8.0.1 - semver: 7.6.2 + json-schema-typed: 8.0.2 + semver: 7.7.3 uint8array-extras: 0.3.0 - connect@3.7.0: - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - optional: true - convert-source-map@2.0.0: {} cookie@0.4.2: {} - cookie@0.6.0: {} - - core-js-compat@3.45.1: - dependencies: - browserslist: 4.25.4 + cookie@0.7.2: {} - core-js-compat@3.46.0: + core-js-compat@3.47.0: dependencies: - browserslist: 4.26.3 + browserslist: 4.28.0 core-util-is@1.0.2: {} core-util-is@1.0.3: {} - cosmiconfig@5.2.1: - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.1 - parse-json: 4.0.0 - optional: true - crc-32@1.2.2: {} crc32-stream@6.0.0: dependencies: crc-32: 1.2.2 - readable-stream: 4.5.2 + readable-stream: 4.7.0 create-require@1.1.1: {} @@ -18105,43 +13230,43 @@ snapshots: css-select@4.3.0: dependencies: boolbase: 1.0.0 - css-what: 6.1.0 + css-what: 6.2.2 domhandler: 4.3.1 domutils: 2.8.0 nth-check: 2.1.1 - css-what@6.1.0: {} + css-what@6.2.2: {} css.escape@1.5.1: {} cssesc@3.0.0: {} - csstype@3.1.3: {} + csstype@3.2.3: {} - cypress-real-events@1.14.0(cypress@15.0.0): + cypress-real-events@1.15.0(cypress@15.7.0): dependencies: - cypress: 15.0.0 + cypress: 15.7.0 - cypress@15.0.0: + cypress@15.7.0: dependencies: '@cypress/request': 3.0.9 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) '@types/sinonjs__fake-timers': 8.1.1 - '@types/sizzle': 2.3.8 + '@types/sizzle': 2.3.10 + '@types/tmp': 0.2.6 arch: 2.2.0 blob-util: 2.0.2 bluebird: 3.7.2 buffer: 5.7.1 cachedir: 2.4.0 chalk: 4.1.2 - check-more-types: 2.24.0 - ci-info: 4.3.0 + ci-info: 4.3.1 cli-cursor: 3.1.0 cli-table3: 0.6.1 commander: 6.2.1 common-tags: 1.8.2 - dayjs: 1.11.13 - debug: 4.4.1(supports-color@8.1.1) + dayjs: 1.11.19 + debug: 4.4.3(supports-color@8.1.1) enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 @@ -18149,10 +13274,8 @@ snapshots: extract-zip: 2.0.1(supports-color@8.1.1) figures: 3.2.0 fs-extra: 9.1.0 - getos: 3.2.1 hasha: 5.2.2 is-installed-globally: 0.4.0 - lazy-ass: 1.6.0 listr2: 3.14.0(enquirer@2.4.1) lodash: 4.17.21 log-symbols: 4.1.0 @@ -18162,8 +13285,8 @@ snapshots: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.7.2 supports-color: 8.1.1 + systeminformation: 5.27.7 tmp: 0.2.5 tree-kill: 1.2.2 untildify: 4.0.0 @@ -18231,35 +13354,17 @@ snapshots: data-uri-to-buffer@4.0.1: {} - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.0: + data-view-byte-length@1.0.2: dependencies: - call-bind: 1.0.7 + call-bound: 1.0.4 es-errors: 1.3.0 - is-data-view: 1.0.1 + is-data-view: 1.0.2 data-view-byte-offset@1.0.1: dependencies: @@ -18271,10 +13376,7 @@ snapshots: date-fns@3.6.0: {} - dayjs@1.11.13: {} - - dayjs@1.11.18: - optional: true + dayjs@1.11.19: {} de-indent@1.0.2: {} @@ -18282,70 +13384,34 @@ snapshots: dependencies: mimic-fn: 4.0.0 - debounce@1.2.1: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - optional: true - debug@3.2.7(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: supports-color: 8.1.1 - debug@4.4.1(supports-color@8.1.1): + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 optionalDependencies: supports-color: 8.1.1 - debug@4.4.3: - dependencies: - ms: 2.1.3 - - decamelize@1.2.0: - optional: true + decimal.js@10.6.0: {} - decode-named-character-reference@1.0.2: + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 deep-eql@5.0.2: {} - deep-equal@2.2.3: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - es-get-iterator: 1.1.3 - get-intrinsic: 1.3.0 - is-arguments: 1.2.0 - is-array-buffer: 3.0.5 - is-date-object: 1.1.0 - is-regex: 1.2.1 - is-shared-array-buffer: 1.0.4 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.7 - regexp.prototype.flags: 1.5.4 - side-channel: 1.1.0 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.19 - deep-is@0.1.4: {} - deepmerge@4.3.1: - optional: true - - default-browser-id@5.0.0: {} + default-browser-id@5.0.1: {} - default-browser@5.2.1: + default-browser@5.4.0: dependencies: bundle-name: 4.1.0 - default-browser-id: 5.0.0 + default-browser-id: 5.0.1 defaults@1.0.4: dependencies: @@ -18353,9 +13419,9 @@ snapshots: define-data-property@1.1.4: dependencies: - es-define-property: 1.0.0 + es-define-property: 1.0.1 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.2.0 define-lazy-prop@3.0.0: {} @@ -18371,23 +13437,16 @@ snapshots: delayed-stream@1.0.0: {} - denodeify@1.2.1: - optional: true - - depd@2.0.0: - optional: true - dequal@2.0.3: {} - destroy@1.2.0: - optional: true - detect-indent@6.1.0: {} detect-node-es@1.1.0: {} didyoumean@1.2.2: {} + diff-sequences@27.5.1: {} + diff-sequences@29.6.3: {} diff@4.0.2: {} @@ -18454,7 +13513,7 @@ snapshots: downshift@9.0.10(react@18.3.1): dependencies: '@babel/runtime': 7.28.4 - compute-scroll-into-view: 3.1.0 + compute-scroll-into-view: 3.1.1 prop-types: 15.8.1 react: 18.3.1 react-is: 18.2.0 @@ -18473,24 +13532,13 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 - ee-first@1.1.1: - optional: true - - electron-to-chromium@1.5.212: {} - - electron-to-chromium@1.5.234: {} + electron-to-chromium@1.5.263: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - encodeurl@1.0.2: - optional: true - - encodeurl@2.0.0: - optional: true - - end-of-stream@1.4.4: + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -18505,74 +13553,6 @@ snapshots: env-paths@3.0.0: {} - envinfo@7.17.0: - optional: true - - error-ex@1.3.4: - dependencies: - is-arrayish: 0.2.1 - optional: true - - error-stack-parser@2.1.4: - dependencies: - stackframe: 1.3.4 - optional: true - - errorhandler@1.5.1: - dependencies: - accepts: 1.3.8 - escape-html: 1.0.3 - optional: true - - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.3.0 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 @@ -18630,26 +13610,10 @@ snapshots: unbox-primitive: 1.1.0 which-typed-array: 1.1.19 - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.8 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - is-arguments: 1.2.0 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.1.1 - isarray: 2.0.5 - stop-iteration-iterator: 1.1.0 - es-module-lexer@0.4.1: {} es-module-lexer@1.7.0: {} @@ -18665,25 +13629,15 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - es-shim-unscopables@1.1.0: dependencies: hasown: 2.0.2 - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + is-date-object: 1.1.0 + is-symbol: 1.1.1 esbuild@0.21.5: optionalDependencies: @@ -18711,34 +13665,34 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - esbuild@0.25.9: + esbuild@0.25.12: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.9 - '@esbuild/android-arm': 0.25.9 - '@esbuild/android-arm64': 0.25.9 - '@esbuild/android-x64': 0.25.9 - '@esbuild/darwin-arm64': 0.25.9 - '@esbuild/darwin-x64': 0.25.9 - '@esbuild/freebsd-arm64': 0.25.9 - '@esbuild/freebsd-x64': 0.25.9 - '@esbuild/linux-arm': 0.25.9 - '@esbuild/linux-arm64': 0.25.9 - '@esbuild/linux-ia32': 0.25.9 - '@esbuild/linux-loong64': 0.25.9 - '@esbuild/linux-mips64el': 0.25.9 - '@esbuild/linux-ppc64': 0.25.9 - '@esbuild/linux-riscv64': 0.25.9 - '@esbuild/linux-s390x': 0.25.9 - '@esbuild/linux-x64': 0.25.9 - '@esbuild/netbsd-arm64': 0.25.9 - '@esbuild/netbsd-x64': 0.25.9 - '@esbuild/openbsd-arm64': 0.25.9 - '@esbuild/openbsd-x64': 0.25.9 - '@esbuild/openharmony-arm64': 0.25.9 - '@esbuild/sunos-x64': 0.25.9 - '@esbuild/win32-arm64': 0.25.9 - '@esbuild/win32-ia32': 0.25.9 - '@esbuild/win32-x64': 0.25.9 + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 escalade@3.2.0: {} @@ -18746,25 +13700,22 @@ snapshots: escape-string-regexp@1.0.5: {} - escape-string-regexp@2.0.0: - optional: true - escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.6.5(eslint@9.34.0(jiti@1.21.6)): + eslint-compat-utils@0.6.5(eslint@9.39.1(jiti@1.21.7)): dependencies: - eslint: 9.34.0(jiti@1.21.6) - semver: 7.7.2 + eslint: 9.39.1(jiti@1.21.7) + semver: 7.7.3 - eslint-config-prettier@10.1.8(eslint@9.34.0(jiti@1.21.6)): + eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@1.21.7)): dependencies: - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) eslint-import-context@0.1.9(unrs-resolver@1.11.1): dependencies: - get-tsconfig: 4.10.1 + get-tsconfig: 4.13.0 stable-hash-x: 0.2.0 optionalDependencies: unrs-resolver: 1.11.1 @@ -18773,43 +13724,43 @@ snapshots: dependencies: debug: 3.2.7(supports-color@8.1.1) is-core-module: 2.16.1 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@1.21.6)): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@1.21.7)): dependencies: - debug: 4.4.1(supports-color@8.1.1) - eslint: 9.34.0(jiti@1.21.6) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.1(jiti@1.21.7) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) - get-tsconfig: 4.10.1 + get-tsconfig: 4.13.0 is-bun-module: 2.0.0 stable-hash-x: 0.2.0 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@1.21.6)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1(jiti@1.21.7)) transitivePeerDependencies: - supports-color - eslint-json-compat-utils@0.2.1(eslint@9.34.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.39.1(jiti@1.21.7))(jsonc-eslint-parser@2.4.1): dependencies: - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) esquery: 1.6.0 - jsonc-eslint-parser: 2.4.0 + jsonc-eslint-parser: 2.4.1 - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@1.21.6)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1(jiti@1.21.7)): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) + '@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.34.0(jiti@1.21.6)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.39.1(jiti@1.21.7)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1(jiti@1.21.7)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -18818,9 +13769,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.34.0(jiti@1.21.6)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.39.1(jiti@1.21.7)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -18832,242 +13783,219 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + '@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsonc@2.20.1(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-jsonc@2.21.0(eslint@9.39.1(jiti@1.21.7)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@1.21.6)) - eslint: 9.34.0(jiti@1.21.6) - eslint-compat-utils: 0.6.5(eslint@9.34.0(jiti@1.21.6)) - eslint-json-compat-utils: 0.2.1(eslint@9.34.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7)) + diff-sequences: 27.5.1 + eslint: 9.39.1(jiti@1.21.7) + eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@1.21.7)) + eslint-json-compat-utils: 0.2.1(eslint@9.39.1(jiti@1.21.7))(jsonc-eslint-parser@2.4.1) espree: 10.4.0 graphemer: 1.4.0 - jsonc-eslint-parser: 2.4.0 + jsonc-eslint-parser: 2.4.1 natural-compare: 1.4.0 - synckit: 0.6.2 + synckit: 0.11.11 transitivePeerDependencies: - '@eslint/json' - eslint-plugin-jsx-a11y-x@0.1.1(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-jsx-a11y-x@0.1.1(eslint@9.39.1(jiti@1.21.7)): dependencies: aria-query: 5.3.2 ast-types-flow: 0.0.8 - axe-core: 4.10.3 + axe-core: 4.11.0 axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) jsx-ast-utils-x: 0.1.0 language-tags: 1.0.9 minimatch: 3.1.2 - eslint-plugin-lodash@8.0.0(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-lodash@8.0.0(eslint@9.39.1(jiti@1.21.7)): dependencies: - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) lodash: 4.17.21 - eslint-plugin-markdown@5.1.0(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-markdown@5.1.0(eslint@9.39.1(jiti@1.21.7)): dependencies: - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-notice@1.0.0(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-notice@1.0.0(eslint@9.39.1(jiti@1.21.7)): dependencies: - eslint: 9.34.0(jiti@1.21.6) + eslint: 9.39.1(jiti@1.21.7) find-root: 1.1.0 lodash: 4.17.21 metric-lcs: 0.1.2 - eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.34.0(jiti@1.21.6)))(eslint@9.34.0(jiti@1.21.6))(prettier@3.6.2): + eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.1(jiti@1.21.7)))(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3): dependencies: - eslint: 9.34.0(jiti@1.21.6) - prettier: 3.6.2 + eslint: 9.39.1(jiti@1.21.7) + prettier: 3.7.3 prettier-linter-helpers: 1.0.0 synckit: 0.11.11 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@9.34.0(jiti@1.21.6)) - - eslint-plugin-promise@7.2.1(eslint@9.34.0(jiti@1.21.6)): - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@1.21.6)) - eslint: 9.34.0(jiti@1.21.6) - - eslint-plugin-react-debug@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/core': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - optionalDependencies: - typescript: 5.9.2 + eslint-config-prettier: 10.1.8(eslint@9.39.1(jiti@1.21.7)) + + eslint-plugin-promise@7.2.1(eslint@9.39.1(jiti@1.21.7)): + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7)) + eslint: 9.39.1(jiti@1.21.7) + + eslint-plugin-react-dom@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/core': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/var': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + compare-versions: 6.1.1 + eslint: 9.39.1(jiti@1.21.7) + string-ts: 2.3.1 + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-dom@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/core': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - compare-versions: 6.1.1 - eslint: 9.34.0(jiti@1.21.6) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - optionalDependencies: - typescript: 5.9.2 + eslint-plugin-react-hooks-extra@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/core': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/var': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + string-ts: 2.3.1 + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks-extra@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/core': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - optionalDependencies: - typescript: 5.9.2 + eslint-plugin-react-hooks@5.2.0(eslint@9.39.1(jiti@1.21.7)): + dependencies: + eslint: 9.39.1(jiti@1.21.7) + + eslint-plugin-react-hooks@7.0.1(eslint@9.39.1(jiti@1.21.7)): + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + eslint: 9.39.1(jiti@1.21.7) + hermes-parser: 0.25.1 + zod: 3.25.76 + zod-validation-error: 4.0.2(zod@3.25.76) transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.2.0(eslint@9.34.0(jiti@1.21.6)): - dependencies: - eslint: 9.34.0(jiti@1.21.6) - - eslint-plugin-react-naming-convention@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/core': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - optionalDependencies: - typescript: 5.9.2 + eslint-plugin-react-naming-convention@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/core': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/var': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + string-ts: 2.3.1 + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-web-api@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/core': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - optionalDependencies: - typescript: 5.9.2 + eslint-plugin-react-web-api@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/core': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/var': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + string-ts: 2.3.1 + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-x@2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(ts-api-utils@2.1.0(typescript@5.9.2))(typescript@5.9.2): - dependencies: - '@eslint-react/ast': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/core': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/eff': 2.0.0-next.162 - '@eslint-react/kit': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/shared': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@eslint-react/var': 2.0.0-next.162(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.42.0 - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/types': 8.42.0 - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) + eslint-plugin-react-x@2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/core': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/eff': 2.3.10 + '@eslint-react/shared': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@eslint-react/var': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.48.1 + '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/types': 8.48.1 + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) compare-versions: 6.1.1 - eslint: 9.34.0(jiti@1.21.6) - is-immutable-type: 5.0.1(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - string-ts: 2.2.1 - ts-pattern: 5.8.0 - optionalDependencies: - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + eslint: 9.39.1(jiti@1.21.7) + is-immutable-type: 5.0.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + string-ts: 2.3.1 + ts-api-utils: 2.1.0(typescript@5.9.3) + ts-pattern: 5.9.0 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-tailwindcss@3.18.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))): - dependencies: - fast-glob: 3.3.3 - postcss: 8.5.6 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - - eslint-plugin-tailwindcss@3.18.2(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))): + eslint-plugin-tailwindcss@3.18.2(tailwindcss@3.4.18(yaml@2.8.2)): dependencies: fast-glob: 3.3.3 postcss: 8.5.6 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)) + tailwindcss: 3.4.18(yaml@2.8.2) - eslint-plugin-unicorn@60.0.0(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-unicorn@62.0.0(eslint@9.39.1(jiti@1.21.7)): dependencies: - '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@1.21.6)) - '@eslint/plugin-kit': 0.3.5 + '@babel/helper-validator-identifier': 7.28.5 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7)) + '@eslint/plugin-kit': 0.4.1 change-case: 5.4.4 - ci-info: 4.3.0 + ci-info: 4.3.1 clean-regexp: 1.0.0 - core-js-compat: 3.45.1 - eslint: 9.34.0(jiti@1.21.6) + core-js-compat: 3.47.0 + eslint: 9.39.1(jiti@1.21.7) esquery: 1.6.0 find-up-simple: 1.0.1 - globals: 16.3.0 + globals: 16.5.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 jsesc: 3.1.0 pluralize: 8.0.0 regexp-tree: 0.1.27 - regjsparser: 0.12.0 - semver: 7.7.2 - strip-indent: 4.0.0 + regjsparser: 0.13.0 + semver: 7.7.3 + strip-indent: 4.1.1 - eslint-plugin-yml@1.18.0(eslint@9.34.0(jiti@1.21.6)): + eslint-plugin-yml@1.19.0(eslint@9.39.1(jiti@1.21.7)): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) + diff-sequences: 27.5.1 escape-string-regexp: 4.0.0 - eslint: 9.34.0(jiti@1.21.6) - eslint-compat-utils: 0.6.5(eslint@9.34.0(jiti@1.21.6)) + eslint: 9.39.1(jiti@1.21.7) + eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@1.21.7)) natural-compare: 1.4.0 - yaml-eslint-parser: 1.3.0 + yaml-eslint-parser: 1.3.1 transitivePeerDependencies: - supports-color @@ -19080,25 +14008,24 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.34.0(jiti@1.21.6): - dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.3.1 - '@eslint/core': 0.15.2 - '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.34.0 - '@eslint/plugin-kit': 0.3.5 - '@humanfs/node': 0.16.6 + eslint@9.39.1(jiti@1.21.7): + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@1.21.7)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -19118,7 +14045,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 1.21.6 + jiti: 1.21.7 transitivePeerDependencies: - supports-color @@ -19154,13 +14081,16 @@ snapshots: esutils@2.0.3: {} - etag@1.8.1: - optional: true - event-target-shim@5.0.1: {} eventemitter2@6.4.7: {} + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + events@3.3.0: {} execa@4.1.0: @@ -19175,20 +14105,7 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - optional: true - - execa@9.6.0: + execa@9.6.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 @@ -19209,22 +14126,13 @@ snapshots: expect-type@1.2.2: {} - exponential-backoff@3.1.3: - optional: true - extend@3.0.2: {} extendable-error@0.1.7: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - extract-zip@2.0.1(supports-color@8.1.1): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -19257,8 +14165,8 @@ snapshots: fast-json-stringify@5.16.1: dependencies: '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.16.0 - ajv-formats: 3.0.1(ajv@8.16.0) + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) fast-deep-equal: 3.1.3 fast-uri: 2.4.0 json-schema-ref-resolver: 1.0.1 @@ -19270,49 +14178,35 @@ snapshots: dependencies: fast-decode-uri-component: 1.0.1 - fast-redact@3.5.0: {} - fast-uri@2.4.0: {} - fast-xml-parser@4.5.3: - dependencies: - strnum: 1.1.2 - optional: true + fast-uri@3.1.0: {} fastify-plugin@4.5.1: {} - fastify@4.28.0: + fastify@4.29.1: dependencies: '@fastify/ajv-compiler': 3.6.0 '@fastify/error': 3.4.1 '@fastify/fast-json-stringify-compiler': 4.3.0 abstract-logging: 2.0.1 - avvio: 8.3.2 + avvio: 8.4.0 fast-content-type-parse: 1.1.0 fast-json-stringify: 5.16.1 - find-my-way: 8.2.0 - light-my-request: 5.13.0 - pino: 9.2.0 + find-my-way: 8.2.2 + light-my-request: 5.14.0 + pino: 9.14.0 process-warning: 3.0.0 proxy-addr: 2.0.7 rfdc: 1.4.1 secure-json-parse: 2.7.0 - semver: 7.6.2 + semver: 7.7.3 toad-cache: 3.7.0 - fastq@1.17.1: - dependencies: - reusify: 1.0.4 - fastq@1.19.1: dependencies: reusify: 1.1.0 - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - optional: true - fd-slicer@1.1.0: dependencies: pend: 1.2.0 @@ -19344,26 +14238,13 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@1.1.2: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - optional: true - find-cache-dir@2.1.0: dependencies: commondir: 1.0.1 make-dir: 2.1.0 pkg-dir: 3.0.0 - find-my-way@8.2.0: + find-my-way@8.2.2: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 @@ -19399,14 +14280,7 @@ snapshots: flatted@3.3.3: {} - flow-enums-runtime@0.0.6: - optional: true - - flow-parser@0.287.0: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 + flow-parser@0.291.0: {} for-each@0.3.5: dependencies: @@ -19419,7 +14293,7 @@ snapshots: forever-agent@0.6.1: {} - form-data@4.0.4: + form-data@4.0.5: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -19433,39 +14307,21 @@ snapshots: forwarded@0.2.0: {} - fraction.js@4.3.7: {} - - framer-motion@10.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - tslib: 2.8.1 - optionalDependencies: - '@emotion/is-prop-valid': 0.8.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + fraction.js@5.3.4: {} - framer-motion@12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + framer-motion@12.23.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: motion-dom: 12.23.23 motion-utils: 12.23.6 tslib: 2.8.1 optionalDependencies: - '@emotion/is-prop-valid': 0.8.8 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - fresh@0.5.2: - optional: true - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - fs-extra@11.3.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-extra@7.0.1: @@ -19484,7 +14340,7 @@ snapshots: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs.realpath@1.0.0: {} @@ -19494,13 +14350,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - function.prototype.name@1.1.8: dependencies: call-bind: 1.0.8 @@ -19512,20 +14361,14 @@ snapshots: functions-have-names@1.2.3: {} + generator-function@2.0.1: {} + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} get-func-name@2.0.2: {} - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -19550,36 +14393,23 @@ snapshots: get-stream@5.2.0: dependencies: - pump: 3.0.0 - - get-stream@6.0.1: - optional: true + pump: 3.0.3 get-stream@9.0.1: dependencies: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.10.1: + get-tsconfig@4.13.0: dependencies: resolve-pkg-maps: 1.0.0 - getos@3.2.1: - dependencies: - async: 3.2.5 - getpass@0.1.7: dependencies: assert-plus: 1.0.0 @@ -19594,23 +14424,23 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.4.2: + glob@10.5.0: dependencies: foreground-child: 3.3.1 - jackspeak: 3.4.0 + jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.0.3: + glob@11.1.0: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.0.3 + minimatch: 10.1.1 minipass: 7.1.2 - package-json-from-dist: 1.0.0 - path-scurry: 2.0.0 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.1 glob@7.2.3: dependencies: @@ -19625,11 +14455,9 @@ snapshots: dependencies: ini: 2.0.0 - globals@11.12.0: {} - globals@14.0.0: {} - globals@16.3.0: {} + globals@16.5.0: {} globalthis@1.0.4: dependencies: @@ -19645,47 +14473,37 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - gopd@1.2.0: {} graceful-fs@4.2.11: {} graphemer@1.4.0: {} - graphql@16.11.0: {} + graphql@16.12.0: {} happy-dom@18.0.1: dependencies: - '@types/node': 20.14.9 + '@types/node': 20.19.25 '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 - has-bigints@1.0.2: {} - - has-flag@3.0.0: {} + has-bigints@1.1.0: {} has-flag@4.0.0: {} has-property-descriptors@1.0.2: dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} + es-define-property: 1.0.1 has-proto@1.2.0: dependencies: dunder-proto: 1.0.1 - has-symbols@1.0.3: {} - has-symbols@1.1.0: {} has-tostringtag@1.0.2: dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 hasha@5.2.2: dependencies: @@ -19700,26 +14518,11 @@ snapshots: headers-polyfill@3.2.5: {} - hermes-estree@0.19.1: - optional: true - - hermes-estree@0.23.1: - optional: true - - hermes-parser@0.19.1: - dependencies: - hermes-estree: 0.19.1 - optional: true - - hermes-parser@0.23.1: - dependencies: - hermes-estree: 0.23.1 - optional: true + hermes-estree@0.25.1: {} - hermes-profile-transformer@0.0.6: + hermes-parser@0.25.1: dependencies: - source-map: 0.7.6 - optional: true + hermes-estree: 0.25.1 hoist-non-react-statics@3.3.2: dependencies: @@ -19727,34 +14530,18 @@ snapshots: html-escaper@2.0.2: {} - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - optional: true - http-signature@1.4.0: dependencies: assert-plus: 1.0.0 jsprim: 2.0.2 sshpk: 1.18.0 - human-id@1.0.2: {} + human-id@4.1.3: {} human-signals@1.1.1: {} - human-signals@2.1.0: - optional: true - human-signals@8.0.1: {} - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - iconv-lite@0.7.0: dependencies: safer-buffer: 2.1.2 @@ -19765,20 +14552,9 @@ snapshots: ignore@7.0.5: {} - image-size@1.2.1: - dependencies: - queue: 6.0.2 - optional: true - - immer@10.1.3: {} - - import-fresh@2.0.0: - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 - optional: true + immer@10.2.0: {} - import-fresh@3.3.0: + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 @@ -19800,29 +14576,9 @@ snapshots: ini@2.0.0: {} - inquirer@8.2.7(@types/node@22.18.0): - dependencies: - '@inquirer/external-editor': 1.0.2(@types/node@22.18.0) - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.2 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 6.2.0 - transitivePeerDependencies: - - '@types/node' - - inquirer@8.2.7(@types/node@24.7.2): + inquirer@8.2.7(@types/node@22.19.1): dependencies: - '@inquirer/external-editor': 1.0.2(@types/node@24.7.2) + '@inquirer/external-editor': 1.0.3(@types/node@22.19.1) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 @@ -19840,12 +14596,6 @@ snapshots: transitivePeerDependencies: - '@types/node' - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -19854,17 +14604,12 @@ snapshots: internmap@2.0.3: {} - intl-messageformat@10.5.14: - dependencies: - '@formatjs/ecma402-abstract': 2.0.0 - '@formatjs/fast-memoize': 2.2.0 - '@formatjs/icu-messageformat-parser': 2.7.8 - tslib: 2.8.1 - - invariant@2.2.4: + intl-messageformat@10.7.18: dependencies: - loose-envify: 1.4.0 - optional: true + '@formatjs/ecma402-abstract': 2.3.6 + '@formatjs/fast-memoize': 2.2.7 + '@formatjs/icu-messageformat-parser': 2.11.4 + tslib: 2.8.1 ipaddr.js@1.9.1: {} @@ -19880,41 +14625,28 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.3.0 - is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-arrayish@0.2.1: - optional: true - - is-async-function@2.0.0: + is-async-function@2.1.1: dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 has-tostringtag: 1.0.2 - - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 + safe-regex-test: 1.1.0 is-bigint@1.1.0: dependencies: - has-bigints: 1.0.2 + has-bigints: 1.1.0 is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 @@ -19928,7 +14660,7 @@ snapshots: is-bun-module@2.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.3 is-callable@1.2.7: {} @@ -19936,20 +14668,12 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - is-data-view@1.0.2: dependencies: call-bound: 1.0.4 get-intrinsic: 1.3.0 is-typed-array: 1.1.15 - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-date-object@1.1.0: dependencies: call-bound: 1.0.4 @@ -19957,32 +14681,20 @@ snapshots: is-decimal@1.0.4: {} - is-directory@0.3.1: - optional: true - - is-docker@2.2.1: - optional: true - is-docker@3.0.0: {} is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.8 - is-finalizationregistry@1.1.1: dependencies: call-bound: 1.0.4 - is-fullwidth-code-point@2.0.0: - optional: true - is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.1.0: + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 + generator-function: 2.0.1 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 @@ -19995,13 +14707,13 @@ snapshots: is-hotkey@0.2.0: {} - is-immutable-type@5.0.1(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): + is-immutable-type@5.0.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): dependencies: - '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - ts-api-utils: 2.1.0(typescript@5.9.2) - ts-declaration-location: 1.0.7(typescript@5.9.2) - typescript: 5.9.2 + '@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + ts-api-utils: 2.1.0(typescript@5.9.3) + ts-declaration-location: 1.0.7(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -20022,10 +14734,6 @@ snapshots: is-node-process@1.2.0: {} - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -20045,11 +14753,6 @@ snapshots: is-plain-object@5.0.0: {} - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -20061,10 +14764,6 @@ snapshots: is-set@2.0.3: {} - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - is-shared-array-buffer@1.0.4: dependencies: call-bound: 1.0.4 @@ -20073,10 +14772,6 @@ snapshots: is-stream@4.0.1: {} - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -20086,20 +14781,12 @@ snapshots: dependencies: better-path-resolve: 1.0.0 - is-symbol@1.0.4: - dependencies: - has-symbols: 1.1.0 - is-symbol@1.1.1: dependencies: call-bound: 1.0.4 has-symbols: 1.1.0 safe-regex-test: 1.1.0 - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.19 @@ -20112,29 +14799,17 @@ snapshots: is-weakmap@2.0.2: {} - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - is-weakref@1.1.1: dependencies: call-bound: 1.0.4 - is-weakset@2.0.3: + is-weakset@2.0.4: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.4 get-intrinsic: 1.3.0 is-windows@1.0.2: {} - is-wsl@1.1.0: - optional: true - - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - optional: true - is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -20161,18 +14836,18 @@ snapshots: istanbul-lib-source-maps@5.0.6: dependencies: - '@jridgewell/trace-mapping': 0.3.30 - debug: 4.4.1(supports-color@8.1.1) + '@jridgewell/trace-mapping': 0.3.31 + debug: 4.4.3(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color - istanbul-reports@3.1.7: + istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@3.4.0: + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -20182,95 +14857,27 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 - jest-environment-node@29.7.0: - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - optional: true - - jest-get-type@29.6.3: - optional: true - - jest-message-util@29.7.0: - dependencies: - '@babel/code-frame': 7.27.1 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - optional: true - - jest-mock@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - jest-util: 29.7.0 - optional: true - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 22.18.0 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - optional: true - - jest-validate@29.7.0: - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - optional: true - - jest-worker@29.7.0: - dependencies: - '@types/node': 22.18.0 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - optional: true - - jiti@1.21.6: {} + jiti@1.21.7: {} jju@1.4.0: {} - joi@17.13.3: - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 - optional: true - - jotai-optics@0.3.2(jotai@2.8.3(@types/react@18.3.25)(react@18.3.1))(optics-ts@2.4.1): + jotai-optics@0.3.2(jotai@2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1))(optics-ts@2.4.1): dependencies: - jotai: 2.8.3(@types/react@18.3.25)(react@18.3.1) + jotai: 2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1) optics-ts: 2.4.1 - jotai-x@1.2.3(@types/react@18.3.25)(jotai@2.8.3(@types/react@18.3.25)(react@18.3.1))(react@18.3.1): + jotai-x@1.2.4(@types/react@18.3.27)(jotai@2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1))(react@18.3.1): dependencies: - jotai: 2.8.3(@types/react@18.3.25)(react@18.3.1) + jotai: 2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 react: 18.3.1 - jotai@2.8.3(@types/react@18.3.25)(react@18.3.1): + jotai@2.15.2(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(react@18.3.1): optionalDependencies: - '@types/react': 18.3.25 + '@babel/core': 7.28.5 + '@babel/template': 7.27.2 + '@types/react': 18.3.27 react: 18.3.1 js-levenshtein@1.1.6: {} @@ -20279,63 +14886,32 @@ snapshots: js-tokens@9.0.1: {} - js-yaml@3.14.1: + js-yaml@3.14.2: dependencies: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 jsbn@0.1.1: {} - jsc-android@250231.0.0: - optional: true - - jsc-safe-url@0.2.4: - optional: true - - jscodeshift@0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.3)): - dependencies: - '@babel/core': 7.28.4 - '@babel/parser': 7.28.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) - '@babel/preset-env': 7.28.3(@babel/core@7.28.3) - '@babel/preset-flow': 7.27.1(@babel/core@7.28.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) - '@babel/register': 7.28.3(@babel/core@7.28.4) - babel-core: 7.0.0-bridge.0(@babel/core@7.28.4) - chalk: 4.1.2 - flow-parser: 0.287.0 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.21.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - - jscodeshift@0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.4)): - dependencies: - '@babel/core': 7.28.4 - '@babel/parser': 7.28.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.4) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.4) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) - '@babel/preset-env': 7.28.3(@babel/core@7.28.4) - '@babel/preset-flow': 7.27.1(@babel/core@7.28.4) - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) - '@babel/register': 7.28.3(@babel/core@7.28.4) - babel-core: 7.0.0-bridge.0(@babel/core@7.28.4) + jscodeshift@0.14.0(@babel/preset-env@7.28.5(@babel/core@7.28.5)): + dependencies: + '@babel/core': 7.28.5 + '@babel/parser': 7.28.5 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.5) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.5) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) + '@babel/preset-env': 7.28.5(@babel/core@7.28.5) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.5) + '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) + '@babel/register': 7.28.3(@babel/core@7.28.5) + babel-core: 7.0.0-bridge.0(@babel/core@7.28.5) chalk: 4.1.2 - flow-parser: 0.287.0 + flow-parser: 0.291.0 graceful-fs: 4.2.11 micromatch: 4.0.8 neo-async: 2.6.2 @@ -20345,19 +14921,11 @@ snapshots: write-file-atomic: 2.4.3 transitivePeerDependencies: - supports-color - optional: true - - jsesc@2.5.2: {} - - jsesc@3.0.2: {} jsesc@3.1.0: {} json-buffer@3.0.1: {} - json-parse-better-errors@1.0.2: - optional: true - json-schema-ref-resolver@1.0.1: dependencies: fast-deep-equal: 3.1.3 @@ -20366,7 +14934,7 @@ snapshots: json-schema-traverse@1.0.0: {} - json-schema-typed@8.0.1: {} + json-schema-typed@8.0.2: {} json-schema@0.4.0: {} @@ -20380,18 +14948,18 @@ snapshots: json5@2.2.3: {} - jsonc-eslint-parser@2.4.0: + jsonc-eslint-parser@2.4.1: dependencies: acorn: 8.15.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.7.2 + semver: 7.7.3 jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.1.0: + jsonfile@6.2.0: dependencies: universalify: 2.0.1 optionalDependencies: @@ -20424,33 +14992,20 @@ snapshots: dependencies: language-subtag-registry: 0.3.23 - lazy-ass@1.6.0: {} - lazystream@1.0.1: dependencies: readable-stream: 2.3.8 - leven@3.1.0: - optional: true - levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - light-my-request@5.13.0: + light-my-request@5.14.0: dependencies: - cookie: 0.6.0 + cookie: 0.7.2 process-warning: 3.0.0 - set-cookie-parser: 2.6.0 - - lighthouse-logger@1.4.2: - dependencies: - debug: 2.6.9 - marky: 1.3.0 - transitivePeerDependencies: - - supports-color - optional: true + set-cookie-parser: 2.7.2 lilconfig@3.1.3: {} @@ -20463,7 +15018,7 @@ snapshots: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.4.1 - rxjs: 7.8.1 + rxjs: 7.8.2 through: 2.3.8 wrap-ansi: 7.0.0 optionalDependencies: @@ -20502,9 +15057,6 @@ snapshots: lodash.startcase@4.4.0: {} - lodash.throttle@4.1.1: - optional: true - lodash@4.17.21: {} log-symbols@4.1.0: @@ -20519,13 +15071,6 @@ snapshots: slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - logkitty@0.7.1: - dependencies: - ansi-fragments: 0.2.1 - dayjs: 1.11.18 - yargs: 15.4.1 - optional: true - longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -20538,9 +15083,9 @@ snapshots: loupe@3.2.1: {} - lru-cache@10.2.2: {} + lru-cache@10.4.3: {} - lru-cache@11.1.0: {} + lru-cache@11.2.4: {} lru-cache@5.1.1: dependencies: @@ -20556,14 +15101,14 @@ snapshots: dependencies: sourcemap-codec: 1.4.8 - magic-string@0.30.18: + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 magicast@0.3.5: dependencies: - '@babel/parser': 7.28.3 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 source-map-js: 1.2.1 make-dir@2.1.0: @@ -20573,19 +15118,11 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.2 + semver: 7.7.3 make-error@1.3.6: {} - makeerror@1.0.12: - dependencies: - tmpl: 1.0.5 - optional: true - - markdown-table@3.0.3: {} - - marky@1.3.0: - optional: true + markdown-table@3.0.4: {} math-expression-evaluator@1.4.0: {} @@ -20611,8 +15148,8 @@ snapshots: mdast-util-from-markdown@1.3.1: dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 - decode-named-character-reference: 1.0.2 + '@types/unist': 2.0.11 + decode-named-character-reference: 1.2.0 mdast-util-to-string: 3.2.0 micromark: 3.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 @@ -20646,7 +15183,7 @@ snapshots: mdast-util-gfm-table@1.0.7: dependencies: '@types/mdast': 3.0.15 - markdown-table: 3.0.3 + markdown-table: 3.0.4 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: @@ -20677,7 +15214,7 @@ snapshots: mdast-util-to-markdown@1.5.0: dependencies: '@types/mdast': 3.0.15 - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 mdast-util-to-string: 3.2.0 @@ -20691,210 +15228,15 @@ snapshots: dependencies: '@types/mdast': 3.0.15 - memoize-one@5.2.1: - optional: true - merge-stream@2.0.0: {} merge2@1.4.1: {} metric-lcs@0.1.2: {} - metro-babel-transformer@0.80.12: - dependencies: - '@babel/core': 7.28.4 - flow-enums-runtime: 0.0.6 - hermes-parser: 0.23.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-cache-key@0.80.12: - dependencies: - flow-enums-runtime: 0.0.6 - optional: true - - metro-cache@0.80.12: - dependencies: - exponential-backoff: 3.1.3 - flow-enums-runtime: 0.0.6 - metro-core: 0.80.12 - optional: true - - metro-config@0.80.12: - dependencies: - connect: 3.7.0 - cosmiconfig: 5.2.1 - flow-enums-runtime: 0.0.6 - jest-validate: 29.7.0 - metro: 0.80.12 - metro-cache: 0.80.12 - metro-core: 0.80.12 - metro-runtime: 0.80.12 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - metro-core@0.80.12: - dependencies: - flow-enums-runtime: 0.0.6 - lodash.throttle: 4.1.1 - metro-resolver: 0.80.12 - optional: true - - metro-file-map@0.80.12: - dependencies: - anymatch: 3.1.3 - debug: 2.6.9 - fb-watchman: 2.0.2 - flow-enums-runtime: 0.0.6 - graceful-fs: 4.2.11 - invariant: 2.2.4 - jest-worker: 29.7.0 - micromatch: 4.0.8 - node-abort-controller: 3.1.1 - nullthrows: 1.1.1 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.3 - transitivePeerDependencies: - - supports-color - optional: true - - metro-minify-terser@0.80.12: - dependencies: - flow-enums-runtime: 0.0.6 - terser: 5.31.1 - optional: true - - metro-resolver@0.80.12: - dependencies: - flow-enums-runtime: 0.0.6 - optional: true - - metro-runtime@0.80.12: - dependencies: - '@babel/runtime': 7.28.4 - flow-enums-runtime: 0.0.6 - optional: true - - metro-source-map@0.80.12: - dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - metro-symbolicate: 0.80.12 - nullthrows: 1.1.1 - ob1: 0.80.12 - source-map: 0.5.7 - vlq: 1.0.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-symbolicate@0.80.12: - dependencies: - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - metro-source-map: 0.80.12 - nullthrows: 1.1.1 - source-map: 0.5.7 - through2: 2.0.5 - vlq: 1.0.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-transform-plugins@0.80.12: - dependencies: - '@babel/core': 7.28.4 - '@babel/generator': 7.28.3 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - flow-enums-runtime: 0.0.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-transform-worker@0.80.12: - dependencies: - '@babel/core': 7.28.4 - '@babel/generator': 7.28.3 - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 - flow-enums-runtime: 0.0.6 - metro: 0.80.12 - metro-babel-transformer: 0.80.12 - metro-cache: 0.80.12 - metro-cache-key: 0.80.12 - metro-minify-terser: 0.80.12 - metro-source-map: 0.80.12 - metro-transform-plugins: 0.80.12 - nullthrows: 1.1.1 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - metro@0.80.12: - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.4 - '@babel/generator': 7.28.3 - '@babel/parser': 7.28.4 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 - accepts: 1.3.8 - chalk: 4.1.2 - ci-info: 2.0.0 - connect: 3.7.0 - debug: 2.6.9 - denodeify: 1.2.1 - error-stack-parser: 2.1.4 - flow-enums-runtime: 0.0.6 - graceful-fs: 4.2.11 - hermes-parser: 0.23.1 - image-size: 1.2.1 - invariant: 2.2.4 - jest-worker: 29.7.0 - jsc-safe-url: 0.2.4 - lodash.throttle: 4.1.1 - metro-babel-transformer: 0.80.12 - metro-cache: 0.80.12 - metro-cache-key: 0.80.12 - metro-config: 0.80.12 - metro-core: 0.80.12 - metro-file-map: 0.80.12 - metro-resolver: 0.80.12 - metro-runtime: 0.80.12 - metro-source-map: 0.80.12 - metro-symbolicate: 0.80.12 - metro-transform-plugins: 0.80.12 - metro-transform-worker: 0.80.12 - mime-types: 2.1.35 - nullthrows: 1.1.1 - serialize-error: 2.1.0 - source-map: 0.5.7 - strip-ansi: 6.0.1 - throat: 5.0.0 - ws: 7.5.10 - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - micromark-core-commonmark@1.1.0: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 micromark-factory-destination: 1.1.0 micromark-factory-label: 1.1.0 micromark-factory-space: 1.1.0 @@ -21027,7 +15369,7 @@ snapshots: micromark-util-decode-string@1.1.0: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.2.0 micromark-util-character: 1.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 @@ -21063,7 +15405,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -21071,8 +15413,8 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.3 - decode-named-character-reference: 1.0.2 + debug: 4.4.3(supports-color@8.1.1) + decode-named-character-reference: 1.2.0 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 @@ -21097,19 +15439,10 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.54.0: - optional: true - mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime@1.6.0: - optional: true - - mime@2.6.0: - optional: true - mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -21118,25 +15451,25 @@ snapshots: mini-svg-data-uri@1.4.4: {} - minimatch@10.0.3: + minimatch@10.1.1: dependencies: '@isaacs/brace-expansion': 5.0.0 minimatch@3.0.8: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@5.1.6: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist@1.2.8: {} @@ -21146,71 +15479,31 @@ snapshots: mitt@3.0.1: {} - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - optional: true - - mkdirp@1.0.4: - optional: true - mnemonist@0.39.6: dependencies: - obliterator: 2.0.4 + obliterator: 2.0.5 motion-dom@12.23.23: - dependencies: - motion-utils: 12.23.6 - - motion-utils@12.23.6: {} - - motion@12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - framer-motion: 12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - tslib: 2.8.1 - optionalDependencies: - '@emotion/is-prop-valid': 0.8.8 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - mri@1.2.0: {} - - mrmime@2.0.0: {} - - ms@2.0.0: - optional: true - - ms@2.1.3: {} - - msw@1.3.5(@types/node@22.18.0)(typescript@5.9.2): - dependencies: - '@mswjs/cookies': 0.2.2 - '@mswjs/interceptors': 0.17.10 - '@open-draft/until': 1.0.3 - '@types/cookie': 0.4.1 - '@types/js-levenshtein': 1.1.3 - chalk: 4.1.2 - chokidar: 3.6.0 - cookie: 0.4.2 - graphql: 16.11.0 - headers-polyfill: 3.2.5 - inquirer: 8.2.7(@types/node@22.18.0) - is-node-process: 1.2.0 - js-levenshtein: 1.1.6 - node-fetch: 2.7.0 - outvariant: 1.4.3 - path-to-regexp: 6.3.0 - strict-event-emitter: 0.4.6 - type-fest: 2.19.0 - yargs: 17.7.2 + dependencies: + motion-utils: 12.23.6 + + motion-utils@12.23.6: {} + + motion@12.23.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + framer-motion: 12.23.25(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tslib: 2.8.1 optionalDependencies: - typescript: 5.9.2 - transitivePeerDependencies: - - '@types/node' - - encoding - - supports-color + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + mri@1.2.0: {} + + mrmime@2.0.1: {} - msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2): + ms@2.1.3: {} + + msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3): dependencies: '@mswjs/cookies': 0.2.2 '@mswjs/interceptors': 0.17.10 @@ -21220,9 +15513,9 @@ snapshots: chalk: 4.1.2 chokidar: 3.6.0 cookie: 0.4.2 - graphql: 16.11.0 + graphql: 16.12.0 headers-polyfill: 3.2.5 - inquirer: 8.2.7(@types/node@24.7.2) + inquirer: 8.2.7(@types/node@22.19.1) is-node-process: 1.2.0 js-levenshtein: 1.1.6 node-fetch: 2.7.0 @@ -21232,7 +15525,7 @@ snapshots: type-fest: 2.19.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - '@types/node' - encoding @@ -21250,32 +15543,20 @@ snapshots: nanoid@3.3.11: {} - napi-postinstall@0.3.3: {} + napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} - negotiator@0.6.3: - optional: true - - negotiator@0.6.4: - optional: true - neo-async@2.6.2: {} - nocache@3.0.4: - optional: true - nock@13.5.6: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: - supports-color - node-abort-controller@3.1.1: - optional: true - node-dir@0.1.17: dependencies: minimatch: 3.1.2 @@ -21292,23 +15573,12 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - node-forge@1.3.1: - optional: true - node-html-parser@5.3.3: dependencies: css-select: 4.3.0 he: 1.2.0 - node-int64@0.4.0: - optional: true - - node-releases@2.0.19: {} - - node-releases@2.0.23: {} - - node-stream-zip@1.15.0: - optional: true + node-releases@2.0.27: {} normalize-path@3.0.0: {} @@ -21327,34 +15597,14 @@ snapshots: dependencies: boolbase: 1.0.0 - nullthrows@1.1.1: - optional: true - - ob1@0.80.12: - dependencies: - flow-enums-runtime: 0.0.6 - optional: true - object-assign@4.1.1: {} object-hash@3.0.0: {} object-inspect@1.13.4: {} - object-is@1.1.6: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - object-keys@1.1.1: {} - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.1.0 - object-keys: 1.1.1 - object.assign@4.1.7: dependencies: call-bind: 1.0.8 @@ -21366,16 +15616,16 @@ snapshots: object.fromentries@2.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.0 es-object-atoms: 1.1.1 object.groupby@1.0.3: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.24.0 object.values@1.2.1: dependencies: @@ -21384,23 +15634,10 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - obliterator@2.0.4: {} + obliterator@2.0.5: {} on-exit-leak-free@2.1.2: {} - on-finished@2.3.0: - dependencies: - ee-first: 1.1.1 - optional: true - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - optional: true - - on-headers@1.1.0: - optional: true - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -21409,23 +15646,12 @@ snapshots: dependencies: mimic-fn: 2.1.0 - open@10.1.0: + open@10.2.0: dependencies: - default-browser: 5.2.1 + default-browser: 5.4.0 define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 - is-wsl: 3.1.0 - - open@6.4.0: - dependencies: - is-wsl: 1.1.0 - optional: true - - open@7.4.2: - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - optional: true + wsl-utils: 0.1.0 optics-ts@2.4.1: {} @@ -21450,8 +15676,6 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - os-tmpdir@1.0.2: {} - ospath@1.2.2: {} outdent@0.5.0: {} @@ -21478,7 +15702,7 @@ snapshots: p-limit@4.0.0: dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.2.2 p-locate@3.0.0: dependencies: @@ -21502,13 +15726,15 @@ snapshots: dependencies: aggregate-error: 3.1.0 - p-map@7.0.3: {} + p-map@7.0.4: {} p-try@2.2.0: {} - package-json-from-dist@1.0.0: {} + package-json-from-dist@1.0.1: {} - package-manager-detector@0.2.8: {} + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.11 parent-module@1.0.1: dependencies: @@ -21523,17 +15749,8 @@ snapshots: is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - parse-json@4.0.0: - dependencies: - error-ex: 1.3.4 - json-parse-better-errors: 1.0.2 - optional: true - parse-ms@4.0.0: {} - parseurl@1.3.3: - optional: true - path-browserify@1.0.1: {} path-exists@3.0.0: {} @@ -21552,12 +15769,12 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.4.3 minipass: 7.1.2 - path-scurry@2.0.0: + path-scurry@2.0.1: dependencies: - lru-cache: 11.1.0 + lru-cache: 11.2.4 minipass: 7.1.2 path-to-regexp@6.3.0: {} @@ -21574,8 +15791,6 @@ snapshots: performance-now@2.1.0: {} - picocolors@1.0.1: {} - picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -21586,29 +15801,26 @@ snapshots: pify@4.0.1: {} - pino-abstract-transport@1.2.0: + pino-abstract-transport@2.0.0: dependencies: - readable-stream: 4.5.2 split2: 4.2.0 pino-std-serializers@7.0.0: {} - pino@9.2.0: + pino@9.14.0: dependencies: + '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 - fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.2.0 + pino-abstract-transport: 2.0.0 pino-std-serializers: 7.0.0 - process-warning: 3.0.0 + process-warning: 5.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 4.0.1 + safe-stable-stringify: 2.5.0 + sonic-boom: 4.2.0 thread-stream: 3.1.0 - pirates@4.0.6: {} - pirates@4.0.7: {} pkg-dir@3.0.0: @@ -21617,35 +15829,27 @@ snapshots: pluralize@8.0.0: {} - possible-typed-array-names@1.0.0: {} + possible-typed-array-names@1.1.0: {} postcss-import@15.1.0(postcss@8.5.6): dependencies: postcss: 8.5.6 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.11 - postcss-js@4.0.1(postcss@8.5.6): + postcss-js@4.1.0(postcss@8.5.6): dependencies: camelcase-css: 2.0.1 postcss: 8.5.6 - postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): - dependencies: - lilconfig: 3.1.3 - yaml: 2.7.0 - optionalDependencies: - postcss: 8.5.6 - ts-node: 10.9.2(@types/node@22.18.0)(typescript@5.9.2) - - postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.2): dependencies: lilconfig: 3.1.3 - yaml: 2.7.0 optionalDependencies: + jiti: 1.21.7 postcss: 8.5.6 - ts-node: 10.9.2(@types/node@24.7.2)(typescript@5.9.2) + yaml: 2.8.2 postcss-nested@6.2.0(postcss@8.5.6): dependencies: @@ -21673,18 +15877,10 @@ snapshots: prettier@2.8.8: {} - prettier@3.6.2: {} + prettier@3.7.3: {} pretty-bytes@5.6.0: {} - pretty-format@26.6.2: - dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 - optional: true - pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 @@ -21701,18 +15897,15 @@ snapshots: dependencies: parse-ms: 4.0.0 - prismjs@1.29.0: {} + prismjs@1.30.0: {} process-nextick-args@2.0.1: {} process-warning@3.0.0: {} - process@0.11.10: {} + process-warning@5.0.0: {} - promise@8.3.0: - dependencies: - asap: 2.0.6 - optional: true + process@0.11.10: {} prompts@2.4.2: dependencies: @@ -21736,9 +15929,9 @@ snapshots: proxy-from-env@1.0.0: {} - pump@3.0.0: + pump@3.0.3: dependencies: - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 once: 1.4.0 punycode@2.3.1: {} @@ -21747,23 +15940,12 @@ snapshots: dependencies: side-channel: 1.1.0 - querystring@0.2.1: - optional: true + quansync@0.2.11: {} queue-microtask@1.2.3: {} - queue-tick@1.0.1: {} - - queue@6.0.2: - dependencies: - inherits: 2.0.4 - optional: true - quick-format-unescaped@4.0.4: {} - range-parser@1.2.1: - optional: true - react-colorful@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 @@ -21771,40 +15953,19 @@ snapshots: react-datepicker@6.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@floating-ui/react': 0.26.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 date-fns: 3.6.0 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-onclickoutside: 6.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - - react-devtools-core@5.3.2: - dependencies: - shell-quote: 1.8.3 - ws: 7.5.10 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - optional: true + react-onclickoutside: 6.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-dnd-html5-backend@16.0.1: dependencies: dnd-core: 16.0.1 - react-dnd@16.0.1(@types/node@22.18.0)(@types/react@18.3.25)(react@18.3.1): - dependencies: - '@react-dnd/invariant': 4.0.2 - '@react-dnd/shallowequal': 4.0.2 - dnd-core: 16.0.1 - fast-deep-equal: 3.1.3 - hoist-non-react-statics: 3.3.2 - react: 18.3.1 - optionalDependencies: - '@types/node': 22.18.0 - '@types/react': 18.3.25 - - react-dnd@16.0.1(@types/node@24.7.2)(@types/react@18.3.25)(react@18.3.1): + react-dnd@16.0.1(@types/node@22.19.1)(@types/react@18.3.27)(react@18.3.1): dependencies: '@react-dnd/invariant': 4.0.2 '@react-dnd/shallowequal': 4.0.2 @@ -21813,8 +15974,8 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 18.3.1 optionalDependencies: - '@types/node': 24.7.2 - '@types/react': 18.3.25 + '@types/node': 22.19.1 + '@types/react': 18.3.27 react-dom@18.3.1(react@18.3.1): dependencies: @@ -21824,7 +15985,7 @@ snapshots: react-fast-compare@3.2.2: {} - react-hotkeys-hook@4.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-hotkeys-hook@4.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -21837,109 +15998,7 @@ snapshots: react-is@18.3.1: {} - react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1): - dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@react-native-community/cli': 13.6.8 - '@react-native-community/cli-platform-android': 13.6.8 - '@react-native-community/cli-platform-ios': 13.6.8 - '@react-native/assets-registry': 0.74.84 - '@react-native/codegen': 0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - '@react-native/community-cli-plugin': 0.74.84(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3)) - '@react-native/gradle-plugin': 0.74.84 - '@react-native/js-polyfills': 0.74.84 - '@react-native/normalize-colors': 0.74.84 - '@react-native/virtualized-lists': 0.74.84(@types/react@18.3.25)(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1) - abort-controller: 3.0.0 - anser: 1.4.10 - ansi-regex: 5.0.1 - base64-js: 1.5.1 - chalk: 4.1.2 - event-target-shim: 5.0.1 - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - jest-environment-node: 29.7.0 - jsc-android: 250231.0.0 - memoize-one: 5.2.1 - metro-runtime: 0.80.12 - metro-source-map: 0.80.12 - mkdirp: 0.5.6 - nullthrows: 1.1.1 - pretty-format: 26.6.2 - promise: 8.3.0 - react: 18.3.1 - react-devtools-core: 5.3.2 - react-refresh: 0.14.2 - react-shallow-renderer: 16.15.0(react@18.3.1) - regenerator-runtime: 0.13.11 - scheduler: 0.24.0-canary-efb381bbf-20230505 - stacktrace-parser: 0.1.11 - whatwg-fetch: 3.6.20 - ws: 6.2.3 - yargs: 17.7.2 - optionalDependencies: - '@types/react': 18.3.25 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1): - dependencies: - '@jest/create-cache-key-function': 29.7.0 - '@react-native-community/cli': 13.6.8 - '@react-native-community/cli-platform-android': 13.6.8 - '@react-native-community/cli-platform-ios': 13.6.8 - '@react-native/assets-registry': 0.74.84 - '@react-native/codegen': 0.74.84(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - '@react-native/community-cli-plugin': 0.74.84(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4)) - '@react-native/gradle-plugin': 0.74.84 - '@react-native/js-polyfills': 0.74.84 - '@react-native/normalize-colors': 0.74.84 - '@react-native/virtualized-lists': 0.74.84(@types/react@18.3.25)(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1) - abort-controller: 3.0.0 - anser: 1.4.10 - ansi-regex: 5.0.1 - base64-js: 1.5.1 - chalk: 4.1.2 - event-target-shim: 5.0.1 - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - jest-environment-node: 29.7.0 - jsc-android: 250231.0.0 - memoize-one: 5.2.1 - metro-runtime: 0.80.12 - metro-source-map: 0.80.12 - mkdirp: 0.5.6 - nullthrows: 1.1.1 - pretty-format: 26.6.2 - promise: 8.3.0 - react: 18.3.1 - react-devtools-core: 5.3.2 - react-refresh: 0.14.2 - react-shallow-renderer: 16.15.0(react@18.3.1) - regenerator-runtime: 0.13.11 - scheduler: 0.24.0-canary-efb381bbf-20230505 - stacktrace-parser: 0.1.11 - whatwg-fetch: 3.6.20 - ws: 6.2.3 - yargs: 17.7.2 - optionalDependencies: - '@types/react': 18.3.25 - transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - - bufferutil - - encoding - - supports-color - - utf-8-validate - optional: true - - react-onclickoutside@6.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-onclickoutside@6.13.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -21952,78 +16011,60 @@ snapshots: react-fast-compare: 3.2.2 warning: 4.0.3 - react-refresh@0.14.2: {} - react-refresh@0.17.0: {} - react-remove-scroll-bar@2.3.8(@types/react@18.3.25)(react@18.3.1): + react-refresh@0.18.0: {} + + react-remove-scroll-bar@2.3.8(@types/react@18.3.27)(react@18.3.1): dependencies: react: 18.3.1 - react-style-singleton: 2.2.3(@types/react@18.3.25)(react@18.3.1) + react-style-singleton: 2.2.3(@types/react@18.3.27)(react@18.3.1) tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - react-remove-scroll@2.6.3(@types/react@18.3.25)(react@18.3.1): + react-remove-scroll@2.7.2(@types/react@18.3.27)(react@18.3.1): dependencies: react: 18.3.1 - react-remove-scroll-bar: 2.3.8(@types/react@18.3.25)(react@18.3.1) - react-style-singleton: 2.2.3(@types/react@18.3.25)(react@18.3.1) + react-remove-scroll-bar: 2.3.8(@types/react@18.3.27)(react@18.3.1) + react-style-singleton: 2.2.3(@types/react@18.3.27)(react@18.3.1) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@18.3.25)(react@18.3.1) - use-sidecar: 1.1.3(@types/react@18.3.25)(react@18.3.1) + use-callback-ref: 1.3.3(@types/react@18.3.27)(react@18.3.1) + use-sidecar: 1.1.3(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - react-shallow-renderer@16.15.0(react@18.3.1): - dependencies: - object-assign: 4.1.1 - react: 18.3.1 - react-is: 18.3.1 - optional: true - - react-style-singleton@2.2.3(@types/react@18.3.25)(react@18.3.1): + react-style-singleton@2.2.3(@types/react@18.3.27)(react@18.3.1): dependencies: get-nonce: 1.0.1 react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - react-textarea-autosize@8.5.9(@types/react@18.3.25)(react@18.3.1): + react-textarea-autosize@8.5.9(@types/react@18.3.27)(react@18.3.1): dependencies: '@babel/runtime': 7.28.4 react: 18.3.1 - use-composed-ref: 1.3.0(react@18.3.1) - use-latest: 1.2.1(@types/react@18.3.25)(react@18.3.1) + use-composed-ref: 1.4.0(@types/react@18.3.27)(react@18.3.1) + use-latest: 1.3.0(@types/react@18.3.27)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react-tracked@1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505): + react-tracked@1.7.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2): dependencies: proxy-compare: 2.6.0 react: 18.3.1 - scheduler: 0.24.0-canary-efb381bbf-20230505 - use-context-selector: 1.4.4(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) + scheduler: 0.23.2 + use-context-selector: 1.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1) - react-tracked@1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505): + react-use-measure@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - proxy-compare: 2.6.0 react: 18.3.1 - scheduler: 0.24.0-canary-efb381bbf-20230505 - use-context-selector: 1.4.4(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1) - - react-use-measure@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - debounce: 1.2.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) react@18.3.1: dependencies: @@ -22036,7 +16077,7 @@ snapshots: read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 - js-yaml: 3.14.1 + js-yaml: 3.14.2 pify: 4.0.1 strip-bom: 3.0.0 @@ -22056,7 +16097,7 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readable-stream@4.5.2: + readable-stream@4.7.0: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 @@ -22072,9 +16113,6 @@ snapshots: dependencies: picomatch: 2.3.1 - readline@1.3.0: - optional: true - real-require@0.2.0: {} recast@0.21.5: @@ -22114,36 +16152,14 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.24.0 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - globalthis: 1.0.4 - which-builtin-type: 1.1.3 - regenerate-unicode-properties@10.2.2: dependencies: regenerate: 1.4.2 regenerate@1.4.2: {} - regenerator-runtime@0.13.11: - optional: true - - regenerator-runtime@0.14.1: {} - regexp-tree@0.1.27: {} - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.8 @@ -22164,10 +16180,6 @@ snapshots: regjsgen@0.8.0: {} - regjsparser@0.12.0: - dependencies: - jsesc: 3.0.2 - regjsparser@0.13.0: dependencies: jsesc: 3.1.0 @@ -22197,12 +16209,6 @@ snapshots: require-from-string@2.0.2: {} - require-main-filename@2.0.0: - optional: true - - resolve-from@3.0.0: - optional: true - resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -22214,7 +16220,7 @@ snapshots: is-core-module: 2.16.1 path-parse: 1.0.7 - resolve@1.22.10: + resolve@1.22.11: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 @@ -22227,8 +16233,6 @@ snapshots: ret@0.4.3: {} - reusify@1.0.4: {} - reusify@1.1.0: {} rfdc@1.4.1: {} @@ -22237,69 +16241,37 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - optional: true - robust-predicates@3.0.2: {} - rollup@4.50.0: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.50.0 - '@rollup/rollup-android-arm64': 4.50.0 - '@rollup/rollup-darwin-arm64': 4.50.0 - '@rollup/rollup-darwin-x64': 4.50.0 - '@rollup/rollup-freebsd-arm64': 4.50.0 - '@rollup/rollup-freebsd-x64': 4.50.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.50.0 - '@rollup/rollup-linux-arm-musleabihf': 4.50.0 - '@rollup/rollup-linux-arm64-gnu': 4.50.0 - '@rollup/rollup-linux-arm64-musl': 4.50.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.50.0 - '@rollup/rollup-linux-ppc64-gnu': 4.50.0 - '@rollup/rollup-linux-riscv64-gnu': 4.50.0 - '@rollup/rollup-linux-riscv64-musl': 4.50.0 - '@rollup/rollup-linux-s390x-gnu': 4.50.0 - '@rollup/rollup-linux-x64-gnu': 4.50.0 - '@rollup/rollup-linux-x64-musl': 4.50.0 - '@rollup/rollup-openharmony-arm64': 4.50.0 - '@rollup/rollup-win32-arm64-msvc': 4.50.0 - '@rollup/rollup-win32-ia32-msvc': 4.50.0 - '@rollup/rollup-win32-x64-msvc': 4.50.0 - fsevents: 2.3.3 - - rollup@4.52.3: + rollup@4.53.3: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.52.3 - '@rollup/rollup-android-arm64': 4.52.3 - '@rollup/rollup-darwin-arm64': 4.52.3 - '@rollup/rollup-darwin-x64': 4.52.3 - '@rollup/rollup-freebsd-arm64': 4.52.3 - '@rollup/rollup-freebsd-x64': 4.52.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.52.3 - '@rollup/rollup-linux-arm-musleabihf': 4.52.3 - '@rollup/rollup-linux-arm64-gnu': 4.52.3 - '@rollup/rollup-linux-arm64-musl': 4.52.3 - '@rollup/rollup-linux-loong64-gnu': 4.52.3 - '@rollup/rollup-linux-ppc64-gnu': 4.52.3 - '@rollup/rollup-linux-riscv64-gnu': 4.52.3 - '@rollup/rollup-linux-riscv64-musl': 4.52.3 - '@rollup/rollup-linux-s390x-gnu': 4.52.3 - '@rollup/rollup-linux-x64-gnu': 4.52.3 - '@rollup/rollup-linux-x64-musl': 4.52.3 - '@rollup/rollup-openharmony-arm64': 4.52.3 - '@rollup/rollup-win32-arm64-msvc': 4.52.3 - '@rollup/rollup-win32-ia32-msvc': 4.52.3 - '@rollup/rollup-win32-x64-gnu': 4.52.3 - '@rollup/rollup-win32-x64-msvc': 4.52.3 + '@rollup/rollup-android-arm-eabi': 4.53.3 + '@rollup/rollup-android-arm64': 4.53.3 + '@rollup/rollup-darwin-arm64': 4.53.3 + '@rollup/rollup-darwin-x64': 4.53.3 + '@rollup/rollup-freebsd-arm64': 4.53.3 + '@rollup/rollup-freebsd-x64': 4.53.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.53.3 + '@rollup/rollup-linux-arm-musleabihf': 4.53.3 + '@rollup/rollup-linux-arm64-gnu': 4.53.3 + '@rollup/rollup-linux-arm64-musl': 4.53.3 + '@rollup/rollup-linux-loong64-gnu': 4.53.3 + '@rollup/rollup-linux-ppc64-gnu': 4.53.3 + '@rollup/rollup-linux-riscv64-gnu': 4.53.3 + '@rollup/rollup-linux-riscv64-musl': 4.53.3 + '@rollup/rollup-linux-s390x-gnu': 4.53.3 + '@rollup/rollup-linux-x64-gnu': 4.53.3 + '@rollup/rollup-linux-x64-musl': 4.53.3 + '@rollup/rollup-openharmony-arm64': 4.53.3 + '@rollup/rollup-win32-arm64-msvc': 4.53.3 + '@rollup/rollup-win32-ia32-msvc': 4.53.3 + '@rollup/rollup-win32-x64-gnu': 4.53.3 + '@rollup/rollup-win32-x64-msvc': 4.53.3 fsevents: 2.3.3 - run-applescript@7.0.0: {} + run-applescript@7.1.0: {} run-async@2.4.1: {} @@ -22307,10 +16279,6 @@ snapshots: dependencies: queue-microtask: 1.2.3 - rxjs@7.8.1: - dependencies: - tslib: 2.8.1 - rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -22319,13 +16287,6 @@ snapshots: dependencies: mri: 1.2.0 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - isarray: 2.0.5 - safe-array-concat@1.1.3: dependencies: call-bind: 1.0.8 @@ -22343,12 +16304,6 @@ snapshots: es-errors: 1.3.0 isarray: 2.0.5 - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safe-regex-test@1.1.0: dependencies: call-bound: 1.0.4 @@ -22359,7 +16314,7 @@ snapshots: dependencies: ret: 0.4.3 - safe-stable-stringify@2.4.3: {} + safe-stable-stringify@2.5.0: {} safer-buffer@2.1.2: {} @@ -22367,22 +16322,12 @@ snapshots: dependencies: loose-envify: 1.4.0 - scheduler@0.24.0-canary-efb381bbf-20230505: - dependencies: - loose-envify: 1.4.0 - scroll-into-view-if-needed@3.1.0: dependencies: - compute-scroll-into-view: 3.1.0 + compute-scroll-into-view: 3.1.1 secure-json-parse@2.7.0: {} - selfsigned@2.4.1: - dependencies: - '@types/node-forge': 1.3.14 - node-forge: 1.3.1 - optional: true - semver@5.7.2: {} semver@6.3.1: {} @@ -22391,61 +16336,17 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.2: {} - - semver@7.6.3: {} - - semver@7.7.2: {} - - semver@7.7.3: - optional: true - - send@0.19.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - optional: true - - serialize-error@2.1.0: - optional: true - - serve-static@1.16.2: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color - optional: true - - set-blocking@2.0.0: - optional: true - - set-cookie-parser@2.6.0: {} + semver@7.7.3: {} - set-cookie-parser@2.7.1: {} + set-cookie-parser@2.7.2: {} set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 + get-intrinsic: 1.3.0 + gopd: 1.2.0 has-property-descriptors: 1.0.2 set-function-name@2.0.2: @@ -22461,9 +16362,6 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - setprototypeof@1.2.0: - optional: true - shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -22474,9 +16372,6 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.3: - optional: true - side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -22521,21 +16416,21 @@ snapshots: sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.25 - mrmime: 2.0.0 + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 totalist: 3.0.1 - sirv@3.0.1: + sirv@3.0.2: dependencies: - '@polka/url': 1.0.0-next.25 - mrmime: 2.0.0 + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 totalist: 3.0.1 sisteransi@1.0.5: {} slash@3.0.0: {} - slate-history@0.100.0(slate@0.102.0): + slate-history@0.113.1(slate@0.102.0): dependencies: is-plain-object: 5.0.0 slate: 0.102.0 @@ -22549,7 +16444,7 @@ snapshots: dependencies: '@juggle/resize-observer': 3.4.0 '@types/is-hotkey': 0.1.10 - '@types/lodash': 4.17.5 + '@types/lodash': 4.17.21 direction: 1.0.4 is-hotkey: 0.2.0 is-plain-object: 5.0.0 @@ -22562,17 +16457,10 @@ snapshots: slate@0.102.0: dependencies: - immer: 10.1.3 + immer: 10.2.0 is-plain-object: 5.0.0 tiny-warning: 1.0.3 - slice-ansi@2.1.0: - dependencies: - ansi-styles: 3.2.1 - astral-regex: 1.0.0 - is-fullwidth-code-point: 2.0.0 - optional: true - slice-ansi@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -22585,7 +16473,7 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - sonic-boom@4.0.1: + sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -22596,14 +16484,8 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.7: - optional: true - source-map@0.6.1: {} - source-map@0.7.6: - optional: true - sourcemap-codec@1.4.8: {} spawndamnit@3.0.1: @@ -22629,41 +16511,23 @@ snapshots: stable-hash-x@0.2.0: {} - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - optional: true - - stackback@0.0.2: {} - - stackframe@1.3.4: - optional: true - - stacktrace-parser@0.1.11: - dependencies: - type-fest: 0.7.1 - optional: true - - statuses@1.5.0: - optional: true - - statuses@2.0.1: - optional: true + stackback@0.0.2: {} - std-env@3.9.0: {} + std-env@3.10.0: {} stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 internal-slot: 1.1.0 - streamx@2.18.0: + streamx@2.23.0: dependencies: + events-universal: 1.0.1 fast-fifo: 1.3.2 - queue-tick: 1.0.1 - text-decoder: 1.1.0 - optionalDependencies: - bare-events: 2.4.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a strict-event-emitter@0.2.8: dependencies: @@ -22673,7 +16537,7 @@ snapshots: string-argv@0.3.2: {} - string-ts@2.2.1: {} + string-ts@2.3.1: {} string-width@4.2.3: dependencies: @@ -22685,7 +16549,7 @@ snapshots: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 string.prototype.trim@1.2.10: dependencies: @@ -22697,13 +16561,6 @@ snapshots: es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.1.1 - string.prototype.trimend@1.0.9: dependencies: call-bind: 1.0.8 @@ -22713,7 +16570,7 @@ snapshots: string.prototype.trimstart@1.0.8: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.1.1 @@ -22731,18 +16588,13 @@ snapshots: is-obj: 3.0.0 is-regexp: 3.1.0 - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - optional: true - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + strip-ansi@7.1.2: dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.2.2 strip-bom@3.0.0: {} @@ -22754,38 +16606,30 @@ snapshots: dependencies: min-indent: 1.0.1 - strip-indent@4.0.0: - dependencies: - min-indent: 1.0.1 + strip-indent@4.1.1: {} strip-json-comments@3.1.1: {} - strip-literal@3.0.0: + strip-literal@3.1.0: dependencies: js-tokens: 9.0.1 - strnum@1.1.2: - optional: true + stubborn-fs@2.0.0: + dependencies: + stubborn-utils: 1.0.2 - stubborn-fs@1.2.5: {} + stubborn-utils@1.0.2: {} - sucrase@3.35.0: + sucrase@3.35.1: dependencies: '@jridgewell/gen-mapping': 0.3.13 commander: 4.1.1 - glob: 10.4.2 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.6 + pirates: 4.0.7 + tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 - sudo-prompt@9.2.1: - optional: true - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -22800,54 +16644,20 @@ snapshots: dependencies: '@pkgr/core': 0.2.9 - synckit@0.6.2: - dependencies: - tslib: 2.8.1 + systeminformation@5.27.7: {} - tabbable@6.2.0: {} + tabbable@6.3.0: {} tailwind-merge@2.5.4: {} tailwind-merge@2.6.0: {} - tailwind-variants@0.3.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2))): - dependencies: - tailwind-merge: 2.5.4 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - - tailwind-variants@0.3.1(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2))): + tailwind-variants@0.3.1(tailwindcss@3.4.18(yaml@2.8.2)): dependencies: tailwind-merge: 2.5.4 - tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)) - - tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)): - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.3 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.6 - lilconfig: 3.1.3 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2)) - postcss-nested: 6.2.0(postcss@8.5.6) - postcss-selector-parser: 6.1.2 - resolve: 1.22.10 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node + tailwindcss: 3.4.18(yaml@2.8.2) - tailwindcss@3.4.17(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)): + tailwindcss@3.4.18(yaml@2.8.2): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -22857,7 +16667,7 @@ snapshots: fast-glob: 3.3.3 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.6 + jiti: 1.21.7 lilconfig: 3.1.3 micromatch: 4.0.8 normalize-path: 3.0.0 @@ -22865,23 +16675,24 @@ snapshots: picocolors: 1.1.1 postcss: 8.5.6 postcss-import: 15.1.0(postcss@8.5.6) - postcss-js: 4.0.1(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2)) + postcss-js: 4.1.0(postcss@8.5.6) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(yaml@2.8.2) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 - resolve: 1.22.10 - sucrase: 3.35.0 + resolve: 1.22.11 + sucrase: 3.35.1 transitivePeerDependencies: - - ts-node + - tsx + - yaml tar-stream@3.1.7: dependencies: - b4a: 1.6.6 + b4a: 1.7.3 fast-fifo: 1.3.2 - streamx: 2.18.0 - - temp-dir@2.0.0: - optional: true + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a temp@0.8.4: dependencies: @@ -22889,23 +16700,17 @@ snapshots: term-size@2.2.1: {} - terser@5.31.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.15.0 - commander: 2.20.3 - source-map-support: 0.5.21 - optional: true - test-exclude@7.0.1: dependencies: '@istanbuljs/schema': 0.1.3 - glob: 10.4.2 + glob: 10.5.0 minimatch: 9.0.5 - text-decoder@1.1.0: + text-decoder@1.2.3: dependencies: - b4a: 1.6.6 + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a thenify-all@1.6.0: dependencies: @@ -22919,17 +16724,8 @@ snapshots: dependencies: real-require: 0.2.0 - throat@5.0.0: - optional: true - throttleit@1.0.1: {} - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - optional: true - through@2.3.8: {} tiny-invariant@1.3.1: {} @@ -22940,7 +16736,7 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.14: + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 @@ -22949,7 +16745,7 @@ snapshots: tinyrainbow@2.0.0: {} - tinyspy@4.0.3: {} + tinyspy@4.0.4: {} tldts-core@6.1.86: {} @@ -22957,26 +16753,14 @@ snapshots: dependencies: tldts-core: 6.1.86 - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - tmp@0.2.5: {} - tmpl@1.0.5: - optional: true - - to-fast-properties@2.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 toad-cache@3.7.0: {} - toidentifier@1.0.1: - optional: true - totalist@3.0.1: {} tough-cookie@5.1.2: @@ -22989,81 +16773,62 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.1.0(typescript@5.9.2): + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - ts-declaration-location@1.0.7(typescript@5.9.2): + ts-declaration-location@1.0.7(typescript@5.9.3): dependencies: picomatch: 4.0.3 - typescript: 5.9.2 + typescript: 5.9.3 ts-interface-checker@0.1.13: {} - ts-json-as-const@1.0.7(typescript@5.9.2): + ts-json-as-const@1.0.7(typescript@5.9.3): dependencies: '@dfoverdx/tocamelcase': 1.0.7 isbinaryfile: 4.0.10 json5: 2.2.3 stringify-object: 4.0.1 - typescript: 5.9.2 - - ts-node@10.9.2(@types/node@18.19.123)(typescript@5.9.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.123 - acorn: 8.12.0 - acorn-walk: 8.3.3 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.9.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 + typescript: 5.9.3 - ts-node@10.9.2(@types/node@22.18.0)(typescript@5.9.2): + ts-node@10.9.2(@types/node@18.19.130)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 + '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.18.0 - acorn: 8.12.0 - acorn-walk: 8.3.3 + '@types/node': 18.19.130 + acorn: 8.15.0 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.9.2 + typescript: 5.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - optional: true - ts-node@10.9.2(@types/node@24.7.2)(typescript@5.9.2): + ts-node@10.9.2(@types/node@22.19.1)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 + '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.7.2 - acorn: 8.12.0 - acorn-walk: 8.3.3 + '@types/node': 22.19.1 + acorn: 8.15.0 + acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.9.2 + typescript: 5.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-pattern@5.8.0: {} + ts-pattern@5.9.0: {} tsconfig-paths@3.15.0: dependencies: @@ -23090,112 +16855,68 @@ snapshots: type-fest@0.21.3: {} - type-fest@0.7.1: - optional: true - type-fest@0.8.1: {} type-fest@2.19.0: {} type-fest@3.13.1: {} - type-fest@4.20.1: {} - type-fest@4.41.0: {} - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-typed-array: 1.1.15 - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - typed-array-byte-length@1.0.3: dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.4: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.5 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - typed-array-length@1.0.7: dependencies: call-bind: 1.0.8 - for-each: 0.3.3 + for-each: 0.3.5 gopd: 1.2.0 is-typed-array: 1.1.15 - possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.6 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 - typescript-eslint@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2): + typescript-eslint@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2))(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/parser': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.42.0(eslint@9.34.0(jiti@1.21.6))(typescript@5.9.2) - eslint: 9.34.0(jiti@1.21.6) - typescript: 5.9.2 + '@typescript-eslint/eslint-plugin': 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/parser': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) + eslint: 9.39.1(jiti@1.21.7) + typescript: 5.9.3 transitivePeerDependencies: - supports-color typescript@5.4.2: {} - typescript@5.9.2: {} + typescript@5.9.3: {} uint8array-extras@0.3.0: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.1.0 - which-boxed-primitive: 1.0.2 - unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 - has-bigints: 1.0.2 + has-bigints: 1.1.0 has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 @@ -23203,10 +16924,6 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.12.0: {} - - undici-types@7.14.0: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -23222,7 +16939,7 @@ snapshots: unified@10.1.2: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -23232,52 +16949,49 @@ snapshots: unist-util-is@5.2.1: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 - unist-util-is@6.0.0: + unist-util-is@6.0.1: dependencies: - '@types/unist': 3.0.2 + '@types/unist': 3.0.3 unist-util-stringify-position@2.0.3: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-stringify-position@3.0.3: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-visit-parents@5.1.3: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-is: 5.2.1 - unist-util-visit-parents@6.0.1: + unist-util-visit-parents@6.0.2: dependencies: - '@types/unist': 3.0.2 - unist-util-is: 6.0.0 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 unist-util-visit@4.1.2: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 unist-util-visit@5.0.0: dependencies: - '@types/unist': 3.0.2 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 universalify@0.1.2: {} universalify@2.0.1: {} - unpipe@1.0.0: - optional: true - unrs-resolver@1.11.1: dependencies: - napi-postinstall: 0.3.3 + napi-postinstall: 0.3.4 optionalDependencies: '@unrs/resolver-binding-android-arm-eabi': 1.11.1 '@unrs/resolver-binding-android-arm64': 1.11.1 @@ -23301,15 +17015,9 @@ snapshots: untildify@4.0.0: {} - update-browserslist-db@1.1.3(browserslist@4.25.4): + update-browserslist-db@1.1.4(browserslist@4.28.0): dependencies: - browserslist: 4.25.4 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.1.3(browserslist@4.26.3): - dependencies: - browserslist: 4.26.3 + browserslist: 4.28.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -23317,60 +17025,53 @@ snapshots: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.3(@types/react@18.3.25)(react@18.3.1): + use-callback-ref@1.3.3(@types/react@18.3.27)(react@18.3.1): dependencies: react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - use-composed-ref@1.3.0(react@18.3.1): + use-composed-ref@1.4.0(@types/react@18.3.27)(react@18.3.1): dependencies: react: 18.3.1 - - use-context-selector@1.4.4(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505): - dependencies: - react: 18.3.1 - scheduler: 0.24.0-canary-efb381bbf-20230505 optionalDependencies: - react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1) + '@types/react': 18.3.27 - use-context-selector@1.4.4(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505): + use-context-selector@1.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2): dependencies: react: 18.3.1 - scheduler: 0.24.0-canary-efb381bbf-20230505 + scheduler: 0.23.2 optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1) - use-deep-compare@1.2.1(react@18.3.1): + use-deep-compare@1.3.0(react@18.3.1): dependencies: dequal: 2.0.3 react: 18.3.1 - use-isomorphic-layout-effect@1.1.2(@types/react@18.3.25)(react@18.3.1): + use-isomorphic-layout-effect@1.2.1(@types/react@18.3.27)(react@18.3.1): dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - use-latest@1.2.1(@types/react@18.3.25)(react@18.3.1): + use-latest@1.3.0(@types/react@18.3.27)(react@18.3.1): dependencies: react: 18.3.1 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.25)(react@18.3.1) + use-isomorphic-layout-effect: 1.2.1(@types/react@18.3.27)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - use-sidecar@1.1.3(@types/react@18.3.25)(react@18.3.1): + use-sidecar@1.1.3(@types/react@18.3.27)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 18.3.25 + '@types/react': 18.3.27 - use-sync-external-store@1.2.0(react@18.3.1): + use-sync-external-store@1.6.0(react@18.3.1): dependencies: react: 18.3.1 @@ -23380,13 +17081,10 @@ snapshots: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.1.0 + is-generator-function: 1.1.2 is-typed-array: 1.1.15 which-typed-array: 1.1.19 - utils-merge@1.0.1: - optional: true - uuid@8.3.2: {} uvu@0.5.6: @@ -23398,10 +17096,7 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - validator@13.15.15: {} - - vary@1.1.2: - optional: true + validator@13.15.23: {} verror@1.10.0: dependencies: @@ -23411,44 +17106,23 @@ snapshots: vfile-message@3.1.4: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 unist-util-stringify-position: 3.0.3 vfile@5.3.7: dependencies: - '@types/unist': 2.0.10 + '@types/unist': 2.0.11 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - vite-node@3.2.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): - dependencies: - cac: 6.7.14 - debug: 4.4.1(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.1.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vite-node@3.2.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): + vite-node@3.2.4(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2): dependencies: cac: 6.7.14 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vite: 7.2.6(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -23463,13 +17137,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): + vite-node@3.2.4(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2): dependencies: cac: 6.7.14 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vite: 7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -23484,212 +17158,121 @@ snapshots: - tsx - yaml - vite-plugin-dts@3.9.1(@types/node@22.18.0)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)): - dependencies: - '@microsoft/api-extractor': 7.43.0(@types/node@22.18.0) - '@rollup/pluginutils': 5.2.0(rollup@4.52.3) - '@vue/language-core': 1.8.27(typescript@5.9.2) - debug: 4.4.1(supports-color@8.1.1) - kolorist: 1.8.0 - magic-string: 0.30.18 - typescript: 5.9.2 - vue-tsc: 1.8.27(typescript@5.9.2) - optionalDependencies: - vite: 5.4.19(@types/node@22.18.0)(terser@5.31.1) - transitivePeerDependencies: - - '@types/node' - - rollup - - supports-color - - vite-plugin-dts@3.9.1(@types/node@24.7.2)(rollup@4.52.3)(typescript@5.9.2)(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)): + vite-plugin-dts@3.9.1(@types/node@22.19.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@22.19.1)): dependencies: - '@microsoft/api-extractor': 7.43.0(@types/node@24.7.2) - '@rollup/pluginutils': 5.2.0(rollup@4.52.3) - '@vue/language-core': 1.8.27(typescript@5.9.2) - debug: 4.4.1(supports-color@8.1.1) + '@microsoft/api-extractor': 7.43.0(@types/node@22.19.1) + '@rollup/pluginutils': 5.3.0(rollup@4.53.3) + '@vue/language-core': 1.8.27(typescript@5.9.3) + debug: 4.4.3(supports-color@8.1.1) kolorist: 1.8.0 - magic-string: 0.30.18 - typescript: 5.9.2 - vue-tsc: 1.8.27(typescript@5.9.2) + magic-string: 0.30.21 + typescript: 5.9.3 + vue-tsc: 1.8.27(typescript@5.9.3) optionalDependencies: - vite: 5.4.19(@types/node@24.7.2)(terser@5.31.1) + vite: 5.4.21(@types/node@22.19.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-externals@0.6.2(vite@5.4.19(@types/node@18.19.123)(terser@5.31.1)): + vite-plugin-externals@0.6.2(vite@5.4.21(@types/node@18.19.130)): dependencies: - acorn: 8.12.0 + acorn: 8.15.0 es-module-lexer: 0.4.1 fs-extra: 10.1.0 magic-string: 0.25.9 - vite: 5.4.19(@types/node@18.19.123)(terser@5.31.1) + vite: 5.4.21(@types/node@18.19.130) - vite-plugin-externals@0.6.2(vite@5.4.19(@types/node@22.18.0)(terser@5.31.1)): + vite-plugin-externals@0.6.2(vite@5.4.21(@types/node@22.19.1)): dependencies: - acorn: 8.12.0 + acorn: 8.15.0 es-module-lexer: 0.4.1 fs-extra: 10.1.0 magic-string: 0.25.9 - vite: 5.4.19(@types/node@22.18.0)(terser@5.31.1) + vite: 5.4.21(@types/node@22.19.1) - vite-plugin-static-copy@3.1.2(vite@5.4.19(@types/node@24.7.2)(terser@5.31.1)): + vite-plugin-static-copy@3.1.4(vite@5.4.21(@types/node@22.19.1)): dependencies: chokidar: 3.6.0 - fs-extra: 11.3.1 - p-map: 7.0.3 + p-map: 7.0.4 picocolors: 1.1.1 - tinyglobby: 0.2.14 - vite: 5.4.19(@types/node@24.7.2)(terser@5.31.1) - - vite@5.4.19(@types/node@18.19.123)(terser@5.31.1): - dependencies: - esbuild: 0.21.5 - postcss: 8.5.6 - rollup: 4.50.0 - optionalDependencies: - '@types/node': 18.19.123 - fsevents: 2.3.3 - terser: 5.31.1 + tinyglobby: 0.2.15 + vite: 5.4.21(@types/node@22.19.1) - vite@5.4.19(@types/node@22.18.0)(terser@5.31.1): + vite@5.4.21(@types/node@18.19.130): dependencies: esbuild: 0.21.5 postcss: 8.5.6 - rollup: 4.50.0 + rollup: 4.53.3 optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 18.19.130 fsevents: 2.3.3 - terser: 5.31.1 - vite@5.4.19(@types/node@24.7.2)(terser@5.31.1): + vite@5.4.21(@types/node@22.19.1): dependencies: esbuild: 0.21.5 postcss: 8.5.6 - rollup: 4.50.0 + rollup: 4.53.3 optionalDependencies: - '@types/node': 24.7.2 + '@types/node': 22.19.1 fsevents: 2.3.3 - terser: 5.31.1 - vite@7.1.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): + vite@7.2.6(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2): dependencies: - esbuild: 0.25.9 + esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.50.0 - tinyglobby: 0.2.14 + rollup: 4.53.3 + tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 18.19.123 - fsevents: 2.3.3 - jiti: 1.21.6 - terser: 5.31.1 - yaml: 2.7.0 - - vite@7.1.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): - dependencies: - esbuild: 0.25.9 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.50.0 - tinyglobby: 0.2.14 - optionalDependencies: - '@types/node': 22.18.0 + '@types/node': 18.19.130 fsevents: 2.3.3 - jiti: 1.21.6 - terser: 5.31.1 - yaml: 2.7.0 + jiti: 1.21.7 + yaml: 2.8.2 - vite@7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): + vite@7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2): dependencies: - esbuild: 0.25.9 + esbuild: 0.25.12 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.50.0 - tinyglobby: 0.2.14 + rollup: 4.53.3 + tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.7.2 + '@types/node': 22.19.1 fsevents: 2.3.3 - jiti: 1.21.6 - terser: 5.31.1 - yaml: 2.7.0 - - vitest@3.2.4(@types/debug@4.1.12)(@types/node@18.19.123)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): - dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - debug: 4.4.1(supports-color@8.1.1) - expect-type: 1.2.2 - magic-string: 0.30.18 - pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.9.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 7.1.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - vite-node: 3.2.4(@types/node@18.19.123)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 18.19.123 - '@vitest/ui': 3.2.4(vitest@3.2.4) - happy-dom: 18.0.1 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml + jiti: 1.21.7 + yaml: 2.8.2 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.18.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@22.18.0)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@18.19.130)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(yaml@2.8.2): dependencies: - '@types/chai': 5.2.2 + '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@1.3.5(@types/node@22.18.0)(typescript@5.9.2))(vite@7.1.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0)) + '@vitest/mocker': 3.2.4(vite@7.2.6(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 chai: 5.3.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.2.2 - magic-string: 0.30.18 + magic-string: 0.30.21 pathe: 2.0.3 picomatch: 4.0.3 - std-env: 3.9.0 + std-env: 3.10.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - vite-node: 3.2.4(@types/node@22.18.0)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vite: 7.2.6(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@18.19.130)(jiti@1.21.7)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.18.0 + '@types/node': 18.19.130 '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 transitivePeerDependencies: @@ -23706,34 +17289,34 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@1.6.1)(happy-dom@18.0.1)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@1.6.1)(happy-dom@18.0.1)(jiti@1.21.7)(yaml@2.8.2): dependencies: - '@types/chai': 5.2.2 + '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(vite@7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0)) + '@vitest/mocker': 3.2.4(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(vite@7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 chai: 5.3.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.2.2 - magic-string: 0.30.18 + magic-string: 0.30.21 pathe: 2.0.3 picomatch: 4.0.3 - std-env: 3.9.0 + std-env: 3.10.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - vite-node: 3.2.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vite: 7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.7.2 + '@types/node': 22.19.1 '@vitest/ui': 1.6.1(vitest@3.2.4) happy-dom: 18.0.1 transitivePeerDependencies: @@ -23750,34 +17333,34 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.6)(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(terser@5.31.1)(yaml@2.7.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.19.1)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@1.21.7)(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(yaml@2.8.2): dependencies: - '@types/chai': 5.2.2 + '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@1.3.5(@types/node@24.7.2)(typescript@5.9.2))(vite@7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0)) + '@vitest/mocker': 3.2.4(msw@1.3.5(@types/node@22.19.1)(typescript@5.9.3))(vite@7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 chai: 5.3.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.3(supports-color@8.1.1) expect-type: 1.2.2 - magic-string: 0.30.18 + magic-string: 0.30.21 pathe: 2.0.3 picomatch: 4.0.3 - std-env: 3.9.0 + std-env: 3.10.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) - vite-node: 3.2.4(@types/node@24.7.2)(jiti@1.21.6)(terser@5.31.1)(yaml@2.7.0) + vite: 7.2.6(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@22.19.1)(jiti@1.21.7)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.7.2 + '@types/node': 22.19.1 '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 18.0.1 transitivePeerDependencies: @@ -23794,25 +17377,17 @@ snapshots: - tsx - yaml - vlq@1.0.1: - optional: true - vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 he: 1.2.0 - vue-tsc@1.8.27(typescript@5.9.2): + vue-tsc@1.8.27(typescript@5.9.3): dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.9.2) - semver: 7.7.2 - typescript: 5.9.2 - - walker@1.0.8: - dependencies: - makeerror: 1.0.12 - optional: true + '@vue/language-core': 1.8.27(typescript@5.9.3) + semver: 7.7.3 + typescript: 5.9.3 warning@4.0.3: dependencies: @@ -23832,9 +17407,6 @@ snapshots: webidl-conversions@3.0.1: {} - whatwg-fetch@3.6.20: - optional: true - whatwg-mimetype@3.0.0: {} whatwg-url@5.0.0: @@ -23842,15 +17414,7 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - when-exit@2.1.2: {} - - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 + when-exit@2.1.5: {} which-boxed-primitive@1.1.1: dependencies: @@ -23860,30 +17424,15 @@ snapshots: is-string: 1.1.1 is-symbol: 1.1.1 - which-builtin-type@1.1.3: - dependencies: - function.prototype.name: 1.1.8 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.1.0 - is-regex: 1.2.1 - is-weakref: 1.1.1 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.19 - which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.0.0 + is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 + is-generator-function: 1.1.2 is-regex: 1.2.1 is-weakref: 1.1.1 isarray: 2.0.5 @@ -23896,18 +17445,7 @@ snapshots: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 - is-weakset: 2.0.3 - - which-module@2.0.1: - optional: true - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 + is-weakset: 2.0.4 which-typed-array@1.1.19: dependencies: @@ -23944,9 +17482,9 @@ snapshots: wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.1.0 + strip-ansi: 7.1.2 wrappy@1.0.2: {} @@ -23956,19 +17494,9 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - ws@6.2.3: + wsl-utils@0.1.0: dependencies: - async-limiter: 1.0.1 - optional: true - - ws@7.5.10: - optional: true - - xtend@4.0.2: - optional: true - - y18n@4.0.3: - optional: true + is-wsl: 3.1.0 y18n@5.0.8: {} @@ -23976,36 +17504,15 @@ snapshots: yallist@4.0.0: {} - yaml-eslint-parser@1.3.0: + yaml-eslint-parser@1.3.1: dependencies: eslint-visitor-keys: 3.4.3 - yaml: 2.7.0 + yaml: 2.8.2 - yaml@2.7.0: {} - - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - optional: true + yaml@2.8.2: {} yargs-parser@21.1.1: {} - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 18.1.3 - optional: true - yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -24025,7 +17532,7 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} + yocto-queue@1.2.2: {} yoctocolors@2.1.2: {} @@ -24033,7 +17540,7 @@ snapshots: dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 - validator: 13.15.15 + validator: 13.15.23 optionalDependencies: commander: 9.5.0 @@ -24041,42 +17548,34 @@ snapshots: dependencies: archiver-utils: 5.0.2 compress-commons: 6.0.2 - readable-stream: 4.5.2 + readable-stream: 4.7.0 - zod@3.25.76: {} + zod-validation-error@4.0.2(zod@3.25.76): + dependencies: + zod: 3.25.76 - zod@4.1.5: {} + zod@3.25.76: {} - zustand-x@3.0.3(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)): - dependencies: - immer: 10.1.3 - lodash.mapvalues: 4.6.0 - react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.3)(@babel/preset-env@7.28.3(@babel/core@7.28.3))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1) - transitivePeerDependencies: - - react - - react-dom - - react-native - - scheduler + zod@4.1.13: {} - zustand-x@3.0.3(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505)(zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1)): + zustand-x@3.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)): dependencies: - immer: 10.1.3 + immer: 10.2.0 lodash.mapvalues: 4.6.0 - react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(@types/react@18.3.25)(react@18.3.1))(react@18.3.1)(scheduler@0.24.0-canary-efb381bbf-20230505) - zustand: 4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1) + react-tracked: 1.7.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2) + zustand: 4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1) transitivePeerDependencies: - react - react-dom - react-native - scheduler - zustand@4.5.3(@types/react@18.3.25)(immer@10.1.3)(react@18.3.1): + zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1): dependencies: - use-sync-external-store: 1.2.0(react@18.3.1) + use-sync-external-store: 1.6.0(react@18.3.1) optionalDependencies: - '@types/react': 18.3.25 - immer: 10.1.3 + '@types/react': 18.3.27 + immer: 10.2.0 react: 18.3.1 zwitch@2.0.4: {} From 1b0f50cc0d46ec8fcf6d06786f164642bd33fec7 Mon Sep 17 00:00:00 2001 From: ragi96 Date: Tue, 2 Dec 2025 16:54:05 +0100 Subject: [PATCH 217/327] bump --- packages/app-bridge-app/package.json | 2 +- packages/app-bridge-theme/package.json | 2 +- packages/app-bridge/eslint.config.mjs | 12 ++-- packages/app-bridge/package.json | 2 +- .../src/react/useCategorizedDocumentPages.ts | 1 - .../src/react/useDocumentCategories.ts | 1 - .../app-bridge/src/react/useDocumentGroups.ts | 1 - .../src/react/useGroupedDocuments.ts | 1 - .../react/useUncategorizedDocumentPages.ts | 1 - .../src/react/useUngroupedDocuments.ts | 1 - packages/guideline-themes/package.json | 2 +- packages/platform-app/package.json | 2 +- pnpm-lock.yaml | 56 ++++--------------- 13 files changed, 23 insertions(+), 61 deletions(-) diff --git a/packages/app-bridge-app/package.json b/packages/app-bridge-app/package.json index 476e4d0cd..60caf7072 100644 --- a/packages/app-bridge-app/package.json +++ b/packages/app-bridge-app/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@frontify/app-bridge": "workspace:^", - "@frontify/eslint-config-react": "^1.0.4", + "@frontify/eslint-config-react": "^1.0.8", "@frontify/platform-app": "workspace:^", "@testing-library/react": "^16.3.0", "@types/react": "^18.3.24", diff --git a/packages/app-bridge-theme/package.json b/packages/app-bridge-theme/package.json index f87801b20..cd0ca6f7a 100644 --- a/packages/app-bridge-theme/package.json +++ b/packages/app-bridge-theme/package.json @@ -42,7 +42,7 @@ }, "dependencies": {}, "devDependencies": { - "@frontify/eslint-config-react": "^1.0.4", + "@frontify/eslint-config-react": "^1.0.8", "@testing-library/react": "^16.3.0", "@types/react": "^18.3.24", "@types/react-dom": "^18.3.7", diff --git a/packages/app-bridge/eslint.config.mjs b/packages/app-bridge/eslint.config.mjs index 7113b74ab..5e5654470 100644 --- a/packages/app-bridge/eslint.config.mjs +++ b/packages/app-bridge/eslint.config.mjs @@ -38,19 +38,23 @@ export default tseslint.config( }, ], - '@typescript-eslint/no-redundant-type-constituents': 'off', + '@typescript-eslint/no-redundant-type-constituents': 'warn', 'no-prototype-builtins': 'warn', '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-floating-promises': 'warn', '@typescript-eslint/no-misused-promises': 'warn', '@typescript-eslint/no-unsafe-argument': 'warn', '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/no-unsafe-call': 'warn', + '@typescript-eslint/no-unsafe-member-access': 'warn', + '@typescript-eslint/no-unsafe-return': 'warn', '@typescript-eslint/await-thenable': 'warn', '@typescript-eslint/no-unsafe-enum-comparison': 'warn', '@typescript-eslint/restrict-plus-operands': 'warn', + '@eslint-react/prefer-use-state-lazy-initialization': 'warn', + 'react-hooks/refs': 'warn', + 'react-hooks/set-state-in-effect': 'warn', + 'react-hooks/immutability': 'warn', }, }, ); diff --git a/packages/app-bridge/package.json b/packages/app-bridge/package.json index 0d148b270..26e50a18d 100644 --- a/packages/app-bridge/package.json +++ b/packages/app-bridge/package.json @@ -55,7 +55,7 @@ "type-fest": "^4.15.0" }, "devDependencies": { - "@frontify/eslint-config-react": "^1.0.4", + "@frontify/eslint-config-react": "^1.0.8", "@testing-library/react": "^16.3.0", "@types/lodash-es": "^4.17.12", "@types/react": "^18.3.24", diff --git a/packages/app-bridge/src/react/useCategorizedDocumentPages.ts b/packages/app-bridge/src/react/useCategorizedDocumentPages.ts index 6a98bbab0..fad8d9a79 100644 --- a/packages/app-bridge/src/react/useCategorizedDocumentPages.ts +++ b/packages/app-bridge/src/react/useCategorizedDocumentPages.ts @@ -24,7 +24,6 @@ export const useCategorizedDocumentPages = ( documentCategoryId: number, options: Options = { enabled: true }, ) => { - // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentPages, setDocumentPages] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useDocumentCategories.ts b/packages/app-bridge/src/react/useDocumentCategories.ts index ad51a558d..2e82b48eb 100644 --- a/packages/app-bridge/src/react/useDocumentCategories.ts +++ b/packages/app-bridge/src/react/useDocumentCategories.ts @@ -23,7 +23,6 @@ export const useDocumentCategories = ( documentId: number, options: Options = { enabled: true }, ) => { - // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentCategories, setDocumentCategories] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useDocumentGroups.ts b/packages/app-bridge/src/react/useDocumentGroups.ts index 6b3d3c032..4e2430141 100644 --- a/packages/app-bridge/src/react/useDocumentGroups.ts +++ b/packages/app-bridge/src/react/useDocumentGroups.ts @@ -21,7 +21,6 @@ type Options = { const sortDocumentGroups = (a: DocumentGroup, b: DocumentGroup) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useDocumentGroups = (appBridge: AppBridgeBlock, options: Options = { enabled: true }) => { - // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentGroups, setDocumentGroups] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useGroupedDocuments.ts b/packages/app-bridge/src/react/useGroupedDocuments.ts index 867e62df4..40409852b 100644 --- a/packages/app-bridge/src/react/useGroupedDocuments.ts +++ b/packages/app-bridge/src/react/useGroupedDocuments.ts @@ -24,7 +24,6 @@ export const useGroupedDocuments = ( documentGroupId: number, options: Options = { enabled: true }, ) => { - // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documents, setDocuments] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts b/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts index 3d48c8d6b..c18587dd3 100644 --- a/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts +++ b/packages/app-bridge/src/react/useUncategorizedDocumentPages.ts @@ -24,7 +24,6 @@ export const useUncategorizedDocumentPages = ( documentId: number, options: Options = { enabled: true }, ) => { - // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documentPages, setDocumentPages] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/app-bridge/src/react/useUngroupedDocuments.ts b/packages/app-bridge/src/react/useUngroupedDocuments.ts index 473f963e7..305c2de2d 100644 --- a/packages/app-bridge/src/react/useUngroupedDocuments.ts +++ b/packages/app-bridge/src/react/useUngroupedDocuments.ts @@ -22,7 +22,6 @@ type Options = { const sortDocuments = (a: Document, b: Document) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useUngroupedDocuments = (appBridge: AppBridgeBlock, options: Options = { enabled: true }) => { - // eslint-disable-next-line @eslint-react/hooks-extra/prefer-use-state-lazy-initialization const [documents, setDocuments] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); diff --git a/packages/guideline-themes/package.json b/packages/guideline-themes/package.json index 15fca268c..885f06445 100644 --- a/packages/guideline-themes/package.json +++ b/packages/guideline-themes/package.json @@ -43,7 +43,7 @@ "@frontify/sidebar-settings": "^0.10.1" }, "devDependencies": { - "@frontify/eslint-config-react": "1.0.4", + "@frontify/eslint-config-react": "1.0.8", "@types/node": "^22.18.0", "@types/react": "^18.3.24", "@vitest/coverage-v8": "^3.2.4", diff --git a/packages/platform-app/package.json b/packages/platform-app/package.json index ad3498a0e..e0a2b350b 100644 --- a/packages/platform-app/package.json +++ b/packages/platform-app/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@frontify/app-bridge-app": "workspace:^", - "@frontify/eslint-config-react": "^1.0.4", + "@frontify/eslint-config-react": "^1.0.8", "@types/react": "^18.3.24", "@vitejs/plugin-react": "^5.0.2", "@vitest/coverage-v8": "^3.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b3f6b46d..e39b2a484 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,8 +84,8 @@ importers: version: 4.41.0 devDependencies: '@frontify/eslint-config-react': - specifier: ^1.0.4 - version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) + specifier: ^1.0.8 + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@testing-library/react': specifier: ^16.3.0 version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -159,8 +159,8 @@ importers: specifier: workspace:^ version: link:../app-bridge '@frontify/eslint-config-react': - specifier: ^1.0.4 - version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) + specifier: ^1.0.8 + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@frontify/platform-app': specifier: workspace:^ version: link:../platform-app @@ -219,8 +219,8 @@ importers: packages/app-bridge-theme: devDependencies: '@frontify/eslint-config-react': - specifier: ^1.0.4 - version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) + specifier: ^1.0.8 + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@testing-library/react': specifier: ^16.3.0 version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -516,8 +516,8 @@ importers: version: 0.10.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@frontify/eslint-config-react': - specifier: 1.0.4 - version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) + specifier: 1.0.8 + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@types/node': specifier: ^22.18.0 version: 22.19.1 @@ -568,8 +568,8 @@ importers: specifier: workspace:^ version: link:../app-bridge-app '@frontify/eslint-config-react': - specifier: ^1.0.4 - version: 1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) + specifier: ^1.0.8 + version: 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3) '@types/react': specifier: ^18.3.24 version: 18.3.27 @@ -1860,13 +1860,6 @@ packages: prettier: ^3.0.0 typescript: ^5.0.0 - '@frontify/eslint-config-react@1.0.4': - resolution: {integrity: sha512-8hRlopOOEBQnpNmp02egUgh/d3DwGWQNcttZ5S5NnqKlGYeX2a/mxWhS9Yzb5fb3VoAfgLQ9air2jVySWaGSbA==} - peerDependencies: - eslint: ^9.0.0 - prettier: ^3.0.0 - react: ^18 || ^19 - '@frontify/eslint-config-react@1.0.8': resolution: {integrity: sha512-fZ1PWJeeo5TD58j+4FfhDWlpOiZPDU6OoUamvZNS0Jkc6DoWhKUPKLXkYBpY0QcTgWS8fN6jUw2y1HLnSWpEgg==} peerDependencies: @@ -5107,12 +5100,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - eslint-plugin-react-hooks@5.2.0: - resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-hooks@7.0.1: resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} engines: {node: '>=18'} @@ -9738,25 +9725,6 @@ snapshots: - eslint-plugin-import-x - supports-color - '@frontify/eslint-config-react@1.0.4(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3)': - dependencies: - '@eslint-react/eslint-plugin': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) - '@frontify/eslint-config-basic': 1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(typescript@5.9.3) - eslint: 9.39.1(jiti@1.21.7) - eslint-plugin-jsx-a11y-x: 0.1.1(eslint@9.39.1(jiti@1.21.7)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.39.1(jiti@1.21.7)) - globals: 16.5.0 - prettier: 3.7.3 - react: 18.3.1 - typescript-eslint: 8.48.1(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) - transitivePeerDependencies: - - '@eslint/json' - - '@types/eslint' - - eslint-import-resolver-webpack - - eslint-plugin-import-x - - supports-color - - typescript - '@frontify/eslint-config-react@1.0.8(eslint@9.39.1(jiti@1.21.7))(prettier@3.7.3)(react@18.3.1)(typescript@5.9.3)': dependencies: '@eslint-react/eslint-plugin': 2.3.10(eslint@9.39.1(jiti@1.21.7))(typescript@5.9.3) @@ -13888,10 +13856,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.2.0(eslint@9.39.1(jiti@1.21.7)): - dependencies: - eslint: 9.39.1(jiti@1.21.7) - eslint-plugin-react-hooks@7.0.1(eslint@9.39.1(jiti@1.21.7)): dependencies: '@babel/core': 7.28.5 From da63af019cfad32eb69ce909698fdd7a9d90f728 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 17:03:20 +0100 Subject: [PATCH 218/327] chore: release packages (alpha) (#1365) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/guideline-blocks-settings/CHANGELOG.md | 6 ++++++ packages/guideline-blocks-settings/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index a638e9545..37818cee5 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -100,6 +100,7 @@ "tasty-coins-jam", "tasty-vans-cough", "ten-guests-wash", + "ten-stamps-tell", "thirty-eggs-judge", "thirty-pears-lay", "three-avocados-push", diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index d460ad144..24fe6451c 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-blocks-settings +## 1.0.13-alpha.0 + +### Patch Changes + +- [#1363](https://github.com/Frontify/brand-sdk/pull/1363) [`2be13ae`](https://github.com/Frontify/brand-sdk/commit/2be13ae3eec70d2d1684ebb6f58a8b662421c7e0) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump to latest rc of fondue + ## 1.0.8-alpha.3 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 5bc6b4122..0111ef145 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "1.0.12", + "version": "1.0.13-alpha.0", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { From b46e848638adc6a03c94edac147ba42f1cde26ef Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 3 Dec 2025 13:26:55 +0100 Subject: [PATCH 219/327] chore: bump to latest rc of fondue (#1368) * chore: bump to latest rc of fondue * changeset * remove test that test fondue --- .changeset/six-cups-argue.md | 5 ++ package.json | 2 +- .../guideline-blocks-settings/package.json | 2 +- .../src/components/Link/LinkInput.spec.ct.tsx | 7 -- pnpm-lock.yaml | 64 ++++++++----------- 5 files changed, 32 insertions(+), 48 deletions(-) create mode 100644 .changeset/six-cups-argue.md diff --git a/.changeset/six-cups-argue.md b/.changeset/six-cups-argue.md new file mode 100644 index 000000000..c00b8b7a5 --- /dev/null +++ b/.changeset/six-cups-argue.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-blocks-settings": patch +--- + +chore(deps): bump fondue to latest rc diff --git a/package.json b/package.json index 30622b9af..b30c94b6a 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.1", "@cypress/vite-dev-server": "^7.0.0", - "@frontify/fondue": "^13.0.0-rc.8", + "@frontify/fondue": "^13.0.0-rc.9", "@types/react": "^18.3.24", "@vitejs/plugin-react": "^5.0.2", "cypress": "^15.0.0", diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 0111ef145..98bb5d41e 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -50,7 +50,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", - "@frontify/fondue": "^13.0.0-rc.8", + "@frontify/fondue": "^13.0.0-rc.9", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.16.2", "@react-stately/overlays": "^3.6.5", diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkInput.spec.ct.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkInput.spec.ct.tsx index cf154a2fe..b3673497c 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkInput.spec.ct.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkInput.spec.ct.tsx @@ -100,11 +100,4 @@ describe('Link Input', () => { cy.get(INPUT_LABEL_CONTAINER_ID).contains('*'); }); - - it('renders custom buttonsize', () => { - const [LinkInputWithStubs] = withAppBridgeBlockStubs(LinkInput, {}); - cy.mount(); - - cy.get(BUTTON_ID).should('have.class', 'tw-text-body-small'); - }); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e39b2a484..10a9b20c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,8 +29,8 @@ importers: specifier: ^7.0.0 version: 7.0.1(cypress@15.7.0) '@frontify/fondue': - specifier: ^13.0.0-rc.8 - version: 13.0.0-rc.8(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) + specifier: ^13.0.0-rc.9 + version: 13.0.0-rc.9(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) '@types/react': specifier: ^18.3.24 version: 18.3.27 @@ -394,8 +394,8 @@ importers: specifier: ^3.0.0 || ^4.0.0-alpha.0 version: 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0) '@frontify/fondue': - specifier: ^13.0.0-rc.8 - version: 13.0.0-rc.8(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) + specifier: ^13.0.0-rc.9 + version: 13.0.0-rc.9(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -1875,42 +1875,35 @@ packages: react: ^18 react-dom: ^18 - '@frontify/fondue-components@24.0.0': - resolution: {integrity: sha512-YMVMN7bPeoMabn4AGXApO7oWCpOa96w8EG9CV6arRFMbSivaXlIb/CbubHfGLSzEf+4k1+4V/BGydqHjvF8hJw==} + '@frontify/fondue-components@25.0.0-rc.0': + resolution: {integrity: sha512-hn+XVP4hRjIL0ukBltNvkA5DeRHhfrJmUSCCjH5snhe7ov/vGyI98/0ulyBJa0ZT1ovzkTDwKforZT+Tjtu5sQ==} engines: {node: '>=18'} peerDependencies: - '@frontify/fondue-icons': ^0.22.0 - '@frontify/fondue-tokens': ^4.2.3 + '@frontify/fondue-icons': ^0.23.0-rc.0 + '@frontify/fondue-tokens': ^5.0.0-rc.2 react: ^18 react-dom: ^18 - '@frontify/fondue-icons@0.22.0': - resolution: {integrity: sha512-THiVlpTjMJZzI85GWggbm/NwOXYWtDb3R6lJ3uv1DQFT6aZW97/0PJqhHFENR1ksDTaffZe49C+BPej408cyNg==} + '@frontify/fondue-icons@0.23.0-rc.0': + resolution: {integrity: sha512-AaY1pXQh5dm9oPHJOya5nY/04xW3tX7r6ELr8R/0czq+YtKO+MnpVeNe52hfZaAnfOYHXkUiA86V8w83txt/tQ==} engines: {node: '>=18'} peerDependencies: react: ^18 - '@frontify/fondue-rte@0.0.1-rc.6': - resolution: {integrity: sha512-vu8pYuccoefiiqsjH6gRNBkk2nU1lDMnAypbW+Ek0S4DtaLQago30vazQOvl9l2lNgIRJIiu5E5RFewckoyzuQ==} + '@frontify/fondue-rte@0.0.1-rc.7': + resolution: {integrity: sha512-Jd5tjl1jZFCZn6vi1sWbjnoLH1SLv3jybgXTsh9ErIPu+d6zmS8LptW6WgsnafFK+QC/ntORbgIlk+soQumuCQ==} engines: {node: '>=18'} peerDependencies: react: ^18 react-dom: ^18 - '@frontify/fondue-tokens@4.2.3': - resolution: {integrity: sha512-38l06nmMgEUTTLBfsUeVz+QrW/708yqlrct2LBvOln+Ejxzdac/0QoKDaxwL6YXnGjTA7hjLjucDQsXDmSfUPQ==} - peerDependencies: - react: ^18 - react-dom: ^18 - tailwindcss: ^3.0.0 - '@frontify/fondue-tokens@5.0.0-rc.2': resolution: {integrity: sha512-e1qkpqnVRNWyun8DiIECKTn5fPDCk5m1N3Ph8AiXkhAJLRwc7TW+pHfBJn4XoziFuGvlrctlGhf8+SwcCeZTyg==} peerDependencies: tailwindcss: ^3.4.17 - '@frontify/fondue@13.0.0-rc.8': - resolution: {integrity: sha512-wkUnkdtHB7ZjOwip8afpTTz7JxJvCj7h6V+7pFwzi2jITisTOt+Qxj3mMR9330csAtCi8ftyiJBAnlVWnemxng==} + '@frontify/fondue@13.0.0-rc.9': + resolution: {integrity: sha512-9Dxs19XgKlJR0VyzN12Kfp8z73I7bLOaeYiWQP03IHqEcd+SwMKC23r5dszePlTIDSbQZE252J3/w/uvIIrhWQ==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -9764,9 +9757,9 @@ snapshots: transitivePeerDependencies: - '@react-spring/web' - '@frontify/fondue-components@24.0.0(@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': + '@frontify/fondue-components@25.0.0-rc.0(@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': dependencies: - '@frontify/fondue-icons': 0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-icons': 0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -9797,15 +9790,14 @@ snapshots: - '@types/react-dom' - tailwindcss - '@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': + '@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': dependencies: - '@frontify/fondue-tokens': 4.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) react: 18.3.1 transitivePeerDependencies: - - react-dom - tailwindcss - '@frontify/fondue-rte@0.0.1-rc.6(@babel/core@7.28.5)(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': + '@frontify/fondue-rte@0.0.1-rc.7(@babel/core@7.28.5)(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': dependencies: '@ctrl/tinycolor': 4.2.0 '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -9813,8 +9805,8 @@ snapshots: '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 24.0.0(@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) - '@frontify/fondue-icons': 0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-components': 25.0.0-rc.0(@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-icons': 0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) '@popperjs/core': 2.11.8 '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -9901,19 +9893,13 @@ snapshots: - tailwindcss - zustand - '@frontify/fondue-tokens@4.2.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2))': - dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tailwindcss: 3.4.18(yaml@2.8.2) - '@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2))': dependencies: '@types/react': 18.3.27 react: 18.3.1 tailwindcss: 3.4.18(yaml@2.8.2) - '@frontify/fondue@13.0.0-rc.8(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': + '@frontify/fondue@13.0.0-rc.9(@babel/core@7.28.5)(@babel/preset-env@7.28.5(@babel/core@7.28.5))(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1))': dependencies: '@ctrl/tinycolor': 4.2.0 '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -9922,9 +9908,9 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@floating-ui/dom': 1.7.4 '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 24.0.0(@frontify/fondue-icons@0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) - '@frontify/fondue-icons': 0.22.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) - '@frontify/fondue-rte': 0.0.1-rc.6(@babel/core@7.28.5)(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) + '@frontify/fondue-components': 25.0.0-rc.0(@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-icons': 0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(yaml@2.8.2)) + '@frontify/fondue-rte': 0.0.1-rc.7(@babel/core@7.28.5)(@babel/template@7.27.2)(@react-spring/web@9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@22.19.1)(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(@udecode/plate-common@36.5.9(@babel/core@7.28.5)(@babel/template@7.27.2)(@types/react@18.3.27)(immer@10.2.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(slate-react@0.102.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.102.0))(slate@0.102.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.2)(slate-history@0.113.1(slate@0.102.0))(slate-hyperscript@0.100.0(slate@0.102.0))(tailwindcss@3.4.18(yaml@2.8.2))(zustand@4.5.7(@types/react@18.3.27)(immer@10.2.0)(react@18.3.1)) '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(yaml@2.8.2)) '@popperjs/core': 2.11.8 '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) From cc97d137049eb843eb9179e3fbe33008afc8aa52 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:40:13 +0100 Subject: [PATCH 220/327] chore: release packages (alpha) (#1369) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/guideline-blocks-settings/CHANGELOG.md | 6 ++++++ packages/guideline-blocks-settings/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 37818cee5..8ad0f6d4b 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -86,6 +86,7 @@ "shiny-beds-thank", "shiny-poets-enjoy", "shy-jobs-protect", + "six-cups-argue", "six-snails-carry", "slimy-cats-repeat", "smart-suns-type", diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 24fe6451c..dded0ca12 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-blocks-settings +## 1.0.13-alpha.1 + +### Patch Changes + +- [#1368](https://github.com/Frontify/brand-sdk/pull/1368) [`b46e848`](https://github.com/Frontify/brand-sdk/commit/b46e848638adc6a03c94edac147ba42f1cde26ef) Thanks [@ragi96](https://github.com/ragi96)! - chore(deps): bump fondue to latest rc + ## 1.0.13-alpha.0 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 98bb5d41e..687dc84f1 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "1.0.13-alpha.0", + "version": "1.0.13-alpha.1", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { From a7fa7a80d200f44fb17b72e3443fdcf9a0db87ab Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 4 Dec 2025 13:38:32 +0100 Subject: [PATCH 221/327] chore: remove skipped rules as they are now inlined --- packages/app-bridge/eslint.config.mjs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/app-bridge/eslint.config.mjs b/packages/app-bridge/eslint.config.mjs index f2c0348d2..0d0894c15 100644 --- a/packages/app-bridge/eslint.config.mjs +++ b/packages/app-bridge/eslint.config.mjs @@ -52,10 +52,6 @@ export default defineConfig( '@typescript-eslint/await-thenable': 'warn', '@typescript-eslint/no-unsafe-enum-comparison': 'warn', '@typescript-eslint/restrict-plus-operands': 'warn', - '@eslint-react/prefer-use-state-lazy-initialization': 'warn', - 'react-hooks/refs': 'warn', - 'react-hooks/set-state-in-effect': 'warn', - 'react-hooks/immutability': 'warn', }, }, ); From 6bbe6ad2bd5ea8217661c9d96814b783beca681d Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 4 Dec 2025 13:39:53 +0100 Subject: [PATCH 222/327] chore: lint skip --- packages/app-bridge/src/react/useDocumentGroups.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/app-bridge/src/react/useDocumentGroups.ts b/packages/app-bridge/src/react/useDocumentGroups.ts index 1d5faf399..789d691b0 100644 --- a/packages/app-bridge/src/react/useDocumentGroups.ts +++ b/packages/app-bridge/src/react/useDocumentGroups.ts @@ -21,6 +21,7 @@ type Options = { const sortDocumentGroups = (a: DocumentGroup, b: DocumentGroup) => (a.sort && b.sort ? a.sort - b.sort : 0); export const useDocumentGroups = (appBridge: AppBridgeBlock, options: Options = { enabled: true }) => { + // eslint-disable-next-line @eslint-react/prefer-use-state-lazy-initialization const [documentGroups, setDocumentGroups] = useState>(new Map([])); const [isLoading, setIsLoading] = useState(true); From 6466b0d9e3be96df188ca6245c7b7a9444bd711e Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 4 Dec 2025 13:43:40 +0100 Subject: [PATCH 223/327] chore: update Fondue to rc10 --- package.json | 2 +- packages/guideline-blocks-settings/package.json | 2 +- pnpm-lock.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index a3c249c46..d4d7844a1 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@changesets/changelog-github": "^0.5.2", "@changesets/cli": "^2.29.8", "@cypress/vite-dev-server": "^7.0.1", - "@frontify/fondue": "^13.0.0-rc.9", + "@frontify/fondue": "^13.0.0-rc.10", "@types/react": "^18.3.27", "@vitejs/plugin-react": "^5.1.1", "cypress": "^15.7.1", diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index e3f2c2dbc..82766fdb8 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -50,7 +50,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", - "@frontify/fondue": "^13.0.0-rc.9", + "@frontify/fondue": "^13.0.0-rc.10", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.21.2", "@react-stately/overlays": "^3.6.20", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92f4fd3aa..ae5459104 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,7 +26,7 @@ importers: specifier: ^7.0.1 version: 7.0.1(cypress@15.7.1) '@frontify/fondue': - specifier: ^13.0.0-rc.9 + specifier: ^13.0.0-rc.10 version: 13.0.0-rc.10(800a6b526725b16335336fe2d32b41a0) '@types/react': specifier: ^18.3.27 @@ -382,7 +382,7 @@ importers: specifier: ^3.0.0 || ^4.0.0-alpha.0 version: 3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0) '@frontify/fondue': - specifier: ^13.0.0-rc.9 + specifier: ^13.0.0-rc.10 version: 13.0.0-rc.10(800a6b526725b16335336fe2d32b41a0) '@frontify/sidebar-settings': specifier: workspace:^ From 0d4a546ab82da661f14a50e58b5a77afe1c3c311 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 4 Dec 2025 13:47:11 +0100 Subject: [PATCH 224/327] chore: add RTE styles --- .changeset/young-rules-ring.md | 5 +++++ packages/guideline-blocks-settings/src/styles.css | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/young-rules-ring.md diff --git a/.changeset/young-rules-ring.md b/.changeset/young-rules-ring.md new file mode 100644 index 000000000..49aa98a42 --- /dev/null +++ b/.changeset/young-rules-ring.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-blocks-settings": patch +--- + +chore: add RTE styles diff --git a/packages/guideline-blocks-settings/src/styles.css b/packages/guideline-blocks-settings/src/styles.css index 26bd3140d..666d66af5 100644 --- a/packages/guideline-blocks-settings/src/styles.css +++ b/packages/guideline-blocks-settings/src/styles.css @@ -1,4 +1,5 @@ @import '@frontify/fondue/components/styles'; +@import '@frontify/fondue/rte/styles'; @import '../node_modules/@frontify/fondue/dist/packages/tokens/css/base.css'; @import '../node_modules/@frontify/fondue/dist/packages/tokens/legacy/deprecatedBaseTokens.css'; From 6552d4f3fdfeaa3e1644995f80542ca986fc78b0 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 4 Dec 2025 14:00:49 +0100 Subject: [PATCH 225/327] chore: update Fondue to rc11 --- package.json | 2 +- .../guideline-blocks-settings/package.json | 2 +- pnpm-lock.yaml | 38 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index d4d7844a1..38f001e47 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@changesets/changelog-github": "^0.5.2", "@changesets/cli": "^2.29.8", "@cypress/vite-dev-server": "^7.0.1", - "@frontify/fondue": "^13.0.0-rc.10", + "@frontify/fondue": "^13.0.0-rc.11", "@types/react": "^18.3.27", "@vitejs/plugin-react": "^5.1.1", "cypress": "^15.7.1", diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 82766fdb8..cbbd1ce6c 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -50,7 +50,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", - "@frontify/fondue": "^13.0.0-rc.10", + "@frontify/fondue": "^13.0.0-rc.11", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.21.2", "@react-stately/overlays": "^3.6.20", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ae5459104..0e6a05b3b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,8 +26,8 @@ importers: specifier: ^7.0.1 version: 7.0.1(cypress@15.7.1) '@frontify/fondue': - specifier: ^13.0.0-rc.10 - version: 13.0.0-rc.10(800a6b526725b16335336fe2d32b41a0) + specifier: ^13.0.0-rc.11 + version: 13.0.0-rc.11(800a6b526725b16335336fe2d32b41a0) '@types/react': specifier: ^18.3.27 version: 18.3.27 @@ -382,8 +382,8 @@ importers: specifier: ^3.0.0 || ^4.0.0-alpha.0 version: 3.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sinon@21.0.0) '@frontify/fondue': - specifier: ^13.0.0-rc.10 - version: 13.0.0-rc.10(800a6b526725b16335336fe2d32b41a0) + specifier: ^13.0.0-rc.11 + version: 13.0.0-rc.11(800a6b526725b16335336fe2d32b41a0) '@frontify/sidebar-settings': specifier: workspace:^ version: link:../sidebar-settings @@ -2149,17 +2149,17 @@ packages: react: ^18 react-dom: ^18 - '@frontify/fondue-components@25.0.0-rc.0': - resolution: {integrity: sha512-hn+XVP4hRjIL0ukBltNvkA5DeRHhfrJmUSCCjH5snhe7ov/vGyI98/0ulyBJa0ZT1ovzkTDwKforZT+Tjtu5sQ==} + '@frontify/fondue-components@25.0.0-rc.2': + resolution: {integrity: sha512-au+NrkAqrZeG5OpU8uCQ7HitIf4Ce+utbRu/y//euFzbgmB6EgKfJnfIsIKQztGPq6Nc2DnHuuiq8ZQ+jcsBUw==} engines: {node: '>=18'} peerDependencies: - '@frontify/fondue-icons': ^0.23.0-rc.0 + '@frontify/fondue-icons': ^0.23.0-rc.1 '@frontify/fondue-tokens': ^5.0.0-rc.2 react: ^18 react-dom: ^18 - '@frontify/fondue-icons@0.23.0-rc.0': - resolution: {integrity: sha512-AaY1pXQh5dm9oPHJOya5nY/04xW3tX7r6ELr8R/0czq+YtKO+MnpVeNe52hfZaAnfOYHXkUiA86V8w83txt/tQ==} + '@frontify/fondue-icons@0.23.0-rc.1': + resolution: {integrity: sha512-JEKvDYsbEiYTsw5M86Z7Wc6ROoJurNSjvlSPjz4JzH/6xRyYjmtimtjXgt4sVwYzwZBEJTX6e1NJT6osluIlSA==} engines: {node: '>=18'} peerDependencies: react: ^18 @@ -2176,8 +2176,8 @@ packages: peerDependencies: tailwindcss: ^3.4.17 - '@frontify/fondue@13.0.0-rc.10': - resolution: {integrity: sha512-rtZFjIxtMGxHmV6vWWm8lYn1wmY1HB5M222Fpqq0F9vMVGLZ3IOdbIpLbxrdKdy9bfjkNmppKq3QtXzBKZlTYQ==} + '@frontify/fondue@13.0.0-rc.11': + resolution: {integrity: sha512-+jAMYng9ELBq2ZFJMGdIXou1A4KB8XqxcE4Lgvxmv8bL471W9Z0gByPoEjvI0AnpM+cPjSxiL7Hr/Au9KdAorA==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -11290,9 +11290,9 @@ snapshots: transitivePeerDependencies: - '@react-spring/web' - '@frontify/fondue-components@25.0.0-rc.0(@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)))': + '@frontify/fondue-components@25.0.0-rc.2(@frontify/fondue-icons@0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)))': dependencies: - '@frontify/fondue-icons': 0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) + '@frontify/fondue-icons': 0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) '@radix-ui/react-accordion': 1.2.12(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -11323,7 +11323,7 @@ snapshots: - '@types/react-dom' - tailwindcss - '@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)))': + '@frontify/fondue-icons@0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)))': dependencies: '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) react: 18.3.1 @@ -11338,8 +11338,8 @@ snapshots: '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 25.0.0-rc.0(@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) - '@frontify/fondue-icons': 0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) + '@frontify/fondue-components': 25.0.0-rc.2(@frontify/fondue-icons@0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) + '@frontify/fondue-icons': 0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) '@popperjs/core': 2.11.8 '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -11430,7 +11430,7 @@ snapshots: react: 18.3.1 tailwindcss: 3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)) - '@frontify/fondue@13.0.0-rc.10(800a6b526725b16335336fe2d32b41a0)': + '@frontify/fondue@13.0.0-rc.11(800a6b526725b16335336fe2d32b41a0)': dependencies: '@ctrl/tinycolor': 4.2.0 '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -11439,8 +11439,8 @@ snapshots: '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@floating-ui/dom': 1.7.4 '@frontify/fondue-charts': 7.0.0-rc.3(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@frontify/fondue-components': 25.0.0-rc.0(@frontify/fondue-icons@0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) - '@frontify/fondue-icons': 0.23.0-rc.0(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) + '@frontify/fondue-components': 25.0.0-rc.2(@frontify/fondue-icons@0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@frontify/fondue-tokens@5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))))(@types/react-dom@18.3.7(@types/react@18.3.27))(@types/react@18.3.27)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) + '@frontify/fondue-icons': 0.23.0-rc.1(react@18.3.1)(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) '@frontify/fondue-rte': 0.0.1-rc.8(d173a007c71094f25b802503e6ed01ef) '@frontify/fondue-tokens': 5.0.0-rc.2(tailwindcss@3.4.18(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3))) '@popperjs/core': 2.11.8 From 5f411648101defcb985674263cf24abd64e4ad6e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Dec 2025 14:17:27 +0100 Subject: [PATCH 226/327] chore: release packages (alpha) (#1372) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 3 ++- .../guideline-blocks-settings/CHANGELOG.md | 23 ++++++++++++------- .../guideline-blocks-settings/package.json | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 8ad0f6d4b..d6d0f580c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -114,6 +114,7 @@ "wise-zoos-jam", "witty-rivers-smile", "witty-tools-check", - "young-crews-hope" + "young-crews-hope", + "young-rules-ring" ] } diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 22ca0037c..b0b6e215c 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,48 +1,55 @@ # @frontify/guideline-blocks-settings +## 1.0.13-alpha.2 + +### Patch Changes + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`0d4a546`](https://github.com/Frontify/brand-sdk/commit/0d4a546ab82da661f14a50e58b5a77afe1c3c311) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: add RTE styles + ## 1.0.13-alpha.1 ### Patch Changes -- [#1368](https://github.com/Frontify/brand-sdk/pull/1368) [`b46e848`](https://github.com/Frontify/brand-sdk/commit/b46e848638adc6a03c94edac147ba42f1cde26ef) Thanks [@ragi96](https://github.com/ragi96)! - chore(deps): bump fondue to latest rc +- [#1368](https://github.com/Frontify/brand-sdk/pull/1368) [`b46e848`](https://github.com/Frontify/brand-sdk/commit/b46e848638adc6a03c94edac147ba42f1cde26ef) Thanks [@ragi96](https://github.com/ragi96)! - chore(deps): bump fondue to latest rc ## 1.0.13-alpha.0 ### Patch Changes -- [#1363](https://github.com/Frontify/brand-sdk/pull/1363) [`2be13ae`](https://github.com/Frontify/brand-sdk/commit/2be13ae3eec70d2d1684ebb6f58a8b662421c7e0) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump to latest rc of fondue +- [#1363](https://github.com/Frontify/brand-sdk/pull/1363) [`2be13ae`](https://github.com/Frontify/brand-sdk/commit/2be13ae3eec70d2d1684ebb6f58a8b662421c7e0) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump to latest rc of fondue ## 1.0.8-alpha.3 ### Patch Changes -- [#1336](https://github.com/Frontify/brand-sdk/pull/1336) [`fa50848`](https://github.com/Frontify/brand-sdk/commit/fa50848a67f4fecfec61e55e7d2783b1adaa82e6) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to 13.rc5 +- [#1336](https://github.com/Frontify/brand-sdk/pull/1336) [`fa50848`](https://github.com/Frontify/brand-sdk/commit/fa50848a67f4fecfec61e55e7d2783b1adaa82e6) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to 13.rc5 ## 1.0.8-alpha.2 ### Patch Changes -- [#1333](https://github.com/Frontify/brand-sdk/pull/1333) [`627704a`](https://github.com/Frontify/brand-sdk/commit/627704af5756b7fe850a9bfd4c6d152a3feebc6e) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `13.0.0-rc.2` +- [#1333](https://github.com/Frontify/brand-sdk/pull/1333) [`627704a`](https://github.com/Frontify/brand-sdk/commit/627704af5756b7fe850a9bfd4c6d152a3feebc6e) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump `@frontify/fondue` to `13.0.0-rc.2` ## 1.0.8-alpha.1 ### Patch Changes -- [#1330](https://github.com/Frontify/brand-sdk/pull/1330) [`b85e121`](https://github.com/Frontify/brand-sdk/commit/b85e12116af0ec3bb6488448e9fa2f3e12b29b90) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to rc.1 +- [#1330](https://github.com/Frontify/brand-sdk/pull/1330) [`b85e121`](https://github.com/Frontify/brand-sdk/commit/b85e12116af0ec3bb6488448e9fa2f3e12b29b90) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to rc.1 ## 1.0.8-alpha.0 ### Patch Changes -- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`3cb0845`](https://github.com/Frontify/brand-sdk/commit/3cb0845f9fdf445f2fb680be4428980ac14524e5) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump `@frontify/fondue` to `13.0.0-beta.9` +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`3cb0845`](https://github.com/Frontify/brand-sdk/commit/3cb0845f9fdf445f2fb680be4428980ac14524e5) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - chore: bump `@frontify/fondue` to `13.0.0-beta.9` -- [#1307](https://github.com/Frontify/brand-sdk/pull/1307) [`9a78b2c`](https://github.com/Frontify/brand-sdk/commit/9a78b2cd2062ace4dc46bfa8d75cc54e04e34c80) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump to latest fondue beta +- [#1307](https://github.com/Frontify/brand-sdk/pull/1307) [`9a78b2c`](https://github.com/Frontify/brand-sdk/commit/9a78b2cd2062ace4dc46bfa8d75cc54e04e34c80) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump to latest fondue beta ## 1.0.5-alpha.0 ### Patch Changes -- [#1286](https://github.com/Frontify/brand-sdk/pull/1286) [`8ed6d57`](https://github.com/Frontify/brand-sdk/commit/8ed6d57ad71cf81d73798e4f639103960be8dc93) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to v13 +- [#1286](https://github.com/Frontify/brand-sdk/pull/1286) [`8ed6d57`](https://github.com/Frontify/brand-sdk/commit/8ed6d57ad71cf81d73798e4f639103960be8dc93) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - chore: bump fondue to v13 + ## 1.0.13 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index cbbd1ce6c..5ddf4362e 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "1.0.13-alpha.1", + "version": "1.0.13-alpha.2", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { From 33c1ebc171ba93641374ca44161a7707dffd3e39 Mon Sep 17 00:00:00 2001 From: Samuel Alev Date: Thu, 4 Dec 2025 15:40:39 +0100 Subject: [PATCH 227/327] fix: add plugin for external deps --- .changeset/seven-years-beg.md | 5 +++++ packages/guideline-blocks-settings/package.json | 1 + packages/guideline-blocks-settings/vite.config.ts | 9 ++------- pnpm-lock.yaml | 12 ++++++++++++ 4 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 .changeset/seven-years-beg.md diff --git a/.changeset/seven-years-beg.md b/.changeset/seven-years-beg.md new file mode 100644 index 000000000..f7cd4c5fc --- /dev/null +++ b/.changeset/seven-years-beg.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-blocks-settings": patch +--- + +fix: add plugin for external deps diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 5ddf4362e..8d5dd7da6 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -86,6 +86,7 @@ "typescript": "^5.9.3", "vite": "^5.4.21", "vite-plugin-dts": "^3.9.1", + "vite-plugin-externalize-deps": "^0.10.0", "vite-plugin-externals": "^0.6.2", "vitest": "^3.2.4" } diff --git a/packages/guideline-blocks-settings/vite.config.ts b/packages/guideline-blocks-settings/vite.config.ts index d9253455d..ba2608fc7 100644 --- a/packages/guideline-blocks-settings/vite.config.ts +++ b/packages/guideline-blocks-settings/vite.config.ts @@ -5,13 +5,9 @@ import { resolve } from 'node:path'; import react from '@vitejs/plugin-react'; import { type PreRenderedAsset } from 'rollup'; import dts from 'vite-plugin-dts'; +import { externalizeDeps } from 'vite-plugin-externalize-deps'; import { defineConfig } from 'vitest/config'; -import { dependencies as dependenciesMap, peerDependencies as peerDependenciesMap } from './package.json'; - -const dependencies = Object.keys(dependenciesMap); -const peerDependencies = Object.keys(peerDependenciesMap); - export const globals = { react: 'React', 'react-dom': 'ReactDOM', @@ -26,7 +22,7 @@ const assetFileNames = (chunkInfo: PreRenderedAsset): string => { }; export default defineConfig({ - plugins: [dts({ insertTypesEntry: true, rollupTypes: true }), react()], + plugins: [dts({ insertTypesEntry: true, rollupTypes: true }), react(), externalizeDeps()], resolve: { mainFields: ['module', 'main'], }, @@ -47,7 +43,6 @@ export default defineConfig({ sourcemap: true, minify: true, rollupOptions: { - external: [...dependencies, ...peerDependencies, 'react-dom/client', 'react/jsx-runtime', /^vfile/], output: [ { name: 'GuidelineBlocksSettings', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e6a05b3b..d40fa09ac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -484,6 +484,9 @@ importers: vite-plugin-dts: specifier: ^3.9.1 version: 3.9.1(@types/node@24.10.1)(rollup@4.53.3)(typescript@5.9.3)(vite@5.4.21(@types/node@24.10.1)(terser@5.31.1)) + vite-plugin-externalize-deps: + specifier: ^0.10.0 + version: 0.10.0(vite@5.4.21(@types/node@24.10.1)(terser@5.31.1)) vite-plugin-externals: specifier: ^0.6.2 version: 0.6.2(vite@5.4.21(@types/node@24.10.1)(terser@5.31.1)) @@ -9179,6 +9182,11 @@ packages: vite: optional: true + vite-plugin-externalize-deps@0.10.0: + resolution: {integrity: sha512-eQrtpT/Do7AvDn76l1yL6ZHyXJ+UWH2LaHVqhAes9go54qaAnPZuMbgxcroQ/7WY3ZyetZzYW2quQnDF0DV5qg==} + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + vite-plugin-externals@0.6.2: resolution: {integrity: sha512-R5oVY8xDJjLXLTs2XDYzvYbc/RTZuIwOx2xcFbYf+/VXB6eJuatDgt8jzQ7kZ+IrgwQhe6tU8U2fTyy72C25CQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -20228,6 +20236,10 @@ snapshots: - rollup - supports-color + vite-plugin-externalize-deps@0.10.0(vite@5.4.21(@types/node@24.10.1)(terser@5.31.1)): + dependencies: + vite: 5.4.21(@types/node@24.10.1)(terser@5.31.1) + vite-plugin-externals@0.6.2(vite@5.4.21(@types/node@20.19.25)(terser@5.31.1)): dependencies: acorn: 8.12.0 From 84926091afd89575d333bacd35eb66e662da2a07 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Dec 2025 15:47:57 +0100 Subject: [PATCH 228/327] chore: release packages (alpha) (#1374) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/guideline-blocks-settings/CHANGELOG.md | 6 ++++++ packages/guideline-blocks-settings/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index d6d0f580c..7eb01dc4f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -82,6 +82,7 @@ "red-islands-report", "rich-dolphins-shout", "rich-olives-repeat", + "seven-years-beg", "shaggy-mugs-speak", "shiny-beds-thank", "shiny-poets-enjoy", diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index b0b6e215c..8c5548c57 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-blocks-settings +## 1.0.13-alpha.3 + +### Patch Changes + +- [#864](https://github.com/Frontify/brand-sdk/pull/864) [`33c1ebc`](https://github.com/Frontify/brand-sdk/commit/33c1ebc171ba93641374ca44161a7707dffd3e39) Thanks [@SamuelAlev](https://github.com/SamuelAlev)! - fix: add plugin for external deps + ## 1.0.13-alpha.2 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 8d5dd7da6..27f06770b 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "1.0.13-alpha.2", + "version": "1.0.13-alpha.3", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { From 3927db2136eb75e124b90ce16d7bafbc806697ea Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Fri, 5 Dec 2025 12:56:21 +0100 Subject: [PATCH 229/327] fix(GuidelineBlocksSettings): build of styles (#1375) --- .changeset/cuddly-meals-laugh.md | 5 +++++ .../src/components/Link/LinkSelector/DocumentLink.tsx | 3 +-- packages/guideline-blocks-settings/src/styles.css | 10 +++++----- packages/guideline-blocks-settings/tailwind.config.ts | 5 +++-- packages/guideline-blocks-settings/tsconfig.node.json | 2 +- 5 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 .changeset/cuddly-meals-laugh.md diff --git a/.changeset/cuddly-meals-laugh.md b/.changeset/cuddly-meals-laugh.md new file mode 100644 index 000000000..f94bbb030 --- /dev/null +++ b/.changeset/cuddly-meals-laugh.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-blocks-settings": patch +--- + +fix: build now also has the styles that were missed before diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx index 7821936c4..94992de56 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/DocumentLink.tsx @@ -52,9 +52,8 @@ export const DocumentLink = ({ ])} onClick={() => onSelectUrl(document.permanentLink)} > - {/* eslint-disable-next-line jsx-a11y-x/no-redundant-roles */} - - - Select internal link - - - - - - - - - - - + + Select internal link + + + + + + + + + + From 9abfb730d4181555f3a6064385f1fc1faf4bd2b8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 5 Dec 2025 14:35:06 +0100 Subject: [PATCH 232/327] chore: release packages (alpha) (#1378) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/guideline-blocks-settings/CHANGELOG.md | 6 ++++++ packages/guideline-blocks-settings/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 4b320aa62..331b35ccf 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -53,6 +53,7 @@ "lazy-cooks-occur", "light-crews-report", "little-eagles-joke", + "loose-comics-stop", "loud-poems-yawn", "lovely-books-hear", "lovely-pandas-draw", diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index d46cbd787..003f08ead 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-blocks-settings +## 1.0.13-alpha.5 + +### Patch Changes + +- [#1377](https://github.com/Frontify/brand-sdk/pull/1377) [`1075016`](https://github.com/Frontify/brand-sdk/commit/1075016e8e18a03eaa6b68f49d1b54e036a064c3) Thanks [@ragi96](https://github.com/ragi96)! - fix(LinkSelector): fix scrollarea + ## 1.0.13-alpha.4 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index fbdfa8690..01bb47c35 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "1.0.13-alpha.4", + "version": "1.0.13-alpha.5", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { From 86c920570694a04908e408abfa8721bb3f8a2fc3 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 17 Dec 2025 15:40:07 +0100 Subject: [PATCH 233/327] refactor(Icons): replace all legacy icons (#1381) * refactor(Icons): replace all legacy icons * remove stupid test --- .changeset/upset-llamas-matter.md | 5 +++ .../components/Attachments/AttachmentItem.tsx | 31 ++++++++++--------- .../Attachments/AttachmentsButtonTrigger.tsx | 6 ++-- .../BlockInjectButton.spec.ct.tsx | 2 +- .../BlockInjectButton/BlockInjectButton.tsx | 5 ++- .../BlockItemWrapper.spec.ct.tsx | 28 ++++++++--------- .../AttachmentsToolbarButtonTrigger.tsx | 6 ++-- .../DragHandleToolbarButton.spec.tsx | 12 +------ .../FlyoutToolbarButton.spec.tsx | 21 +------------ .../MenuToolbarButton.spec.tsx | 2 +- .../BlockItemWrapper/Toolbar/Toolbar.spec.tsx | 4 +-- .../ToolbarButton/ToolbarButton.spec.tsx | 18 ++++------- .../DownloadButton/DownloadButton.tsx | 5 +-- 13 files changed, 59 insertions(+), 86 deletions(-) create mode 100644 .changeset/upset-llamas-matter.md diff --git a/.changeset/upset-llamas-matter.md b/.changeset/upset-llamas-matter.md new file mode 100644 index 000000000..ff41dbaaf --- /dev/null +++ b/.changeset/upset-llamas-matter.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-blocks-settings": patch +--- + +refactor(Icons): replace all legacy icons diff --git a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx index 2ea7d5e86..728470cf9 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx +++ b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx @@ -2,16 +2,19 @@ import { useSortable } from '@dnd-kit/sortable'; import { type Asset, useAssetUpload, useFileInput } from '@frontify/app-bridge'; -import { - FOCUS_STYLE, - IconDocument24, - IconGrabHandle20, - IconImage24, - IconMusicNote24, - IconPlayFrame24, -} from '@frontify/fondue'; +import { FOCUS_STYLE } from '@frontify/fondue'; import { LoadingCircle, Dropdown, Button } from '@frontify/fondue/components'; -import { IconArrowCircleUp, IconImageStack, IconPen, IconTrashBin } from '@frontify/fondue/icons'; +import { + IconArrowCircleUp, + IconImageStack, + IconPen, + IconTrashBin, + IconDocument, + IconImage, + IconPlayFrame, + IconMusicNote, + IconGrabHandle, +} from '@frontify/fondue/icons'; import { useFocusRing } from '@react-aria/focus'; import { type MutableRefObject, forwardRef, useEffect, useState } from 'react'; @@ -21,13 +24,13 @@ import { type AttachmentItemProps, type SortableAttachmentItemProps } from './ty const getDecorator = (type: string) => { if (type === 'IMAGE') { - return ; + return ; } else if (type === 'VIDEO') { - return ; + return ; } else if (type === 'AUDIO') { - return ; + return ; } else { - return ; + return ; } }; @@ -116,7 +119,7 @@ export const AttachmentItem = forwardRef isFocusVisible && 'tw-z-[2]', ])} > - +
- + {children} - + ), ); diff --git a/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.spec.ct.tsx b/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.spec.ct.tsx index e5eb0ed84..7379ce2af 100644 --- a/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.spec.ct.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.spec.ct.tsx @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { withAppBridgeBlockStubs } from '@frontify/app-bridge'; -import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { IconAdobeCreativeCloud } from '@frontify/fondue/icons'; import { BlockInjectButton } from './BlockInjectButton'; diff --git a/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.tsx b/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.tsx index 903205424..1e6fcf74c 100644 --- a/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockInjectButton/BlockInjectButton.tsx @@ -1,9 +1,8 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { type FileExtension, FileExtensionSets } from '@frontify/app-bridge'; -import { IconExclamationMarkTriangle } from '@frontify/fondue'; import { Dropdown, Flyout, LoadingCircle } from '@frontify/fondue/components'; -import { IconArrowCircleUp, IconImageStack } from '@frontify/fondue/icons'; +import { IconArrowCircleUp, IconImageStack, IconExclamationMarkTriangle } from '@frontify/fondue/icons'; import { type DragEventHandler, type MouseEventHandler, useCallback, useMemo, useRef, useState } from 'react'; import { joinClassNames } from '../../utilities/react/joinClassNames'; @@ -148,7 +147,7 @@ export const BlockInjectButton = ({ ) : errorMsg ? (
- + {errorMsg}
) : ( diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.spec.ct.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.spec.ct.tsx index 63ee9d6f5..dcbca4588 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.spec.ct.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/BlockItemWrapper.spec.ct.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconMagnifier16 } from '@frontify/fondue'; +import { IconMagnifier } from '@frontify/fondue/icons'; import { BlockItemWrapper } from './BlockItemWrapper'; @@ -44,8 +44,8 @@ describe('Block Item Wrapper', () => { cy.mount( , onClick: cy.stub(), tooltip: 'Test tooltip' }, - { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, ]} >
@@ -58,26 +58,26 @@ describe('Block Item Wrapper', () => { cy.mount( , onClick: cy.stub(), tooltip: 'Test tooltip' }, - { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, { type: 'menu', items: [ [ { - icon: , + icon: , onClick: cy.stub(), title: 'Test title', }, ], [ { - icon: , + icon: , onClick: cy.stub(), title: 'Test title', }, { - icon: , + icon: , onClick: cy.stub(), title: 'Test title', }, @@ -99,8 +99,8 @@ describe('Block Item Wrapper', () => { cy.mount( , onClick: cy.stub(), tooltip: 'Test tooltip' }, - { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, ]} >
@@ -115,8 +115,8 @@ describe('Block Item Wrapper', () => { , onClick: cy.stub(), tooltip: 'Test tooltip' }, - { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, ]} >
@@ -130,8 +130,8 @@ describe('Block Item Wrapper', () => { cy.mount( , onClick: cy.stub(), tooltip: 'Test tooltip' }, - { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, + { type: 'button', icon: , onClick: cy.stub(), tooltip: 'Test tooltip' }, ]} shouldBeShown > diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx index 272c6a73d..850946d5c 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/AttachmentsToolbarButton/AttachmentsToolbarButtonTrigger.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconCaretDown12, IconPaperclip16 } from '@frontify/fondue'; +import { IconCaretDown, IconPaperclip } from '@frontify/fondue/icons'; import { forwardRef } from 'react'; import { type AttachmentsTriggerProps } from '../../../Attachments/types'; @@ -14,9 +14,9 @@ export const AttachmentsToolbarButtonTrigger = forwardRef - + {children} - + ), ); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx index 90d1519a7..29c9c3236 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/DragHandleToolbarButton/DragHandleToolbarButton.spec.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { IconAdobeCreativeCloud } from '@frontify/fondue/icons'; import { fireEvent, render, waitFor } from '@testing-library/react'; import { describe, expect, it, vi } from 'vitest'; @@ -76,14 +76,4 @@ describe('DragHandleToolbarButton', () => { expect(setActivatorNodeRefStub).toHaveBeenCalled(); }); - - it('should display icon', () => { - const { getByTestId } = render( - } draggableProps={{}} />, - ); - - const icons = [...getByTestId(TOOLBAR_BUTTON_ID).getElementsByTagName('svg')]; - expect(icons).toHaveLength(1); - expect(icons[0].outerHTML).toMatch('IconAdobeCreativeCloud'); - }); }); diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx index 4e25a6f16..d92940fc9 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/FlyoutToolbarButton/FlyoutToolbarButton.spec.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { IconAdobeCreativeCloud } from '@frontify/fondue/icons'; import { fireEvent, render, waitFor } from '@testing-library/react'; import { describe, expect, it, vi } from 'vitest'; @@ -96,25 +96,6 @@ describe('FlyoutToolbarButton', () => { await waitFor(() => expect(getByTestId(TOOLTIP_ID)).toBeInTheDocument()); }); - it('should use supplied icon', () => { - const setOpenFlyoutIdsStub = vi.fn(); - - const { getByTestId } = render( - - } - tooltip={TEST_TOOLTIP} - content="content" - /> - , - ); - - const icons = [...getByTestId(BUTTON_ID).getElementsByTagName('svg')]; - expect(icons).toHaveLength(1); - expect(icons[0].outerHTML).toMatch('IconAdobeCreativeCloud'); - }); - it('should disable tooltip and flyout when content is inside drag preview', async () => { const { getByTestId, queryByTestId } = render( diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx index 8bb5f8bd6..437db4212 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/MenuToolbarButton/MenuToolbarButton.spec.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { IconAdobeCreativeCloud } from '@frontify/fondue/icons'; import { render } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { describe, expect, it, vi } from 'vitest'; diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx index 34cce4e23..5cf7212cb 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/Toolbar.spec.tsx @@ -1,7 +1,7 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { getAppBridgeBlockStub } from '@frontify/app-bridge'; -import { IconArrowMove16, IconMoveTo, IconTrashBin } from '@frontify/fondue'; +import { IconArrowMove, IconMoveTo, IconTrashBin } from '@frontify/fondue/icons'; import { fireEvent, render, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { beforeAll, describe, expect, it, vi } from 'vitest'; @@ -52,7 +52,7 @@ describe('Toolbar', () => { }, { type: 'flyout', - icon: , + icon: , tooltip: 'Move To', content:
Content
, flyoutHeader:
Fixed Header
, diff --git a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx index f8f64c6a1..3167312e6 100644 --- a/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx +++ b/packages/guideline-blocks-settings/src/components/BlockItemWrapper/Toolbar/ToolbarButton/ToolbarButton.spec.tsx @@ -1,6 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { IconAdobeCreativeCloud } from '@frontify/fondue'; +import { IconAdobeCreativeCloud } from '@frontify/fondue/icons'; import { fireEvent, render, waitFor } from '@testing-library/react'; import { describe, expect, it, vi } from 'vitest'; @@ -19,7 +19,7 @@ describe('ToolbarButton', () => { it('should disable tooltip when item is in drag preview context', () => { const { queryByTestId } = render( - } /> + } /> , ); @@ -27,7 +27,7 @@ describe('ToolbarButton', () => { }); it('should show tooltip when item is focused', async () => { - const { getByTestId } = render(} />); + const { getByTestId } = render(} />); fireEvent.focus(getByTestId(TOOLBAR_BUTTON_ID)); @@ -38,18 +38,12 @@ describe('ToolbarButton', () => { it('should trigger onClick', () => { const onClickStub = vi.fn(); - const { getByTestId } = render(} />); + const { getByTestId } = render( + } />, + ); fireEvent.click(getByTestId(TOOLBAR_BUTTON_ID)); expect(onClickStub).toHaveBeenCalledOnce(); }); - - it('should display icon', () => { - const { getByTestId } = render(} />); - - const icons = [...getByTestId(TOOLBAR_BUTTON_ID).getElementsByTagName('svg')]; - expect(icons).toHaveLength(1); - expect(icons[0].outerHTML).toMatch('IconAdobeCreativeCloud'); - }); }); diff --git a/packages/guideline-blocks-settings/src/components/DownloadButton/DownloadButton.tsx b/packages/guideline-blocks-settings/src/components/DownloadButton/DownloadButton.tsx index bdb0fc7cb..0813e188e 100644 --- a/packages/guideline-blocks-settings/src/components/DownloadButton/DownloadButton.tsx +++ b/packages/guideline-blocks-settings/src/components/DownloadButton/DownloadButton.tsx @@ -1,7 +1,8 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { FOCUS_STYLE, IconArrowCircleDown16 } from '@frontify/fondue'; +import { FOCUS_STYLE } from '@frontify/fondue'; import { Tooltip } from '@frontify/fondue/components'; +import { IconArrowCircleDown } from '@frontify/fondue/icons'; import { useFocusRing } from '@react-aria/focus'; import { joinClassNames } from '../../utilities'; @@ -24,7 +25,7 @@ export const DownloadButton = ({ onDownload, ariaLabel }: DownloadButtonProps) = data-test-id="download-button" > - + From 1cb60928977843e63d5b732a089367180e264a93 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 17 Dec 2025 16:03:58 +0100 Subject: [PATCH 234/327] chore: release packages (alpha) (#1382) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 1 + packages/guideline-blocks-settings/CHANGELOG.md | 6 ++++++ packages/guideline-blocks-settings/package.json | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 331b35ccf..dd0e5c3c2 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -111,6 +111,7 @@ "tough-nails-shout", "tricky-boats-sip", "twelve-keys-begin", + "upset-llamas-matter", "violet-elephants-tan", "warm-hounds-refuse", "wild-bags-judge", diff --git a/packages/guideline-blocks-settings/CHANGELOG.md b/packages/guideline-blocks-settings/CHANGELOG.md index 003f08ead..b13bdecd4 100644 --- a/packages/guideline-blocks-settings/CHANGELOG.md +++ b/packages/guideline-blocks-settings/CHANGELOG.md @@ -1,5 +1,11 @@ # @frontify/guideline-blocks-settings +## 1.0.13-alpha.6 + +### Patch Changes + +- [#1381](https://github.com/Frontify/brand-sdk/pull/1381) [`86c9205`](https://github.com/Frontify/brand-sdk/commit/86c920570694a04908e408abfa8721bb3f8a2fc3) Thanks [@ragi96](https://github.com/ragi96)! - refactor(Icons): replace all legacy icons + ## 1.0.13-alpha.5 ### Patch Changes diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 01bb47c35..7dbe69c03 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -1,7 +1,7 @@ { "name": "@frontify/guideline-blocks-settings", "type": "module", - "version": "1.0.13-alpha.5", + "version": "1.0.13-alpha.6", "description": "Provides types and helpers for the guideline block development", "author": "Frontify Developers ", "repository": { From b3f4429b241dc2bf7d763fbc844f9a126f318095 Mon Sep 17 00:00:00 2001 From: Rafael Giezendanner Date: Wed, 17 Dec 2025 16:59:01 +0100 Subject: [PATCH 235/327] chore(fondue): bump fondue to rc.12 (#1383) * chore(fondue): bump fondue to rc.12 * add changeset --- .changeset/yummy-rings-fix.md | 5 + package.json | 2 +- .../guideline-blocks-settings/package.json | 2 +- .../components/Attachments/AttachmentItem.tsx | 6 +- .../DownloadButton/DownloadButton.tsx | 8 +- pnpm-lock.yaml | 277 +++--------------- 6 files changed, 55 insertions(+), 245 deletions(-) create mode 100644 .changeset/yummy-rings-fix.md diff --git a/.changeset/yummy-rings-fix.md b/.changeset/yummy-rings-fix.md new file mode 100644 index 000000000..4c45f400c --- /dev/null +++ b/.changeset/yummy-rings-fix.md @@ -0,0 +1,5 @@ +--- +"@frontify/guideline-blocks-settings": patch +--- + +chore: bump fondue to latest rc diff --git a/package.json b/package.json index 38f001e47..18adcfb77 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@changesets/changelog-github": "^0.5.2", "@changesets/cli": "^2.29.8", "@cypress/vite-dev-server": "^7.0.1", - "@frontify/fondue": "^13.0.0-rc.11", + "@frontify/fondue": "^13.0.0-rc.12", "@types/react": "^18.3.27", "@vitejs/plugin-react": "^5.1.1", "cypress": "^15.7.1", diff --git a/packages/guideline-blocks-settings/package.json b/packages/guideline-blocks-settings/package.json index 7dbe69c03..e6f6bae82 100644 --- a/packages/guideline-blocks-settings/package.json +++ b/packages/guideline-blocks-settings/package.json @@ -50,7 +50,7 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", - "@frontify/fondue": "^13.0.0-rc.11", + "@frontify/fondue": "^13.0.0-rc.12", "@frontify/sidebar-settings": "workspace:^", "@react-aria/focus": "^3.21.2", "@react-stately/overlays": "^3.6.20", diff --git a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx index 728470cf9..150bcfcb8 100644 --- a/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx +++ b/packages/guideline-blocks-settings/src/components/Attachments/AttachmentItem.tsx @@ -2,7 +2,6 @@ import { useSortable } from '@dnd-kit/sortable'; import { type Asset, useAssetUpload, useFileInput } from '@frontify/app-bridge'; -import { FOCUS_STYLE } from '@frontify/fondue'; import { LoadingCircle, Dropdown, Button } from '@frontify/fondue/components'; import { IconArrowCircleUp, @@ -75,6 +74,7 @@ export const AttachmentItem = forwardRef return ( diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/PageLink.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/PageLink.tsx index f23ea29f9..876fd6b3f 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/PageLink.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/PageLink.tsx @@ -1,7 +1,6 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ import { type DocumentSection } from '@frontify/app-bridge'; -import { merge } from '@frontify/fondue'; import { useEffect, useState } from 'react'; import { filterDocumentSectionsWithUnreadableTitles } from '../helpers/filterDocumentSectionsWithUnreadableTitles'; @@ -54,30 +53,30 @@ export const PageLink = ({ return ( <> )} {page.title} diff --git a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx index e8c56f8da..2ec15af05 100644 --- a/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx +++ b/packages/guideline-blocks-settings/src/components/Link/LinkSelector/SectionLink.tsx @@ -1,6 +1,5 @@ /* (c) Copyright Frontify Ltd., all rights reserved. */ -import { merge } from '@frontify/fondue'; import { IconDocumentText } from '@frontify/fondue/icons'; type SectionLinkProps = { @@ -19,13 +18,15 @@ export const SectionLink = ({ section, selectedUrl, onSelectUrl }: SectionLinkPr return (