From 0b072da3468d8c2aa58c151a5d4cc6c83ff38e64 Mon Sep 17 00:00:00 2001 From: Himself65 Date: Tue, 21 Feb 2023 20:44:18 -0600 Subject: [PATCH] revert: loadWorkspace unexpected behavior (#1172) --- .../enable-workspace-modal/index.tsx | 80 + apps/web/package.json | 1 - .../enable-workspace-modal/index.tsx | 4 +- .../web/src/components/logout-modal/index.tsx | 5 +- .../message-center-handler/index.tsx | 6 +- .../web/src/components/page-list/DateCell.tsx | 3 +- .../components/page-list/OperationCell.tsx | 2 +- apps/web/src/components/page-list/index.tsx | 2 +- .../quick-search/PublishedResults.tsx | 5 +- .../src/components/workspace-layout/index.tsx | 32 +- .../src/components/workspace-modal/index.tsx | 4 +- .../workspace-setting/general/leave/Leave.tsx | 2 + .../WorkspaceSelector/WorkspaceSelector.tsx | 4 +- apps/web/src/hooks/use-change-page-meta.ts | 2 +- apps/web/src/hooks/use-current-page-meta.ts | 2 +- apps/web/src/hooks/use-ensure-workspace.ts | 73 + .../src/hooks/use-load-public-workspace.ts | 35 + apps/web/src/hooks/use-members.ts | 4 +- apps/web/src/hooks/use-page-helper.ts | 197 +- .../src/hooks/use-router-target-workspace.ts | 26 - apps/web/src/hooks/use-workspace-helper.ts | 4 +- apps/web/src/pages/_app.tsx | 66 +- apps/web/src/pages/index.tsx | 10 +- apps/web/src/pages/invite/[invite_code].tsx | 4 +- .../[workspaceId]/[pageId].tsx | 23 +- .../public-workspace/[workspaceId]/index.tsx | 19 +- .../workspace/[workspaceId]/[pageId].tsx | 4 +- .../pages/workspace/[workspaceId]/index.tsx | 44 +- apps/web/src/pages/workspace/index.tsx | 32 +- apps/web/src/providers/ThemeProvider.tsx | 55 +- .../providers/app-state-provider/Provider.tsx | 51 + .../src/providers/app-state-provider/index.ts | 2 + .../providers/app-state-provider/interface.ts | 28 + .../src/providers/app-state-provider/utils.ts | 9 + .../web/src/store}/app/blocksuite/index.ts | 2 +- apps/web/src/store/app/datacenter/index.tsx | 142 ++ apps/web/src/store/app/index.tsx | 90 +- .../web/src/store}/app/user/index.ts | 8 +- .../styles/utils/localStorageThemeHelper.ts | 2 - packages/data-center/src/index.ts | 13 +- packages/store/package.json | 24 - packages/store/src/app/datacenter/index.tsx | 225 -- packages/store/src/app/index.tsx | 128 -- packages/store/src/index.ts | 9 - packages/store/tests/app.spec.tsx | 38 - pnpm-lock.yaml | 1881 ++++------------- scripts/upgrade-blocksuite.sh | 1 + tests/local-first-export-page.spec.ts | 6 +- vitest.config.ts | 14 +- 49 files changed, 1225 insertions(+), 2198 deletions(-) create mode 100644 apps/desktop/src/preload/components/enable-workspace-modal/index.tsx create mode 100644 apps/web/src/hooks/use-ensure-workspace.ts create mode 100644 apps/web/src/hooks/use-load-public-workspace.ts delete mode 100644 apps/web/src/hooks/use-router-target-workspace.ts create mode 100644 apps/web/src/providers/app-state-provider/Provider.tsx create mode 100644 apps/web/src/providers/app-state-provider/index.ts create mode 100644 apps/web/src/providers/app-state-provider/interface.ts create mode 100644 apps/web/src/providers/app-state-provider/utils.ts rename {packages/store/src => apps/web/src/store}/app/blocksuite/index.ts (96%) create mode 100644 apps/web/src/store/app/datacenter/index.tsx rename {packages/store/src => apps/web/src/store}/app/user/index.ts (84%) delete mode 100644 packages/store/package.json delete mode 100644 packages/store/src/app/datacenter/index.tsx delete mode 100644 packages/store/src/app/index.tsx delete mode 100644 packages/store/src/index.ts delete mode 100644 packages/store/tests/app.spec.tsx diff --git a/apps/desktop/src/preload/components/enable-workspace-modal/index.tsx b/apps/desktop/src/preload/components/enable-workspace-modal/index.tsx new file mode 100644 index 0000000000..b32c1160cc --- /dev/null +++ b/apps/desktop/src/preload/components/enable-workspace-modal/index.tsx @@ -0,0 +1,80 @@ +import { Modal, ModalWrapper } from '@affine/component'; +import { IconButton } from '@affine/component'; +import { toast } from '@affine/component'; +import { useTranslation } from '@affine/i18n'; +import { CloseIcon } from '@blocksuite/icons'; +import router from 'next/router'; +import { useCallback, useState } from 'react'; + +import { useGlobalState } from '@/store/app'; + +import { Content, ContentTitle, Header, StyleButton, StyleTips } from './style'; +interface EnableWorkspaceModalProps { + open: boolean; + onClose: () => void; +} + +export const EnableWorkspaceModal = ({ + open, + onClose, +}: EnableWorkspaceModalProps) => { + const { t } = useTranslation(); + const login = useGlobalState(store => store.login); + const user = useGlobalState(store => store.user); + const dataCenter = useGlobalState(store => store.dataCenter); + const currentWorkspace = useGlobalState( + useCallback(store => store.currentDataCenterWorkspace, []) + ); + const [loading, setLoading] = useState(false); + return ( + + +
+ { + onClose(); + }} + > + + +
+ + {t('Enable AFFiNE Cloud')}? + {t('Enable AFFiNE Cloud Description')} + {/* {t('Retain local cached data')} */} +
+ { + setLoading(true); + if (!user) { + await login(); + } + if (currentWorkspace) { + const workspace = await dataCenter.enableWorkspaceCloud( + currentWorkspace + ); + workspace && + router.push(`/workspace/${workspace.id}/setting`); + toast(t('Enabled success')); + } + }} + > + {user ? t('Enable') : t('Sign in and Enable')} + + { + onClose(); + }} + > + {t('Not now')} + +
+
+
+
+ ); +}; diff --git a/apps/web/package.json b/apps/web/package.json index 6ab5760849..769410c8b8 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -12,7 +12,6 @@ "@affine/component": "workspace:*", "@affine/datacenter": "workspace:*", "@affine/i18n": "workspace:*", - "@affine/store": "workspace:*", "@affine/debug": "workspace:*", "@blocksuite/blocks": "0.4.1", "@blocksuite/editor": "0.4.1", diff --git a/apps/web/src/components/enable-workspace-modal/index.tsx b/apps/web/src/components/enable-workspace-modal/index.tsx index 4b986fc43f..7d9c696ae1 100644 --- a/apps/web/src/components/enable-workspace-modal/index.tsx +++ b/apps/web/src/components/enable-workspace-modal/index.tsx @@ -4,7 +4,7 @@ import { CloseIcon } from '@blocksuite/icons'; import { useRouter } from 'next/router'; import { useCallback, useState } from 'react'; -import { useDataCenter, useGlobalState } from '@/store/app'; +import { useGlobalState } from '@/store/app'; import { Content, ContentTitle, Header, StyleButton, StyleTips } from './style'; @@ -20,7 +20,7 @@ export const EnableWorkspaceModal = ({ const { t } = useTranslation(); const login = useGlobalState(store => store.login); const user = useGlobalState(store => store.user); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); const currentWorkspace = useGlobalState( useCallback(store => store.currentDataCenterWorkspace, []) ); diff --git a/apps/web/src/components/logout-modal/index.tsx b/apps/web/src/components/logout-modal/index.tsx index 616d51cf47..4028df3c1a 100644 --- a/apps/web/src/components/logout-modal/index.tsx +++ b/apps/web/src/components/logout-modal/index.tsx @@ -2,9 +2,10 @@ import { styled } from '@affine/component'; import { Modal, ModalCloseButton, ModalWrapper } from '@affine/component'; import { Button } from '@affine/component'; import { useTranslation } from '@affine/i18n'; -import { useGlobalState } from '@affine/store'; import { useState } from 'react'; +import { useAppState } from '@/providers/app-state-provider'; + import { Check, UnCheck } from './icon'; interface LoginModalProps { open: boolean; @@ -13,7 +14,7 @@ interface LoginModalProps { export const LogoutModal = ({ open, onClose }: LoginModalProps) => { const [localCache, setLocalCache] = useState(true); - const blobDataSynced = useGlobalState(store => store.blobDataSynced); + const { blobDataSynced } = useAppState(); const { t } = useTranslation(); return ( diff --git a/apps/web/src/components/message-center-handler/index.tsx b/apps/web/src/components/message-center-handler/index.tsx index e0a3de5724..0339e2d300 100644 --- a/apps/web/src/components/message-center-handler/index.tsx +++ b/apps/web/src/components/message-center-handler/index.tsx @@ -2,13 +2,13 @@ import { toast } from '@affine/component'; import { MessageCenter } from '@affine/datacenter'; import { AffineProvider } from '@affine/datacenter'; import { useRouter } from 'next/router'; -import { ReactNode, useEffect } from 'react'; +import { ReactNode, useCallback, useEffect } from 'react'; -import { useDataCenter } from '@/store/app'; +import { useGlobalState } from '@/store/app'; export function MessageCenterHandler({ children }: { children?: ReactNode }) { const router = useRouter(); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(useCallback(store => store.dataCenter, [])); useEffect(() => { const instance = MessageCenter.getInstance(); if (instance) { diff --git a/apps/web/src/components/page-list/DateCell.tsx b/apps/web/src/components/page-list/DateCell.tsx index e06fb6a87b..acd184286d 100644 --- a/apps/web/src/components/page-list/DateCell.tsx +++ b/apps/web/src/components/page-list/DateCell.tsx @@ -1,9 +1,10 @@ import { TableCell } from '@affine/component'; -import type { PageMeta } from '@affine/store'; import dayjs from 'dayjs'; import localizedFormat from 'dayjs/plugin/localizedFormat'; import React from 'react'; +import { PageMeta } from '@/providers/app-state-provider'; + dayjs.extend(localizedFormat); export const DateCell = ({ diff --git a/apps/web/src/components/page-list/OperationCell.tsx b/apps/web/src/components/page-list/OperationCell.tsx index 9ad7c1f89e..b70fec319e 100644 --- a/apps/web/src/components/page-list/OperationCell.tsx +++ b/apps/web/src/components/page-list/OperationCell.tsx @@ -7,7 +7,6 @@ import { } from '@affine/component'; import { toast } from '@affine/component'; import { useTranslation } from '@affine/i18n'; -import { PageMeta } from '@affine/store'; import { DeleteForeverIcon, FavouritedIcon, @@ -19,6 +18,7 @@ import { } from '@blocksuite/icons'; import { usePageHelper } from '@/hooks/use-page-helper'; +import { PageMeta } from '@/providers/app-state-provider'; import { useConfirm } from '@/providers/ConfirmProvider'; export const OperationCell = ({ pageMeta }: { pageMeta: PageMeta }) => { diff --git a/apps/web/src/components/page-list/index.tsx b/apps/web/src/components/page-list/index.tsx index cccb9b25e6..bcaeecaa05 100644 --- a/apps/web/src/components/page-list/index.tsx +++ b/apps/web/src/components/page-list/index.tsx @@ -10,7 +10,6 @@ import { IconButton } from '@affine/component'; import { Tooltip } from '@affine/component'; import { toast } from '@affine/component'; import { useTranslation } from '@affine/i18n'; -import { PageMeta } from '@affine/store'; import { EdgelessIcon, FavouritedIcon, @@ -22,6 +21,7 @@ import React, { useCallback } from 'react'; import DateCell from '@/components/page-list/DateCell'; import { usePageHelper } from '@/hooks/use-page-helper'; +import { PageMeta } from '@/providers/app-state-provider'; import { useTheme } from '@/providers/ThemeProvider'; import { useGlobalState } from '@/store/app'; diff --git a/apps/web/src/components/quick-search/PublishedResults.tsx b/apps/web/src/components/quick-search/PublishedResults.tsx index 45e6e9d2ea..7f2bd6ff01 100644 --- a/apps/web/src/components/quick-search/PublishedResults.tsx +++ b/apps/web/src/components/quick-search/PublishedResults.tsx @@ -1,5 +1,4 @@ import { useTranslation } from '@affine/i18n'; -import { PageMeta, useDataCenter } from '@affine/store'; import { EdgelessIcon, PaperIcon } from '@blocksuite/icons'; import { Workspace } from '@blocksuite/store'; import { Command } from 'cmdk'; @@ -7,6 +6,8 @@ import { useRouter } from 'next/router'; import { Dispatch, SetStateAction, useEffect, useState } from 'react'; import usePageHelper from '@/hooks/use-page-helper'; +import { PageMeta } from '@/providers/app-state-provider'; +import { useGlobalState } from '@/store/app'; import { NoResultSVG } from './NoResultSVG'; import { StyledListItem, StyledNotFound } from './style'; @@ -23,7 +24,7 @@ export const PublishedResults = (props: { props; const { search } = usePageHelper(); const [results, setResults] = useState(new Map()); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); const router = useRouter(); const [pageList, setPageList] = useState([]); useEffect(() => { diff --git a/apps/web/src/components/workspace-layout/index.tsx b/apps/web/src/components/workspace-layout/index.tsx index 6c02962fed..839113afbb 100644 --- a/apps/web/src/components/workspace-layout/index.tsx +++ b/apps/web/src/components/workspace-layout/index.tsx @@ -1,14 +1,18 @@ -import { useGlobalState } from '@affine/store'; import { useRouter } from 'next/router'; -import { PropsWithChildren, useEffect } from 'react'; +import { PropsWithChildren } from 'react'; import HelpIsland from '@/components/help-island'; import { WorkSpaceSliderBar } from '@/components/workspace-slider-bar'; -import { useRouterTargetWorkspace } from '@/hooks/use-router-target-workspace'; +import useEnsureWorkspace from '@/hooks/use-ensure-workspace'; import { PageLoading } from '../loading'; import { StyledPage, StyledToolWrapper, StyledWrapper } from './styles'; +export const WorkspaceDefender = ({ children }: PropsWithChildren) => { + const { workspaceLoaded } = useEnsureWorkspace(); + return <>{workspaceLoaded ? children : }; +}; + export const WorkspaceLayout = ({ children }: PropsWithChildren) => { const router = useRouter(); @@ -31,22 +35,10 @@ export const WorkspaceLayout = ({ children }: PropsWithChildren) => { }; export const Layout = ({ children }: PropsWithChildren) => { - const { targetWorkspace, exist } = useRouterTargetWorkspace(); - const router = useRouter(); - const loadWorkspace = useGlobalState(store => store.loadWorkspace); - useEffect(() => { - if (!exist) { - router.replace('/404'); - } - }, [exist, router]); - useEffect(() => { - if (exist && targetWorkspace) { - loadWorkspace(targetWorkspace.id); - } - }, [exist, loadWorkspace, targetWorkspace]); - if (!targetWorkspace) { - return ; - } - return {children}; + return ( + + {children} + + ); }; export default Layout; diff --git a/apps/web/src/components/workspace-modal/index.tsx b/apps/web/src/components/workspace-modal/index.tsx index 7ee3b4cd0a..d857810ab9 100644 --- a/apps/web/src/components/workspace-modal/index.tsx +++ b/apps/web/src/components/workspace-modal/index.tsx @@ -5,7 +5,7 @@ import { HelpIcon, PlusIcon } from '@blocksuite/icons'; import { useRouter } from 'next/router'; import { useState } from 'react'; -import { useDataCenter, useGlobalState } from '@/store/app'; +import { useGlobalState } from '@/store/app'; import { CreateWorkspaceModal } from '../create-workspace'; import { LoginModal } from '../login-modal'; @@ -34,7 +34,7 @@ interface WorkspaceModalProps { export const WorkspaceModal = ({ open, onClose }: WorkspaceModalProps) => { const [createWorkspaceOpen, setCreateWorkspaceOpen] = useState(false); const logout = useGlobalState(store => store.logout); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); const router = useRouter(); const { t } = useTranslation(); const [loginOpen, setLoginOpen] = useState(false); diff --git a/apps/web/src/components/workspace-setting/general/leave/Leave.tsx b/apps/web/src/components/workspace-setting/general/leave/Leave.tsx index c10f551a29..3389fc794c 100644 --- a/apps/web/src/components/workspace-setting/general/leave/Leave.tsx +++ b/apps/web/src/components/workspace-setting/general/leave/Leave.tsx @@ -11,6 +11,8 @@ import { StyledModalWrapper, StyledTextContent, } from './style'; +// import { getDataCenter } from '@affine/datacenter'; +// import { useAppState } from '@/providers/app-state-provider'; interface WorkspaceDeleteProps { open: boolean; diff --git a/apps/web/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx b/apps/web/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx index 3e41e083ee..adf69ea871 100644 --- a/apps/web/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx +++ b/apps/web/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceSelector.tsx @@ -2,7 +2,7 @@ import { useCallback, useState } from 'react'; import { WorkspaceUnitAvatar } from '@/components/workspace-avatar'; import { WorkspaceModal } from '@/components/workspace-modal'; -import { useDataCenter, useGlobalState } from '@/store/app'; +import { useGlobalState } from '@/store/app'; import { SelectorWrapper, WorkspaceName } from './styles'; @@ -11,7 +11,7 @@ export const WorkspaceSelector = () => { const currentWorkspace = useGlobalState( useCallback(store => store.currentDataCenterWorkspace, []) ); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(useCallback(store => store.dataCenter, [])); if (dataCenter.workspaces.length === 0) { setWorkspaceListShow(true); diff --git a/apps/web/src/hooks/use-change-page-meta.ts b/apps/web/src/hooks/use-change-page-meta.ts index fe0f79653f..8ec2a8782f 100644 --- a/apps/web/src/hooks/use-change-page-meta.ts +++ b/apps/web/src/hooks/use-change-page-meta.ts @@ -1,6 +1,6 @@ -import { PageMeta } from '@affine/store'; import { useCallback } from 'react'; +import { PageMeta } from '@/providers/app-state-provider'; import { useGlobalState } from '@/store/app'; export type ChangePageMeta = ( diff --git a/apps/web/src/hooks/use-current-page-meta.ts b/apps/web/src/hooks/use-current-page-meta.ts index c6defabffc..6f5102eabd 100644 --- a/apps/web/src/hooks/use-current-page-meta.ts +++ b/apps/web/src/hooks/use-current-page-meta.ts @@ -1,6 +1,6 @@ -import { PageMeta } from '@affine/store'; import { useCallback, useEffect, useState } from 'react'; +import { PageMeta } from '@/providers/app-state-provider'; import { useGlobalState } from '@/store/app'; export const useCurrentPageMeta = (): PageMeta | null => { diff --git a/apps/web/src/hooks/use-ensure-workspace.ts b/apps/web/src/hooks/use-ensure-workspace.ts new file mode 100644 index 0000000000..ab31a7dab9 --- /dev/null +++ b/apps/web/src/hooks/use-ensure-workspace.ts @@ -0,0 +1,73 @@ +import { assertEquals } from '@blocksuite/global/utils'; +import { useRouter } from 'next/router'; +import { useCallback, useEffect, useState } from 'react'; + +import { useGlobalState } from '@/store/app'; + +// todo: refactor with suspense mode +// It is a fully effective hook +// Cause it not just ensure workspace loaded, but also have router change. +export const useEnsureWorkspace = () => { + const dataCenter = useGlobalState(useCallback(store => store.dataCenter, [])); + const currentWorkspace = useGlobalState( + useCallback(store => store.currentDataCenterWorkspace, []) + ); + const loadWorkspace = useGlobalState( + useCallback(store => store.loadWorkspace, []) + ); + const router = useRouter(); + const [currentWorkspaceId, setCurrentWorkspaceId] = useState( + typeof router.query.workspaceId === 'string' + ? router.query.workspaceId + : null + ); + + // const defaultOutLineWorkspaceId = '99ce7eb7'; + // console.log(defaultOutLineWorkspaceId); + useEffect(() => { + const abortController = new AbortController(); + + const workspaceId = + (router.query.workspaceId as string) || dataCenter.workspaces[0]?.id; + + // If router.query.workspaceId is not in workspace list, jump to 404 page + // If workspaceList is empty, we need to create a default workspace but not jump to 404 + if ( + workspaceId && + dataCenter.workspaces.length && + dataCenter.workspaces.findIndex( + meta => meta.id.toString() === workspaceId + ) === -1 + ) { + router.push('/404'); + return; + } + // If user is not login and input a custom workspaceId, jump to 404 page + // if ( + // !user && + // router.query.workspaceId && + // router.query.workspaceId !== defaultOutLineWorkspaceId + // ) { + // router.push('/404'); + // return; + // } + + loadWorkspace(workspaceId, abortController.signal).then(unit => { + if (!abortController.signal.aborted && unit) { + setCurrentWorkspaceId(unit.id); + assertEquals(unit.id, workspaceId); + } + }); + + return () => { + abortController.abort(); + }; + }, [dataCenter, loadWorkspace, router]); + + return { + workspaceLoaded: currentWorkspace?.id === currentWorkspaceId, + activeWorkspaceId: currentWorkspace?.id ?? router.query.workspaceId, + }; +}; + +export default useEnsureWorkspace; diff --git a/apps/web/src/hooks/use-load-public-workspace.ts b/apps/web/src/hooks/use-load-public-workspace.ts new file mode 100644 index 0000000000..2f5cf35fc8 --- /dev/null +++ b/apps/web/src/hooks/use-load-public-workspace.ts @@ -0,0 +1,35 @@ +import { getDataCenter, WorkspaceUnit } from '@affine/datacenter'; +import { useRouter } from 'next/router'; +import { useEffect, useState } from 'react'; + +export function useLoadPublicWorkspace(workspaceId: string) { + const router = useRouter(); + const [workspace, setWorkspace] = useState(); + const [status, setStatus] = useState<'loading' | 'error' | 'success'>( + 'loading' + ); + + useEffect(() => { + setStatus('loading'); + + const init = async () => { + const dataCenter = await getDataCenter(); + + dataCenter + .loadPublicWorkspace(workspaceId) + .then(data => { + setWorkspace(data); + setStatus('success'); + }) + .catch(() => { + // if (!cancel) { + // router.push('/404'); + // } + setStatus('error'); + }); + }; + init(); + }, [router, workspaceId]); + + return { status, workspace }; +} diff --git a/apps/web/src/hooks/use-members.ts b/apps/web/src/hooks/use-members.ts index 92a5d86534..7672865d0a 100644 --- a/apps/web/src/hooks/use-members.ts +++ b/apps/web/src/hooks/use-members.ts @@ -1,9 +1,9 @@ import { Member } from '@affine/datacenter'; import { useCallback, useEffect, useState } from 'react'; -import { useDataCenter, useGlobalState } from '@/store/app'; +import { useGlobalState } from '@/store/app'; export const useMembers = () => { - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); const currentWorkspace = useGlobalState( useCallback(store => store.currentDataCenterWorkspace, []) ); diff --git a/apps/web/src/hooks/use-page-helper.ts b/apps/web/src/hooks/use-page-helper.ts index 67e1858435..51b2338b8f 100644 --- a/apps/web/src/hooks/use-page-helper.ts +++ b/apps/web/src/hooks/use-page-helper.ts @@ -1,13 +1,13 @@ import { WorkspaceUnit } from '@affine/datacenter'; -import { PageMeta } from '@affine/store'; import { EditorContainer } from '@blocksuite/editor'; import { uuidv4, Workspace } from '@blocksuite/store'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports import type { QueryContent } from '@blocksuite/store/dist/workspace/search'; import { useRouter } from 'next/router'; -import { useCallback, useMemo } from 'react'; +import { useCallback } from 'react'; import { useChangePageMeta } from '@/hooks/use-change-page-meta'; +import { PageMeta } from '@/providers/app-state-provider'; import { useGlobalState } from '@/store/app'; export type EditorHandlers = { @@ -48,107 +48,104 @@ export const usePageHelper = (): EditorHandlers => { useCallback(store => store.currentDataCenterWorkspace, []) ); - return useMemo( - () => ({ - createPage: ({ - pageId = uuidv4().replaceAll('-', ''), - title = '', - } = {}) => { - return new Promise(resolve => { - if (!currentWorkspace) { - return resolve(null); - } - currentWorkspace.blocksuiteWorkspace?.createPage(pageId); - currentWorkspace.blocksuiteWorkspace?.signals.pageAdded.once( - addedPageId => { - currentWorkspace.blocksuiteWorkspace?.setPageMeta(addedPageId, { - title, - }); - resolve(addedPageId); - } - ); - }); - }, - toggleFavoritePage: async pageId => { - const pageMeta = getPageMeta(currentWorkspace, pageId); - if (!pageMeta) { - return Promise.reject('No page'); - } - const favorite = !pageMeta.favorite; - changePageMeta(pageMeta.id, { - favorite, - }); - return favorite; - }, - toggleDeletePage: async pageId => { - const pageMeta = getPageMeta(currentWorkspace, pageId); - - if (!pageMeta) { - return Promise.reject('No page'); - } - const trash = !pageMeta.trash; - - changePageMeta(pageMeta.id, { - trash, - trashDate: +new Date(), - }); - return trash; - }, - search: (query: QueryContent, workspace?: Workspace) => { - if (workspace) { - return workspace.search(query); - } - if (currentWorkspace) { - if (currentWorkspace.blocksuiteWorkspace) { - return currentWorkspace.blocksuiteWorkspace.search(query); - } - } - return new Map(); - }, - changePageMode: async (pageId, mode) => { - const pageMeta = getPageMeta(currentWorkspace, pageId); - if (!pageMeta) { - return Promise.reject('No page'); - } - - editor?.setAttribute('mode', mode as string); - - changePageMeta(pageMeta.id, { - mode, - }); - return mode; - }, - permanentlyDeletePage: pageId => { - // TODO: workspace.meta.removePage or workspace.removePage? - - currentWorkspace!.blocksuiteWorkspace?.meta.removePage(pageId); - }, - openPage: (pageId, query = {}, newTab = false) => { - pageId = pageId.replace('space:', ''); - - if (newTab) { - window.open(`/workspace/${currentWorkspace?.id}/${pageId}`, '_blank'); - return Promise.resolve(true); - } - return router.push({ - pathname: `/workspace/${currentWorkspace?.id}/${pageId}`, - query, - }); - }, - getPageMeta: pageId => { + return { + createPage: ({ + pageId = uuidv4().replaceAll('-', ''), + title = '', + } = {}) => { + return new Promise(resolve => { if (!currentWorkspace) { - return null; + return resolve(null); } - - return ( - (currentWorkspace.blocksuiteWorkspace?.meta.pageMetas.find( - page => page.id === pageId - ) as PageMeta) || null + currentWorkspace.blocksuiteWorkspace?.createPage(pageId); + currentWorkspace.blocksuiteWorkspace?.signals.pageAdded.once( + addedPageId => { + currentWorkspace.blocksuiteWorkspace?.setPageMeta(addedPageId, { + title, + }); + resolve(addedPageId); + } ); - }, - }), - [changePageMeta, currentWorkspace, editor, router] - ); + }); + }, + toggleFavoritePage: async pageId => { + const pageMeta = getPageMeta(currentWorkspace, pageId); + if (!pageMeta) { + return Promise.reject('No page'); + } + const favorite = !pageMeta.favorite; + changePageMeta(pageMeta.id, { + favorite, + }); + return favorite; + }, + toggleDeletePage: async pageId => { + const pageMeta = getPageMeta(currentWorkspace, pageId); + + if (!pageMeta) { + return Promise.reject('No page'); + } + const trash = !pageMeta.trash; + + changePageMeta(pageMeta.id, { + trash, + trashDate: +new Date(), + }); + return trash; + }, + search: (query: QueryContent, workspace?: Workspace) => { + if (workspace) { + return workspace.search(query); + } + if (currentWorkspace) { + if (currentWorkspace.blocksuiteWorkspace) { + return currentWorkspace.blocksuiteWorkspace.search(query); + } + } + return new Map(); + }, + changePageMode: async (pageId, mode) => { + const pageMeta = getPageMeta(currentWorkspace, pageId); + if (!pageMeta) { + return Promise.reject('No page'); + } + + editor?.setAttribute('mode', mode as string); + + changePageMeta(pageMeta.id, { + mode, + }); + return mode; + }, + permanentlyDeletePage: pageId => { + // TODO: workspace.meta.removePage or workspace.removePage? + + currentWorkspace!.blocksuiteWorkspace?.meta.removePage(pageId); + }, + openPage: (pageId, query = {}, newTab = false) => { + pageId = pageId.replace('space:', ''); + + if (newTab) { + window.open(`/workspace/${currentWorkspace?.id}/${pageId}`, '_blank'); + return Promise.resolve(true); + } + return router.push({ + pathname: `/workspace/${currentWorkspace?.id}/${pageId}`, + query, + }); + }, + getPageMeta: pageId => { + if (!currentWorkspace) { + return null; + } + + return ( + (currentWorkspace.blocksuiteWorkspace?.meta.pageMetas.find( + page => page.id === pageId + ) as PageMeta) || null + ); + }, + }; }; export default usePageHelper; diff --git a/apps/web/src/hooks/use-router-target-workspace.ts b/apps/web/src/hooks/use-router-target-workspace.ts deleted file mode 100644 index 67a694c161..0000000000 --- a/apps/web/src/hooks/use-router-target-workspace.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useDataCenter, useDataCenterWorkspace } from '@affine/store'; -import { useRouter } from 'next/router'; -import { useMemo } from 'react'; - -export function useRouterTargetWorkspace() { - const router = useRouter(); - const dataCenter = useDataCenter(); - const workspaceId = - typeof router.query.workspaceId === 'string' - ? router.query.workspaceId - : dataCenter.workspaces.at(0)?.id ?? null; - const targetWorkspace = useDataCenterWorkspace(workspaceId); - const notExist = useMemo( - () => - workspaceId && - dataCenter.workspaces.length && - dataCenter.workspaces.findIndex( - meta => meta.id.toString() === workspaceId - ) === -1, - [dataCenter.workspaces, workspaceId] - ); - return { - targetWorkspace, - exist: !notExist, - }; -} diff --git a/apps/web/src/hooks/use-workspace-helper.ts b/apps/web/src/hooks/use-workspace-helper.ts index 3914938f5c..360ba06dcd 100644 --- a/apps/web/src/hooks/use-workspace-helper.ts +++ b/apps/web/src/hooks/use-workspace-helper.ts @@ -1,10 +1,10 @@ import { WorkspaceUnit } from '@affine/datacenter'; import { useCallback } from 'react'; -import { useDataCenter, useGlobalState } from '@/store/app'; +import { useGlobalState } from '@/store/app'; export const useWorkspaceHelper = () => { - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); const currentWorkspace = useGlobalState( useCallback(store => store.currentDataCenterWorkspace, []) ); diff --git a/apps/web/src/pages/_app.tsx b/apps/web/src/pages/_app.tsx index d785b15b5b..721f1f2102 100644 --- a/apps/web/src/pages/_app.tsx +++ b/apps/web/src/pages/_app.tsx @@ -6,22 +6,24 @@ import '../utils/print-build-info'; import '@affine/i18n'; import { useTranslation } from '@affine/i18n'; -import { DataCenterPreloader } from '@affine/store'; import { Logger } from '@toeverything/pathfinder-logger'; import type { NextPage } from 'next'; import type { AppProps } from 'next/app'; import Head from 'next/head'; // import AppStateProvider2 from '@/providers/app-state-provider2/provider'; -import type { ReactElement, ReactNode } from 'react'; -import { Suspense } from 'react'; +import { useRouter } from 'next/router'; +import type { PropsWithChildren, ReactElement, ReactNode } from 'react'; +import { Suspense, useEffect } from 'react'; import React from 'react'; import { PageLoading } from '@/components/loading'; import { MessageCenterHandler } from '@/components/message-center-handler'; import ProviderComposer from '@/components/provider-composer'; +import { AppStateProvider } from '@/providers/app-state-provider'; import ConfirmProvider from '@/providers/ConfirmProvider'; import { ThemeProvider } from '@/providers/ThemeProvider'; import { GlobalAppProvider } from '@/store/app'; +import { DataCenterPreloader } from '@/store/app/datacenter'; import { ModalProvider } from '@/store/globalModal'; export type NextPageWithLayout

, IP = P> = NextPage< @@ -35,9 +37,16 @@ type AppPropsWithLayout = AppProps & { Component: NextPageWithLayout; }; +// Page list which do not rely on app state +const NoNeedAppStatePageList = [ + '/404', + '/public-workspace/[workspaceId]', + '/public-workspace/[workspaceId]/[pageId]', +]; const App = ({ Component, pageProps }: AppPropsWithLayout) => { const getLayout = Component.getLayout || (page => page); const { i18n } = useTranslation(); + const router = useRouter(); React.useEffect(() => { document.documentElement.lang = i18n.language; @@ -56,24 +65,43 @@ const App = ({ Component, pageProps }: AppPropsWithLayout) => { AFFiNE - , - , - , - , - ]} - > - }> - - - {getLayout()} - - - - + + , + , + , + , + ]} + > + {NoNeedAppStatePageList.includes(router.route) ? ( + getLayout() + ) : ( + }> + + + + {getLayout()} + + + + + )} + + ); }; +const AppDefender = ({ children }: PropsWithChildren) => { + const router = useRouter(); + useEffect(() => { + if (['/index.html', '/'].includes(router.asPath)) { + router.replace('/workspace'); + } + }, [router]); + + return <>{children}; +}; + export default App; diff --git a/apps/web/src/pages/index.tsx b/apps/web/src/pages/index.tsx index dd77724790..cf3012d367 100644 --- a/apps/web/src/pages/index.tsx +++ b/apps/web/src/pages/index.tsx @@ -1,15 +1,7 @@ import type { NextPage } from 'next'; -import { useRouter } from 'next/router'; -import { useEffect } from 'react'; - -import { PageLoading } from '@/components/loading'; const Home: NextPage = () => { - const router = useRouter(); - useEffect(() => { - router.replace('/workspace'); - }, [router]); - return ; + return

; }; export default Home; diff --git a/apps/web/src/pages/invite/[invite_code].tsx b/apps/web/src/pages/invite/[invite_code].tsx index 3828d00cdb..9812f1e411 100644 --- a/apps/web/src/pages/invite/[invite_code].tsx +++ b/apps/web/src/pages/invite/[invite_code].tsx @@ -11,7 +11,7 @@ import { useEffect, useState } from 'react'; import { PageLoading } from '@/components/loading'; import { useWorkspaceHelper } from '@/hooks/use-workspace-helper'; -import { useDataCenter } from '@/store/app'; +import { useGlobalState } from '@/store/app'; import inviteError from '../../../public/imgs/invite-error.svg'; import inviteSuccess from '../../../public/imgs/invite-success.svg'; @@ -21,7 +21,7 @@ export default function DevPage() { const router = useRouter(); const [inviteData, setInviteData] = useState(null); const { acceptInvite } = useWorkspaceHelper(); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); useEffect(() => { const init = async () => { diff --git a/apps/web/src/pages/public-workspace/[workspaceId]/[pageId].tsx b/apps/web/src/pages/public-workspace/[workspaceId]/[pageId].tsx index 4c25c703e5..fe78bbabb4 100644 --- a/apps/web/src/pages/public-workspace/[workspaceId]/[pageId].tsx +++ b/apps/web/src/pages/public-workspace/[workspaceId]/[pageId].tsx @@ -2,7 +2,6 @@ import { displayFlex, styled } from '@affine/component'; import { Breadcrumbs } from '@affine/component'; import { IconButton } from '@affine/component'; import { useTranslation } from '@affine/i18n'; -import { useDataCenterPublicWorkspace } from '@affine/store'; import { PaperIcon, SearchIcon } from '@blocksuite/icons'; import dynamic from 'next/dynamic'; import NextLink from 'next/link'; @@ -11,6 +10,7 @@ import { ReactElement, useEffect, useMemo } from 'react'; import { PageLoading } from '@/components/loading'; import { WorkspaceUnitAvatar } from '@/components/workspace-avatar'; +import { useLoadPublicWorkspace } from '@/hooks/use-load-public-workspace'; import { useModal } from '@/store/globalModal'; import type { NextPageWithLayout } from '../..//_app'; @@ -21,17 +21,13 @@ const DynamicBlocksuite = dynamic(() => import('@/components/editor'), { const Page: NextPageWithLayout = () => { const router = useRouter(); - const { workspaceId, pageId } = router.query; - const { error, workspace: workspaceUnit } = useDataCenterPublicWorkspace( - typeof workspaceId === 'string' ? workspaceId : null - ); + const { workspaceId, pageId } = router.query as Record; + const { status, workspace: workspaceUnit } = + useLoadPublicWorkspace(workspaceId); const { triggerQuickSearchModal } = useModal(); const { t } = useTranslation(); const page = useMemo(() => { - if (typeof pageId !== 'string') { - return null; - } if (workspaceUnit?.blocksuiteWorkspace) { return workspaceUnit.blocksuiteWorkspace.getPage(pageId); } @@ -50,15 +46,18 @@ const Page: NextPageWithLayout = () => { }, [workspace, router, pageId]); useEffect(() => { - if (error) { + if (status === 'error') { router.push('/404'); } - }, [router, error]); + }, [router, status]); - if (!workspace) { + if (status === 'loading') { return ; } + if (status === 'error') { + return null; + } return ( @@ -87,7 +86,7 @@ const Page: NextPageWithLayout = () => { - {page && ( + {workspace && page && ( { const router = useRouter(); const { triggerQuickSearchModal } = useModal(); - const { workspace, error } = useDataCenterPublicWorkspace( - typeof router.query.workspaceId === 'string' - ? router.query.workspaceId - : null + const { status, workspace } = useLoadPublicWorkspace( + router.query.workspaceId as string ); const pageList = useMemo(() => { @@ -32,15 +31,19 @@ const All = () => { const workspaceName = workspace?.blocksuiteWorkspace?.meta.name; useEffect(() => { - if (error) { + if (status === 'error') { router.push('/404'); } - }, [router, error]); + }, [router, status]); - if (!workspace) { + if (status === 'loading') { return ; } + if (status === 'error') { + return null; + } + return ( diff --git a/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx b/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx index b3bd7bbc20..ad6a480d63 100644 --- a/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx +++ b/apps/web/src/pages/workspace/[workspaceId]/[pageId].tsx @@ -15,7 +15,7 @@ import { EditorHeader } from '@/components/header'; import MobileModal from '@/components/mobile-modal'; import WorkspaceLayout from '@/components/workspace-layout'; import { usePageHelper } from '@/hooks/use-page-helper'; -import { useDataCenter, useGlobalState, useGlobalStateApi } from '@/store/app'; +import { useGlobalState, useGlobalStateApi } from '@/store/app'; import exampleMarkdown from '@/templates/Welcome-to-AFFiNE-Alpha-Downhills.md'; import type { NextPageWithLayout } from '../..//_app'; @@ -109,7 +109,7 @@ const PageDefender = ({ children }: PropsWithChildren) => { const currentWorkspace = useGlobalState( useCallback(store => store.currentDataCenterWorkspace, []) ); - const dataCenter = useDataCenter(); + const dataCenter = useGlobalState(store => store.dataCenter); const { createPage } = usePageHelper(); useEffect(() => { diff --git a/apps/web/src/pages/workspace/[workspaceId]/index.tsx b/apps/web/src/pages/workspace/[workspaceId]/index.tsx index 16ed6cd81f..5c79720f23 100644 --- a/apps/web/src/pages/workspace/[workspaceId]/index.tsx +++ b/apps/web/src/pages/workspace/[workspaceId]/index.tsx @@ -1,48 +1,44 @@ import { useRouter } from 'next/router'; -import { useEffect } from 'react'; +import { useCallback, useEffect } from 'react'; import { PageLoading } from '@/components/loading'; +import useEnsureWorkspace from '@/hooks/use-ensure-workspace'; import usePageHelper from '@/hooks/use-page-helper'; -import { useRouterTargetWorkspace } from '@/hooks/use-router-target-workspace'; +import { useGlobalState } from '@/store/app'; const WorkspaceIndex = () => { const router = useRouter(); - const { targetWorkspace, exist } = useRouterTargetWorkspace(); + const currentWorkspace = useGlobalState( + useCallback(store => store.currentDataCenterWorkspace, []) + ); const { createPage } = usePageHelper(); + const { workspaceLoaded, activeWorkspaceId } = useEnsureWorkspace(); useEffect(() => { - if (!exist) { - router.push('/404'); - return; - } - const abortController = new AbortController(); const initPage = async () => { - if (abortController.signal.aborted) { - return; - } - if (!targetWorkspace) { + if (!workspaceLoaded) { return; } const savedPageId = - targetWorkspace.blocksuiteWorkspace?.meta.pageMetas.find( + currentWorkspace?.blocksuiteWorkspace?.meta.pageMetas.find( meta => !meta.trash )?.id; if (savedPageId) { - router.replace(`/workspace/${targetWorkspace.id}/${savedPageId}`); + router.replace(`/workspace/${activeWorkspaceId}/${savedPageId}`); return; - } else { - const pageId = await createPage(); - if (abortController.signal.aborted) { - return; - } - router.replace(`/workspace/${targetWorkspace.id}/${pageId}`); } + + const pageId = await createPage(); + router.replace(`/workspace/${activeWorkspaceId}/${pageId}`); }; initPage(); - return () => { - abortController.abort(); - }; - }, [targetWorkspace, createPage, router, exist]); + }, [ + currentWorkspace, + createPage, + router, + workspaceLoaded, + activeWorkspaceId, + ]); return ; }; diff --git a/apps/web/src/pages/workspace/index.tsx b/apps/web/src/pages/workspace/index.tsx index b67d2b83bd..bbc89cdf83 100644 --- a/apps/web/src/pages/workspace/index.tsx +++ b/apps/web/src/pages/workspace/index.tsx @@ -1,31 +1,23 @@ -import { useGlobalStateApi } from '@affine/store'; import { useRouter } from 'next/router'; -import { useEffect, useRef } from 'react'; +import { useCallback, useEffect } from 'react'; import { PageLoading } from '@/components/loading'; -import { useRouterTargetWorkspace } from '@/hooks/use-router-target-workspace'; +import useEnsureWorkspace from '@/hooks/use-ensure-workspace'; +import { useGlobalState } from '@/store/app'; export const WorkspaceIndex = () => { const router = useRouter(); - const api = useGlobalStateApi(); - const { targetWorkspace, exist } = useRouterTargetWorkspace(); - const onceRef = useRef(true); + const currentWorkspace = useGlobalState( + useCallback(store => store.currentDataCenterWorkspace, []) + ); + const { workspaceLoaded } = useEnsureWorkspace(); + useEffect(() => { - if (!onceRef.current) { - return; + if (workspaceLoaded) { + router.push(`/workspace/${currentWorkspace?.id}`); } - onceRef.current = true; - if (!exist) { - router.push('/404'); - } else if (targetWorkspace) { - api - .getState() - .loadWorkspace(targetWorkspace.id) - .then(() => { - router.push(`/workspace/${targetWorkspace.id}`); - }); - } - }, [targetWorkspace, exist, router, api]); + }, [currentWorkspace, router, workspaceLoaded]); + return ; }; diff --git a/apps/web/src/providers/ThemeProvider.tsx b/apps/web/src/providers/ThemeProvider.tsx index 5882040ed5..bb452f36ae 100644 --- a/apps/web/src/providers/ThemeProvider.tsx +++ b/apps/web/src/providers/ThemeProvider.tsx @@ -1,4 +1,5 @@ import { + Theme, ThemeMode, ThemeProviderProps, ThemeProviderValue, @@ -16,15 +17,7 @@ import { ThemeProvider as MuiThemeProvider, } from '@mui/material/styles'; import type { PropsWithChildren } from 'react'; -import { - createContext, - useCallback, - useContext, - useEffect, - useMemo, - useState, - useSyncExternalStore, -} from 'react'; +import { createContext, useContext, useEffect, useState } from 'react'; import useCurrentPageMeta from '@/hooks/use-current-page-meta'; @@ -42,31 +35,16 @@ export const ThemeProvider = ({ defaultTheme = 'light', children, }: PropsWithChildren) => { - const localStorageThemeMode = useSyncExternalStore( - useCallback(cb => { - localStorageThemeHelper.callback.add(cb); - return () => { - localStorageThemeHelper.callback.delete(cb); - }; - }, []), - useCallback(() => localStorageThemeHelper.get() ?? 'light', []), - useCallback(() => defaultTheme, [defaultTheme]) - ); - const [mode, setMode] = useState(defaultTheme); - if (localStorageThemeMode !== mode) { - setMode(localStorageThemeMode); - } + const [theme, setTheme] = useState(defaultTheme); + const [mode, setMode] = useState('auto'); const { mode: editorMode = 'page' } = useCurrentPageMeta() || {}; const themeStyle = - mode === 'light' ? getLightTheme(editorMode) : getDarkTheme(editorMode); - const changeMode = useCallback( - (themeMode: ThemeMode) => { - themeMode !== mode && setMode(themeMode); - // Remember the theme mode which user selected for next time - localStorageThemeHelper.set(themeMode); - }, - [mode] - ); + theme === 'light' ? getLightTheme(editorMode) : getDarkTheme(editorMode); + const changeMode = (themeMode: ThemeMode) => { + themeMode !== mode && setMode(themeMode); + // Remember the theme mode which user selected for next time + localStorageThemeHelper.set(themeMode); + }; // ===================== A temporary solution, just use system theme and not remember the user selected ==================== useEffect(() => { @@ -79,9 +57,9 @@ export const ThemeProvider = ({ }); }, []); - // useEffect(() => { - // setTheme(mode === 'auto' ? theme : mode); - // }, [mode, setTheme, theme]); + useEffect(() => { + setTheme(mode === 'auto' ? theme : mode); + }, [mode, setTheme, theme]); // ===================== ==================== // useEffect(() => { @@ -115,12 +93,7 @@ export const ThemeProvider = ({ return ( // Use MuiThemeProvider is just because some Transitions in Mui components need it - ({ mode, changeMode, theme: themeStyle }), - [changeMode, mode, themeStyle] - )} - > + >; + +export const AppState = createContext({} as AppStateContext); + +export const useAppState = () => useContext(AppState); +export const AppStateProvider = ({ + children, +}: PropsWithChildren) => { + const currentDataCenterWorkspace = useGlobalState( + store => store.currentDataCenterWorkspace + ); + const [blobState, setBlobState] = useState(false); + + useEffect(() => { + let syncChangeDisposable: Disposable | undefined; + const currentWorkspace = currentDataCenterWorkspace; + if (!currentWorkspace) { + return; + } + const getBlobStorage = async () => { + const blobStorage = await currentWorkspace?.blocksuiteWorkspace?.blobs; + syncChangeDisposable = blobStorage?.signals.onBlobSyncStateChange.on( + () => { + setBlobState(blobStorage?.uploading); + } + ); + }; + getBlobStorage(); + return () => { + syncChangeDisposable?.dispose(); + }; + }, [currentDataCenterWorkspace]); + + return ( + + {children} + + ); +}; diff --git a/apps/web/src/providers/app-state-provider/index.ts b/apps/web/src/providers/app-state-provider/index.ts new file mode 100644 index 0000000000..0668aac381 --- /dev/null +++ b/apps/web/src/providers/app-state-provider/index.ts @@ -0,0 +1,2 @@ +export * from './interface'; +export * from './Provider'; diff --git a/apps/web/src/providers/app-state-provider/interface.ts b/apps/web/src/providers/app-state-provider/interface.ts new file mode 100644 index 0000000000..d4c6226f97 --- /dev/null +++ b/apps/web/src/providers/app-state-provider/interface.ts @@ -0,0 +1,28 @@ +import type { EditorContainer } from '@blocksuite/editor'; +import type { + Page as StorePage, + PageMeta as StorePageMeta, +} from '@blocksuite/store'; + +export interface PageMeta extends StorePageMeta { + favorite: boolean; + trash: boolean; + trashDate: number; + updatedDate: number; + mode: 'edgeless' | 'page'; +} + +export type AppStateValue = { + blobDataSynced: boolean; +}; + +/** + * @deprecated + */ +export type AppStateFunction = { + // todo: remove this in the future +}; + +export type AppStateContext = AppStateValue & AppStateFunction; + +export type CreateEditorHandler = (page: StorePage) => EditorContainer | null; diff --git a/apps/web/src/providers/app-state-provider/utils.ts b/apps/web/src/providers/app-state-provider/utils.ts new file mode 100644 index 0000000000..4e4130f8c9 --- /dev/null +++ b/apps/web/src/providers/app-state-provider/utils.ts @@ -0,0 +1,9 @@ +import { DataCenter } from '@affine/datacenter'; + +const DEFAULT_WORKSPACE_NAME = 'Demo Workspace'; + +export const createDefaultWorkspace = async (dataCenter: DataCenter) => { + return dataCenter.createWorkspace({ + name: DEFAULT_WORKSPACE_NAME, + }); +}; diff --git a/packages/store/src/app/blocksuite/index.ts b/apps/web/src/store/app/blocksuite/index.ts similarity index 96% rename from packages/store/src/app/blocksuite/index.ts rename to apps/web/src/store/app/blocksuite/index.ts index 884f63e110..8d12e7cab6 100644 --- a/packages/store/src/app/blocksuite/index.ts +++ b/apps/web/src/store/app/blocksuite/index.ts @@ -2,7 +2,7 @@ import { BlockHub } from '@blocksuite/blocks'; import { EditorContainer } from '@blocksuite/editor'; import { Page, Workspace } from '@blocksuite/store'; -import { GlobalActionsCreator } from '..'; +import { GlobalActionsCreator } from '@/store/app'; export interface BlockSuiteState { currentWorkspace: Workspace | null; diff --git a/apps/web/src/store/app/datacenter/index.tsx b/apps/web/src/store/app/datacenter/index.tsx new file mode 100644 index 0000000000..7e9f8c61e8 --- /dev/null +++ b/apps/web/src/store/app/datacenter/index.tsx @@ -0,0 +1,142 @@ +import type { DataCenter } from '@affine/datacenter'; +import { getDataCenter, WorkspaceUnit } from '@affine/datacenter'; +import { DisposableGroup } from '@blocksuite/global/utils'; +import React, { useCallback, useEffect } from 'react'; + +import { PageMeta } from '@/providers/app-state-provider'; +import { createDefaultWorkspace } from '@/providers/app-state-provider/utils'; +import { + GlobalActionsCreator, + useGlobalState, + useGlobalStateApi, +} from '@/store/app'; + +export type DataCenterState = { + readonly dataCenter: DataCenter; + readonly dataCenterPromise: Promise; + currentDataCenterWorkspace: WorkspaceUnit | null; + dataCenterPageList: PageMeta[]; +}; + +export type DataCenterActions = { + loadWorkspace: ( + workspaceId: string, + signal?: AbortSignal + ) => Promise; +}; + +export const createDataCenterState = (): DataCenterState => ({ + dataCenter: null!, + + dataCenterPromise: null!, + currentDataCenterWorkspace: null, + dataCenterPageList: [], +}); +export const createDataCenterActions: GlobalActionsCreator< + DataCenterActions +> = (set, get) => ({ + loadWorkspace: async (workspaceId, signal) => { + const { dataCenter, currentDataCenterWorkspace } = get(); + if (!dataCenter.workspaces.find(v => v.id.toString() === workspaceId)) { + return null; + } + if (workspaceId === currentDataCenterWorkspace?.id) { + return currentDataCenterWorkspace; + } + const workspace = (await dataCenter.loadWorkspace(workspaceId)) ?? null; + + if (signal?.aborted) { + // do not update state if aborted + return null; + } + + let isOwner; + if (workspace?.provider === 'local') { + // isOwner is useful only in the cloud + isOwner = true; + } else { + const userInfo = get().user; // We must ensure workspace.owner exists, then ensure id same. + isOwner = userInfo?.id === workspace?.owner?.id; + } + + const pageList = + (workspace?.blocksuiteWorkspace?.meta.pageMetas as PageMeta[]) ?? []; + if (workspace?.blocksuiteWorkspace) { + set({ + currentWorkspace: workspace.blocksuiteWorkspace, + }); + } + set({ + isOwner, + }); + + set({ + currentDataCenterWorkspace: workspace, + dataCenterPageList: pageList, + }); + + return workspace; + }, +}); + +export function DataCenterPreloader({ children }: React.PropsWithChildren) { + const dataCenter = useGlobalState(useCallback(store => store.dataCenter, [])); + const dataCenterPromise = useGlobalState( + useCallback(store => store.dataCenterPromise, []) + ); + const api = useGlobalStateApi(); + //# region effect for updating workspace page list + useEffect(() => { + return api.subscribe( + store => store.currentDataCenterWorkspace, + currentWorkspace => { + const disposableGroup = new DisposableGroup(); + disposableGroup.add( + currentWorkspace?.blocksuiteWorkspace?.meta.pagesUpdated.on(() => { + if ( + Array.isArray( + currentWorkspace.blocksuiteWorkspace?.meta.pageMetas + ) + ) { + api.setState({ + dataCenterPageList: currentWorkspace.blocksuiteWorkspace?.meta + .pageMetas as PageMeta[], + }); + } + }) + ); + return () => { + disposableGroup.dispose(); + }; + } + ); + }, [api]); + //# endregion + + if (!dataCenter && !dataCenterPromise) { + const promise = getDataCenter(); + api.setState({ dataCenterPromise: promise }); + promise.then(async dataCenter => { + // Ensure datacenter has at least one workspace + if (dataCenter.workspaces.length === 0) { + await createDefaultWorkspace(dataCenter); + } + // set initial state + api.setState({ + dataCenter, + currentWorkspace: null, + currentDataCenterWorkspace: null, + dataCenterPageList: [], + user: + (await dataCenter.getUserInfo( + dataCenter.providers.filter(p => p.id !== 'local')[0]?.id + )) || null, + }); + }); + throw promise; + } + if (!dataCenter) { + throw dataCenterPromise; + } + return <>{children}; +} diff --git a/apps/web/src/store/app/index.tsx b/apps/web/src/store/app/index.tsx index 295c4d7a70..d2925b0ee0 100644 --- a/apps/web/src/store/app/index.tsx +++ b/apps/web/src/store/app/index.tsx @@ -1 +1,89 @@ -export * from '@affine/store'; +import type React from 'react'; +import { createContext, useContext, useMemo } from 'react'; +import { createStore, StateCreator, useStore } from 'zustand'; +import { combine, subscribeWithSelector } from 'zustand/middleware'; +import type { UseBoundStore } from 'zustand/react'; + +import { + BlockSuiteActions, + BlockSuiteState, + createBlockSuiteActions, + createBlockSuiteState, +} from '@/store/app/blocksuite'; +import { + createDataCenterActions, + createDataCenterState, + DataCenterActions, + DataCenterState, +} from '@/store/app/datacenter'; +import { + createUserActions, + createUserState, + UserActions, + UserState, +} from '@/store/app/user'; + +export type GlobalActionsCreator = StateCreator< + Store, + [['zustand/subscribeWithSelector', unknown]], + [], + Actions +>; + +export interface GlobalState + extends BlockSuiteState, + UserState, + DataCenterState {} + +export interface GlobalActions + extends BlockSuiteActions, + UserActions, + DataCenterActions {} + +const create = () => + createStore( + subscribeWithSelector( + combine( + { + ...createBlockSuiteState(), + ...createUserState(), + ...createDataCenterState(), + }, + /* deepscan-disable TOO_MANY_ARGS */ + (set, get, api) => ({ + ...createBlockSuiteActions(set, get, api), + ...createUserActions(set, get, api), + ...createDataCenterActions(set, get, api), + }) + /* deepscan-enable TOO_MANY_ARGS */ + ) + ) + ); +type Store = ReturnType; + +const GlobalStateContext = createContext(null); + +export const useGlobalStateApi = () => { + const api = useContext(GlobalStateContext); + if (!api) { + throw new Error('cannot find modal context'); + } + return api; +}; + +export const useGlobalState: UseBoundStore = (( + selector: Parameters>[0], + equals: Parameters>[1] +) => { + const api = useGlobalStateApi(); + return useStore(api, selector, equals); +}) as any; + +export const GlobalAppProvider: React.FC = + function ModelProvider({ children }) { + return ( + create(), [])}> + {children} + + ); + }; diff --git a/packages/store/src/app/user/index.ts b/apps/web/src/store/app/user/index.ts similarity index 84% rename from packages/store/src/app/user/index.ts rename to apps/web/src/store/app/user/index.ts index ec2463e77e..0da1e28614 100644 --- a/packages/store/src/app/user/index.ts +++ b/apps/web/src/store/app/user/index.ts @@ -1,8 +1,7 @@ import { User } from '@affine/datacenter'; import { DebugLogger } from '@affine/debug'; -import { GlobalActionsCreator } from '..'; -import { dataCenterPromise } from '../datacenter'; +import { GlobalActionsCreator } from '@/store/app'; export interface UserState { user: User | null; @@ -28,8 +27,7 @@ export const createUserActions: GlobalActionsCreator = ( ) => { return { login: async () => { - const { currentDataCenterWorkspace: workspace } = get(); - const dataCenter = await dataCenterPromise; + const { dataCenter, currentDataCenterWorkspace: workspace } = get(); try { await dataCenter.login(); const user = (await dataCenter.getUserInfo()) as User; @@ -58,7 +56,7 @@ export const createUserActions: GlobalActionsCreator = ( } }, logout: async () => { - const dataCenter = await dataCenterPromise; + const { dataCenter } = get(); await dataCenter.logout(); logger.debug('logout success'); set({ user: null }); diff --git a/packages/component/src/styles/utils/localStorageThemeHelper.ts b/packages/component/src/styles/utils/localStorageThemeHelper.ts index 068defc189..4aee8eca0f 100644 --- a/packages/component/src/styles/utils/localStorageThemeHelper.ts +++ b/packages/component/src/styles/utils/localStorageThemeHelper.ts @@ -2,13 +2,11 @@ import { ThemeMode } from '../types'; export class LocalStorageThemeHelper { name = 'Affine-theme-mode'; - callback = new Set<() => void>(); get = (): ThemeMode | null => { return localStorage.getItem(this.name) as ThemeMode | null; }; set = (mode: ThemeMode) => { localStorage.setItem(this.name, mode); - this.callback.forEach(cb => cb()); }; } diff --git a/packages/data-center/src/index.ts b/packages/data-center/src/index.ts index 49b4be1a41..7f9eff682c 100644 --- a/packages/data-center/src/index.ts +++ b/packages/data-center/src/index.ts @@ -6,6 +6,17 @@ const _initializeDataCenter = () => { return () => { if (!_dataCenterInstance) { _dataCenterInstance = DataCenter.init(); + _dataCenterInstance.then(dc => { + try { + if (window) { + (window as any).dc = dc; + } + } catch (_) { + // ignore + } + + return dc; + }); } return _dataCenterInstance; @@ -14,7 +25,7 @@ const _initializeDataCenter = () => { export const getDataCenter = _initializeDataCenter(); -export { DataCenter }; +export type { DataCenter }; export * from './message'; export { AffineProvider } from './provider/affine'; export * from './provider/affine/apis'; diff --git a/packages/store/package.json b/packages/store/package.json deleted file mode 100644 index 189b4869d8..0000000000 --- a/packages/store/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "@affine/store", - "private": true, - "main": "./src/index.ts", - "dependencies": { - "@affine/datacenter": "workspace:*", - "@affine/debug": "workspace:*", - "@blocksuite/blocks": "0.4.1", - "@blocksuite/editor": "0.4.1", - "@blocksuite/global": "0.4.1", - "@blocksuite/react": "0.4.1", - "@blocksuite/store": "0.4.1", - "lit": "^2.6.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "swr": "^2.0.3", - "yjs": "^13.5.46", - "zustand": "^4.3.3" - }, - "devDependencies": { - "@types/react": "^18.0.28", - "@types/react-dom": "^18.0.11" - } -} diff --git a/packages/store/src/app/datacenter/index.tsx b/packages/store/src/app/datacenter/index.tsx deleted file mode 100644 index e98c2c68b6..0000000000 --- a/packages/store/src/app/datacenter/index.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import { getDataCenter, WorkspaceUnit } from '@affine/datacenter'; -import { DataCenter } from '@affine/datacenter'; -import { Disposable, DisposableGroup } from '@blocksuite/global/utils'; -import type { PageMeta as StorePageMeta } from '@blocksuite/store'; -import React, { useEffect } from 'react'; -import useSWR from 'swr'; - -const DEFAULT_WORKSPACE_NAME = 'Demo Workspace'; - -export const createDefaultWorkspace = async (dataCenter: DataCenter) => { - return dataCenter.createWorkspace({ - name: DEFAULT_WORKSPACE_NAME, - }); -}; - -declare global { - // eslint-disable-next-line no-var - var dataCenterPromise: Promise; - // eslint-disable-next-line no-var - var dc: DataCenter; -} - -// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -let dataCenterPromise: Promise = null!; -if (!globalThis.dataCenterPromise) { - dataCenterPromise = getDataCenter(); - dataCenterPromise.then(dataCenter => { - globalThis.dc = dataCenter; - return dataCenter; - }); -} else { - dataCenterPromise = globalThis.dataCenterPromise; -} - -export { dataCenterPromise }; - -export interface PageMeta extends StorePageMeta { - favorite: boolean; - trash: boolean; - trashDate: number; - updatedDate: number; - mode: 'edgeless' | 'page'; -} - -import { GlobalActionsCreator, useGlobalStateApi } from '..'; - -export type DataCenterState = { - currentDataCenterWorkspace: WorkspaceUnit | null; - dataCenterPageList: PageMeta[]; - blobDataSynced: boolean; -}; - -export type DataCenterActions = { - loadWorkspace: ( - workspaceId: string, - signal?: AbortSignal - ) => Promise; -}; - -export const createDataCenterState = (): DataCenterState => ({ - currentDataCenterWorkspace: null, - dataCenterPageList: [], - blobDataSynced: false, -}); - -export const createDataCenterActions: GlobalActionsCreator< - DataCenterActions -> = (set, get) => ({ - loadWorkspace: async (workspaceId, signal) => { - const dataCenter = await dataCenterPromise; - const { currentDataCenterWorkspace } = get(); - if (!dataCenter.workspaces.find(v => v.id.toString() === workspaceId)) { - return null; - } - if (workspaceId === currentDataCenterWorkspace?.id) { - return currentDataCenterWorkspace; - } - const workspace = await dataCenter.loadWorkspace(workspaceId); - - if (!workspace) { - return null; - } - - if (signal?.aborted) { - // do not update state if aborted - return null; - } - - let isOwner; - if (workspace.provider === 'local') { - // isOwner is useful only in the cloud - isOwner = true; - } else { - const userInfo = get().user; // We must ensure workspace.owner exists, then ensure id same. - isOwner = userInfo?.id === workspace.owner?.id; - } - - const pageList = - (workspace.blocksuiteWorkspace?.meta.pageMetas as PageMeta[]) ?? []; - if (workspace.blocksuiteWorkspace) { - set({ - currentWorkspace: workspace.blocksuiteWorkspace, - }); - } - - set({ - isOwner, - currentDataCenterWorkspace: workspace, - dataCenterPageList: pageList, - }); - - return workspace; - }, -}); - -export function useDataCenter() { - const { data } = useSWR(['datacenter'], { - fallbackData: DataCenter.initEmpty(), - }); - return data as DataCenter; -} - -export function useDataCenterWorkspace( - workspaceId: string | null -): WorkspaceUnit | null { - const { data } = useSWR(['datacenter', workspaceId], { - fallbackData: null, - }); - return data ?? null; -} - -export function useDataCenterPublicWorkspace(workspaceId: string | null) { - const { data, error } = useSWR( - ['datacenter', workspaceId, 'public'], - { - fallbackData: null, - } - ); - return { - workspace: data ?? null, - error, - } as const; -} - -export function DataCenterPreloader({ children }: React.PropsWithChildren) { - const api = useGlobalStateApi(); - - // init user info from datacenter - useEffect(() => { - dataCenterPromise.then(async dataCenter => { - const user = await dataCenter.getUserInfo(); - if (!api.getState().user) { - api.setState({ user }); - } - }); - }, []); - - //# region effect for updating workspace page list - useEffect(() => { - return api.subscribe( - store => store.currentDataCenterWorkspace, - currentWorkspace => { - const disposableGroup = new DisposableGroup(); - disposableGroup.add( - currentWorkspace?.blocksuiteWorkspace?.meta.pagesUpdated.on(() => { - if ( - Array.isArray( - currentWorkspace.blocksuiteWorkspace?.meta.pageMetas - ) - ) { - api.setState({ - dataCenterPageList: currentWorkspace.blocksuiteWorkspace?.meta - .pageMetas as PageMeta[], - }); - } - }) - ); - return () => { - disposableGroup.dispose(); - }; - } - ); - }, [api]); - //# endregion - //# region effect for blobDataSynced - useEffect( - () => - api.subscribe( - store => store.currentDataCenterWorkspace, - workspace => { - if (!workspace?.blocksuiteWorkspace) { - return; - } - const controller = new AbortController(); - const blocksuiteWorkspace = workspace.blocksuiteWorkspace; - let syncChangeDisposable: Disposable | undefined; - async function subscribe() { - const blobStorage = await blocksuiteWorkspace.blobs; - if (controller.signal.aborted) { - return; - } - syncChangeDisposable = - blobStorage?.signals.onBlobSyncStateChange.on(() => { - if (controller.signal.aborted) { - syncChangeDisposable?.dispose(); - return; - } else { - api.setState({ - blobDataSynced: blobStorage?.uploading, - }); - } - }); - } - subscribe(); - return () => { - controller.abort(); - syncChangeDisposable?.dispose(); - }; - } - ), - [api] - ); - //# endregion - return <>{children}; -} diff --git a/packages/store/src/app/index.tsx b/packages/store/src/app/index.tsx deleted file mode 100644 index 690be2809a..0000000000 --- a/packages/store/src/app/index.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { assertEquals } from '@blocksuite/global/utils'; -import type React from 'react'; -import { createContext, useContext, useMemo } from 'react'; -import { preload, SWRConfig, SWRConfiguration } from 'swr'; -import { createStore, StateCreator, useStore } from 'zustand'; -import { combine, subscribeWithSelector } from 'zustand/middleware'; -import type { UseBoundStore } from 'zustand/react'; - -import { - BlockSuiteActions, - BlockSuiteState, - createBlockSuiteActions, - createBlockSuiteState, -} from './blocksuite'; -import { - createDataCenterActions, - createDataCenterState, - createDefaultWorkspace, - DataCenterActions, - dataCenterPromise, - DataCenterState, -} from './datacenter'; -import { - createUserActions, - createUserState, - UserActions, - UserState, -} from './user'; - -export type GlobalActionsCreator = StateCreator< - Store, - [['zustand/subscribeWithSelector', unknown]], - [], - Actions ->; - -export interface GlobalState - extends BlockSuiteState, - UserState, - DataCenterState {} - -export interface GlobalActions - extends BlockSuiteActions, - UserActions, - DataCenterActions {} - -const create = () => - createStore( - subscribeWithSelector( - combine( - { - ...createBlockSuiteState(), - ...createUserState(), - ...createDataCenterState(), - }, - /* deepscan-disable TOO_MANY_ARGS */ - (set, get, api) => ({ - ...createBlockSuiteActions(set, get, api), - ...createUserActions(set, get, api), - ...createDataCenterActions(set, get, api), - }) - /* deepscan-enable TOO_MANY_ARGS */ - ) - ) - ); -type Store = ReturnType; - -const GlobalStateContext = createContext(null); - -export const useGlobalStateApi = () => { - const api = useContext(GlobalStateContext); - if (!api) { - throw new Error('cannot find modal context'); - } - return api; -}; - -export const useGlobalState: UseBoundStore = (( - selector: Parameters>[0], - equals: Parameters>[1] -) => { - const api = useGlobalStateApi(); - return useStore(api, selector, equals); - // eslint-disable-next-line @typescript-eslint/no-explicit-any -}) as any; - -export type DataKey = - | ['datacenter', string | null, 'public' | undefined] - | ['datacenter']; - -const swrFetcher = async (keys: DataKey) => { - assertEquals(keys[0], 'datacenter'); - if (keys.length === 1) { - return await dataCenterPromise.then(async dataCenter => { - if (dataCenter.workspaces.length === 0) { - await createDefaultWorkspace(dataCenter); - } - return dataCenter; - }); - } else { - if (keys[1] === null) { - return null; - } - const dataCenter = await dataCenterPromise; - if (keys[2] === 'public') { - return dataCenter.loadPublicWorkspace(keys[1]); - } - return dataCenter.loadWorkspace(keys[1]); - } -}; - -preload(['datacenter'], swrFetcher); - -const swrConfig: SWRConfiguration = { - fetcher: swrFetcher, - suspense: true, -}; - -export const GlobalAppProvider: React.FC = - function ModelProvider({ children }) { - return ( - - create(), [])}> - {children} - - - ); - }; diff --git a/packages/store/src/index.ts b/packages/store/src/index.ts deleted file mode 100644 index 65ad06f9c7..0000000000 --- a/packages/store/src/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './app'; -export type { PageMeta } from './app/datacenter'; -export { createDefaultWorkspace, DataCenterPreloader } from './app/datacenter'; -export { - dataCenterPromise, - useDataCenter, - useDataCenterPublicWorkspace, - useDataCenterWorkspace, -} from './app/datacenter'; diff --git a/packages/store/tests/app.spec.tsx b/packages/store/tests/app.spec.tsx deleted file mode 100644 index b61a08ebf2..0000000000 --- a/packages/store/tests/app.spec.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/** - * @vitest-environment happy-dom - */ -import 'fake-indexeddb/auto'; - -import { DataCenter, getDataCenter } from '@affine/datacenter'; -import { - createDefaultWorkspace, - GlobalAppProvider, - useDataCenter, - useGlobalState, -} from '@affine/store'; -import { render } from '@testing-library/react'; -import { describe, expect, test } from 'vitest'; - -describe('App Store', () => { - test('init', async () => { - const dataCenterPromise = getDataCenter(); - const dataCenter = await dataCenterPromise; - await createDefaultWorkspace(dataCenter); - const Inner = () => { - const state = useGlobalState(); - const dataCenter = useDataCenter(); - expect(state).toBeTypeOf('object'); - expect(dataCenter).toBeInstanceOf(DataCenter); - return
Test2
; - }; - - const App = () => ( - -
Test1
- -
- ); - const app = render(); - app.getByText('Test2'); - }); -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea2fb45655..fcf8a09277 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,26 +44,26 @@ importers: vitest: ^0.28.5 devDependencies: '@changesets/cli': 2.26.0 - '@playwright/test': 1.30.0 + '@playwright/test': 1.31.0 '@testing-library/react': 14.0.0_biqbaboplfbrettd7655fr4n2y '@types/eslint': 8.21.1 '@types/node': 18.14.0 - '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm - '@vitejs/plugin-react': 3.1.0_vite@4.1.2 - '@vitest/coverage-istanbul': 0.28.5_happy-dom@8.5.0 + '@typescript-eslint/eslint-plugin': 5.53.0_ny4s7qc6yg74faf3d6xty2ofzy + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + '@vitejs/plugin-react': 3.1.0_vite@4.1.4 + '@vitest/coverage-istanbul': 0.28.5_happy-dom@8.7.1 concurrently: 7.6.0 cross-env: 7.0.3 eslint: 8.34.0 eslint-config-prettier: 8.6.0_eslint@8.34.0 - eslint-plugin-import: 2.27.5_mcvs2y73sfmcxqzpjj5lr7a2m4 + eslint-plugin-import: 2.27.5_dbs2zxbe2aiqaiiio3svelvkai eslint-plugin-prettier: 4.2.1_u5wnrdwibbfomslmnramz52buy eslint-plugin-react: 7.32.2_eslint@8.34.0 eslint-plugin-simple-import-sort: 10.0.0_eslint@8.34.0 - eslint-plugin-unused-imports: 2.0.0_vqeavzxdzk2atb75l6fx3anzpi + eslint-plugin-unused-imports: 2.0.0_cywiivd33wj5dtfbj25uyqfkna fake-indexeddb: 4.0.1 got: 12.5.3 - happy-dom: 8.5.0 + happy-dom: 8.7.1 husky: 8.0.3 lint-staged: 13.1.2 nyc: 15.1.0 @@ -71,8 +71,8 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 typescript: 4.9.5 - vite: 4.1.2_@types+node@18.14.0 - vitest: 0.28.5_happy-dom@8.5.0 + vite: 4.1.4_@types+node@18.14.0 + vitest: 0.28.5_happy-dom@8.7.1 apps/desktop: specifiers: @@ -108,10 +108,10 @@ importers: yjs: ^13.5.46 zx: ^7.1.1 dependencies: - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm + '@blocksuite/blocks': 0.4.1_atn5tmcwtxn4phcfq72w467xbe '@blocksuite/editor': 0.4.1_e5cdg6aldwc4hxgrfphufwkeea '@blocksuite/icons': 2.0.12_pmekkgnqduwlme35zpnqhenc34 - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia '@tauri-apps/api': 1.2.0_nb4isgkwd3sres4g7j7rgtldsu @@ -124,7 +124,7 @@ importers: react-router: 6.8.1_react@18.2.0 react-router-dom: 6.8.1_biqbaboplfbrettd7655fr4n2y y-protocols: 1.0.5 - yjs: 13.5.46 + yjs: 13.5.47 devDependencies: '@tauri-apps/cli': 1.2.3 '@types/node': 18.14.0 @@ -132,13 +132,13 @@ importers: '@types/react-dom': 18.0.11 concurrently: 7.6.0 cross-env: 7.0.3 - esbuild: 0.17.8 + esbuild: 0.17.10 lit: 2.6.1 prettier: 2.8.4 rimraf: 4.1.2 typescript: 4.9.5 typesync: 0.10.0 - vite: 4.1.2_@types+node@18.14.0 + vite: 4.1.4_@types+node@18.14.0 zx: 7.1.1 apps/web: @@ -147,7 +147,6 @@ importers: '@affine/datacenter': workspace:* '@affine/debug': workspace:* '@affine/i18n': workspace:* - '@affine/store': workspace:* '@blocksuite/blocks': 0.4.1 '@blocksuite/editor': 0.4.1 '@blocksuite/global': 0.4.1 @@ -191,12 +190,11 @@ importers: '@affine/datacenter': link:../../packages/data-center '@affine/debug': link:../../packages/debug '@affine/i18n': link:../../packages/i18n - '@affine/store': link:../../packages/store - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm + '@blocksuite/blocks': 0.4.1_atn5tmcwtxn4phcfq72w467xbe '@blocksuite/editor': 0.4.1_e5cdg6aldwc4hxgrfphufwkeea '@blocksuite/global': 0.4.1_lit@2.6.1 '@blocksuite/icons': 2.0.12_pmekkgnqduwlme35zpnqhenc34 - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 '@emotion/css': 11.10.6 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 '@emotion/server': 11.10.0_@emotion+css@11.10.6 @@ -204,8 +202,8 @@ importers: '@fontsource/poppins': 4.5.10 '@fontsource/space-mono': 4.5.12 '@mui/base': 5.0.0-alpha.118_zula6vjvt3wdocc4mwcxqa6nzi - '@mui/icons-material': 5.11.9_ofpk46txu7v2f5mzrtv4xsczka - '@mui/material': 5.11.9_xqeqsl5kvjjtyxwyi3jhw3yuli + '@mui/icons-material': 5.11.9_ylmaxqh5wvme7ymgn4ys5vax6u + '@mui/material': 5.11.10_xqeqsl5kvjjtyxwyi3jhw3yuli '@toeverything/pathfinder-logger': link:../../packages/logger cmdk: 0.1.22_zula6vjvt3wdocc4mwcxqa6nzi css-spring: 4.1.0 @@ -218,7 +216,7 @@ importers: quill-cursors: 4.0.2 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - yjs: 13.5.46 + yjs: 13.5.47 zustand: 4.3.3_react@18.2.0 devDependencies: '@types/node': 18.14.0 @@ -270,17 +268,17 @@ importers: dependencies: '@affine/debug': link:../debug '@affine/i18n': link:../i18n - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm + '@blocksuite/blocks': 0.4.1_atn5tmcwtxn4phcfq72w467xbe '@blocksuite/editor': 0.4.1_e5cdg6aldwc4hxgrfphufwkeea '@blocksuite/global': 0.4.1_lit@2.6.1 '@blocksuite/icons': 2.0.12_pmekkgnqduwlme35zpnqhenc34 '@blocksuite/react': 0.4.1_v4k7r3722g7d6aoxzctkttv45y - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia '@mui/base': 5.0.0-alpha.118_zula6vjvt3wdocc4mwcxqa6nzi - '@mui/icons-material': 5.11.9_ofpk46txu7v2f5mzrtv4xsczka - '@mui/material': 5.11.9_xqeqsl5kvjjtyxwyi3jhw3yuli + '@mui/icons-material': 5.11.9_ylmaxqh5wvme7ymgn4ys5vax6u + '@mui/material': 5.11.10_xqeqsl5kvjjtyxwyi3jhw3yuli lit: 2.6.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -288,20 +286,20 @@ importers: '@storybook/addon-actions': 7.0.0-beta.46_biqbaboplfbrettd7655fr4n2y '@storybook/addon-essentials': 7.0.0-beta.46_biqbaboplfbrettd7655fr4n2y '@storybook/addon-links': 7.0.0-beta.46_biqbaboplfbrettd7655fr4n2y - '@storybook/builder-vite': 7.0.0-beta.46_f7vjlzfn2qz6iyr4iasvdrpcpu + '@storybook/builder-vite': 7.0.0-beta.46_vwvfc4ezh6jlf6pa67auy3eulu '@storybook/react': 7.0.0-beta.46_ygqkwb4gg3aean7xjfdauovyqq - '@storybook/react-vite': 7.0.0-beta.46_li3mi7l5obvr3srmivssltef2i - '@swc/core': 1.3.35 + '@storybook/react-vite': 7.0.0-beta.46_ndsstb2ob2rgr4m75wxvpqsrpi + '@swc/core': 1.3.36 '@types/react': 18.0.28 '@types/react-dom': 18.0.11 - '@vitejs/plugin-react': 3.1.0_vite@4.1.2 + '@vitejs/plugin-react': 3.1.0_vite@4.1.4 storybook: 7.0.0-beta.46 swc: 1.0.11 - swc-loader: 0.2.3_gwpkmym7uf5m6snr3dgsgj5rrq + swc-loader: 0.2.3_wumblt6f7l27pkvqm54p67bbsa typescript: 4.9.5 - vite: 4.1.2 - webpack: 5.75.0_@swc+core@1.3.35 - yjs: 13.5.46 + vite: 4.1.4 + webpack: 5.75.0_@swc+core@1.3.36 + yjs: 13.5.47 packages/data-center: specifiers: @@ -323,8 +321,8 @@ importers: yjs: ^13.5.46 dependencies: '@affine/debug': link:../debug - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/blocks': 0.4.1_atn5tmcwtxn4phcfq72w467xbe + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 '@tauri-apps/api': 1.2.0_nb4isgkwd3sres4g7j7rgtldsu encoding: 0.1.13 firebase: 9.17.1_encoding@0.1.13 @@ -335,7 +333,7 @@ importers: lib0: 0.2.62 lit: 2.6.1 y-protocols: 1.0.5 - yjs: 13.5.46 + yjs: 13.5.47 devDependencies: fake-indexeddb: 4.0.1 typescript: 4.9.5 @@ -386,41 +384,6 @@ importers: '@types/react': 18.0.28 typescript: 4.9.5 - packages/store: - specifiers: - '@affine/datacenter': workspace:* - '@affine/debug': workspace:* - '@blocksuite/blocks': 0.4.1 - '@blocksuite/editor': 0.4.1 - '@blocksuite/global': 0.4.1 - '@blocksuite/react': 0.4.1 - '@blocksuite/store': 0.4.1 - '@types/react': ^18.0.28 - '@types/react-dom': ^18.0.11 - lit: ^2.6.1 - react: ^18.2.0 - react-dom: ^18.2.0 - swr: ^2.0.3 - yjs: ^13.5.46 - zustand: ^4.3.3 - dependencies: - '@affine/datacenter': link:../data-center - '@affine/debug': link:../debug - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm - '@blocksuite/editor': 0.4.1_e5cdg6aldwc4hxgrfphufwkeea - '@blocksuite/global': 0.4.1_lit@2.6.1 - '@blocksuite/react': 0.4.1_v4k7r3722g7d6aoxzctkttv45y - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 - lit: 2.6.1 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - swr: 2.0.3_react@18.2.0 - yjs: 13.5.46 - zustand: 4.3.3_react@18.2.0 - devDependencies: - '@types/react': 18.0.28 - '@types/react-dom': 18.0.11 - packages: /@ampproject/remapping/2.2.0: @@ -472,29 +435,6 @@ packages: - supports-color dev: true - /@babel/core/7.20.5: - resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helpers': 7.20.6 - '@babel/parser': 7.20.7 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator/7.20.7: resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==} engines: {node: '>=6.9.0'} @@ -533,20 +473,6 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.20.5 - '@babel/core': 7.20.5 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 - lru-cache: 5.1.1 - semver: 6.3.0 - dev: true - /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.12: resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} engines: {node: '>=6.9.0'} @@ -566,25 +492,6 @@ packages: - supports-color dev: true - /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.5: - resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.12: resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} engines: {node: '>=6.9.0'} @@ -596,17 +503,6 @@ packages: regexpu-core: 5.2.2 dev: true - /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.20.5: - resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-annotate-as-pure': 7.18.6 - regexpu-core: 5.2.2 - dev: true - /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.12: resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: @@ -623,22 +519,6 @@ packages: - supports-color dev: true - /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.20.5: - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-environment-visitor/7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} @@ -722,21 +602,6 @@ packages: - supports-color dev: true - /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-replace-supers/7.20.7: resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} @@ -808,17 +673,6 @@ packages: - supports-color dev: true - /@babel/helpers/7.20.6: - resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/highlight/7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} @@ -835,14 +689,6 @@ packages: '@babel/types': 7.20.7 dev: true - /@babel/parser/7.20.7: - resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} @@ -853,16 +699,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} @@ -875,18 +711,6 @@ packages: '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} @@ -902,21 +726,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} @@ -930,19 +739,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==} engines: {node: '>=6.9.0'} @@ -957,20 +753,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-class-static-block/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} @@ -982,17 +764,6 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.12: resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} @@ -1004,17 +775,6 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} @@ -1026,17 +786,6 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} @@ -1048,17 +797,6 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} @@ -1070,17 +808,6 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} @@ -1092,17 +819,6 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} @@ -1117,20 +833,6 @@ packages: '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.5 - '@babel/core': 7.20.5 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} @@ -1142,17 +844,6 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} engines: {node: '>=6.9.0'} @@ -1165,18 +856,6 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12 dev: true - /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5 - dev: true - /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} @@ -1190,19 +869,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.12: resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} engines: {node: '>=6.9.0'} @@ -1218,21 +884,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object/7.20.5_@babel+core@7.20.5: - resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} @@ -1244,17 +895,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.12: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -1264,15 +904,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.20.5: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.12: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -1282,15 +913,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.20.5: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.12: resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -1301,16 +923,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.20.5: - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: @@ -1320,15 +932,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -1338,15 +941,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} engines: {node: '>=6.9.0'} @@ -1367,16 +961,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.20.5: - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -1386,22 +970,13 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.5: + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true @@ -1414,15 +989,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.20.5: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -1432,15 +998,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.12: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -1450,15 +1007,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.20.5: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -1468,15 +1016,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -1486,15 +1025,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -1504,15 +1034,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.20.5: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.12: resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -1523,16 +1044,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.20.5: - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.12: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -1543,16 +1054,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.20.5: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12: resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} @@ -1573,16 +1074,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} @@ -1597,20 +1088,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.20.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} @@ -1621,16 +1098,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-block-scoping/7.20.11_@babel+core@7.20.12: resolution: {integrity: sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==} engines: {node: '>=6.9.0'} @@ -1641,16 +1108,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-block-scoping/7.20.11_@babel+core@7.20.5: - resolution: {integrity: sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} engines: {node: '>=6.9.0'} @@ -1671,26 +1128,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} engines: {node: '>=6.9.0'} @@ -1702,17 +1139,6 @@ packages: '@babel/template': 7.20.7 dev: true - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 - dev: true - /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} engines: {node: '>=6.9.0'} @@ -1723,16 +1149,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} @@ -1744,17 +1160,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.12: resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} @@ -1765,16 +1170,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} @@ -1786,17 +1181,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.20.12: resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==} engines: {node: '>=6.9.0'} @@ -1818,16 +1202,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.20.5: - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.12: resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} @@ -1840,18 +1214,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.12: resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} @@ -1862,16 +1224,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-literals/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} @@ -1882,16 +1234,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.12: resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} @@ -1905,19 +1247,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.20.5: - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.12: resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==} engines: {node: '>=6.9.0'} @@ -1932,20 +1261,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.20.11_@babel+core@7.20.5: - resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.12: resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} @@ -1961,21 +1276,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.20.5: - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} @@ -1989,19 +1289,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-module-transforms': 7.20.11 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.12: resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} @@ -2013,17 +1300,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.20.5: - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} @@ -2034,16 +1310,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} @@ -2057,19 +1323,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} engines: {node: '>=6.9.0'} @@ -2080,16 +1333,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} @@ -2100,16 +1343,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-react-jsx-self/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==} engines: {node: '>=6.9.0'} @@ -2130,17 +1363,17 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-react-jsx/7.20.13_@babel+core@7.20.5: + /@babel/plugin-transform-react-jsx/7.20.13_@babel+core@7.20.12: resolution: {integrity: sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.5 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 '@babel/types': 7.20.7 dev: true @@ -2155,17 +1388,6 @@ packages: regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.20.5: - resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 - dev: true - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} @@ -2176,16 +1398,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} @@ -2196,16 +1408,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.12: resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} @@ -2217,17 +1419,6 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: true - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.5: - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - dev: true - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} @@ -2238,16 +1429,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.12: resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} @@ -2258,16 +1439,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.12: resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} @@ -2278,16 +1449,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.20.5: - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-typescript/7.20.13_@babel+core@7.20.12: resolution: {integrity: sha512-O7I/THxarGcDZxkgWKMUrk7NK1/WbHAg3Xx86gqS6x9MTrNL6AwIluuZ96ms4xeDe6AVx6rjHbWHP7x26EPQBA==} engines: {node: '>=6.9.0'} @@ -2312,16 +1473,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.20.5: - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} @@ -2333,17 +1484,6 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.20.5: - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/preset-env/7.20.2_@babel+core@7.20.12: resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} engines: {node: '>=6.9.0'} @@ -2430,92 +1570,6 @@ packages: - supports-color dev: true - /@babel/preset-env/7.20.2_@babel+core@7.20.5: - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.5 - '@babel/core': 7.20.5 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-class-static-block': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.20.5 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.5 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.20.5 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.20.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.20.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.5 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.5 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.5 - '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.5 - '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.20.5 - '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.5 - '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.20.5 - '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.5 - '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.5 - '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.5 - '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.5 - '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.5 - '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.5 - '@babel/preset-modules': 0.1.5_@babel+core@7.20.5 - '@babel/types': 7.20.7 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.5 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.5 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.5 - core-js-compat: 3.27.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/preset-flow/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==} engines: {node: '>=6.9.0'} @@ -2541,19 +1595,6 @@ packages: esutils: 2.0.3 dev: true - /@babel/preset-modules/0.1.5_@babel+core@7.20.5: - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.5 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.5 - '@babel/types': 7.20.7 - esutils: 2.0.3 - dev: true - /@babel/preset-typescript/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} engines: {node: '>=6.9.0'} @@ -2582,18 +1623,25 @@ packages: source-map-support: 0.5.21 dev: true - /@babel/runtime/7.20.13: - resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} + /@babel/runtime-corejs3/7.19.1: + resolution: {integrity: sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==} engines: {node: '>=6.9.0'} dependencies: + core-js-pure: 3.25.2 regenerator-runtime: 0.13.11 + dev: true /@babel/runtime/7.20.7: resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 - dev: true + + /@babel/runtime/7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 /@babel/template/7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} @@ -2647,15 +1695,15 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@blocksuite/blocks/0.4.1_tdlxw56kpoc45go7l7gsdk5hjm: + /@blocksuite/blocks/0.4.1_atn5tmcwtxn4phcfq72w467xbe: resolution: {integrity: sha512-BnTeBUlbRf/RFk7Vk3oN5Cgcq0J/Pda2lsrYdvyHVcxEiWOBKjIDTjF1iE7ROrWHXsmW0//fxvfLKYl+m8C6GQ==} peerDependencies: '@blocksuite/store': 0.4.1 dependencies: '@blocksuite/global': 0.4.1_lit@2.6.1 - '@blocksuite/phasor': 0.4.1_lit@2.6.1+yjs@13.5.46 - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 - '@blocksuite/virgo': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/phasor': 0.4.1_lit@2.6.1+yjs@13.5.47 + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 + '@blocksuite/virgo': 0.4.1_lit@2.6.1+yjs@13.5.47 '@popperjs/core': 2.11.6 autosize: 6.0.1 highlight.js: 11.7.0 @@ -2674,9 +1722,9 @@ packages: '@blocksuite/blocks': 0.4.1 '@blocksuite/store': 0.4.1 dependencies: - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm + '@blocksuite/blocks': 0.4.1_atn5tmcwtxn4phcfq72w467xbe '@blocksuite/global': 0.4.1_lit@2.6.1 - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 lit: 2.6.1 marked: 4.2.12 turndown: 7.1.1 @@ -2705,7 +1753,7 @@ packages: react: 18.2.0 dev: false - /@blocksuite/phasor/0.4.1_lit@2.6.1+yjs@13.5.46: + /@blocksuite/phasor/0.4.1_lit@2.6.1+yjs@13.5.47: resolution: {integrity: sha512-RzAmB9wbsVo8K4sUjjhatM/D/mbe2crHyJ5LE/HkUTIxp7D4DQapRP7RREJojzw2KhcRvapEVRRwlLV2f5wGUQ==} peerDependencies: yjs: ^13 @@ -2714,7 +1762,7 @@ packages: fractional-indexing: 3.2.0 nanoid: 4.0.1 perfect-freehand: 1.2.0 - yjs: 13.5.46 + yjs: 13.5.47 transitivePeerDependencies: - lit dev: false @@ -2728,10 +1776,10 @@ packages: react: '>=18.0.0' react-dom: '>=18.0.0' dependencies: - '@blocksuite/blocks': 0.4.1_tdlxw56kpoc45go7l7gsdk5hjm + '@blocksuite/blocks': 0.4.1_atn5tmcwtxn4phcfq72w467xbe '@blocksuite/editor': 0.4.1_e5cdg6aldwc4hxgrfphufwkeea '@blocksuite/global': 0.4.1_lit@2.6.1 - '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/store': 0.4.1_lit@2.6.1+yjs@13.5.47 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 zustand: 4.3.3_react@18.2.0 @@ -2740,13 +1788,13 @@ packages: - lit dev: false - /@blocksuite/store/0.4.1_lit@2.6.1+yjs@13.5.46: + /@blocksuite/store/0.4.1_lit@2.6.1+yjs@13.5.47: resolution: {integrity: sha512-OLAcCDwRDUB7tkxptg5TZ4bcBBRmvWESRu5y7rekCWWbiPI1Fv0hX6pZGvnIGJ6pCRFTI9SQNcs9uEhHxuXIbA==} peerDependencies: yjs: ^13 dependencies: '@blocksuite/global': 0.4.1_lit@2.6.1 - '@blocksuite/virgo': 0.4.1_lit@2.6.1+yjs@13.5.46 + '@blocksuite/virgo': 0.4.1_lit@2.6.1+yjs@13.5.47 '@types/flexsearch': 0.7.3 buffer: 6.0.3 flexsearch: 0.7.21 @@ -2757,7 +1805,7 @@ packages: nanoid: 4.0.1 y-protocols: 1.0.5 y-webrtc: 10.2.4 - yjs: 13.5.46 + yjs: 13.5.47 zod: 3.20.6 transitivePeerDependencies: - bufferutil @@ -2766,7 +1814,7 @@ packages: - utf-8-validate dev: false - /@blocksuite/virgo/0.4.1_lit@2.6.1+yjs@13.5.46: + /@blocksuite/virgo/0.4.1_lit@2.6.1+yjs@13.5.47: resolution: {integrity: sha512-vlsGIp/kKNI4XRglD4l3w/7ozSQnaLtmXyH+rsP5jnR7/Nmbd6L6n6jK2nMYCE2RBNgiG4YqiuqWutheHsTF4Q==} peerDependencies: lit: ^2 @@ -2774,14 +1822,14 @@ packages: dependencies: '@blocksuite/global': 0.4.1_lit@2.6.1 lit: 2.6.1 - yjs: 13.5.46 + yjs: 13.5.47 zod: 3.20.6 dev: false /@changesets/apply-release-plan/6.1.3: resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/config': 2.3.0 '@changesets/get-version-range-type': 0.3.2 '@changesets/git': 2.0.0 @@ -2799,7 +1847,7 @@ packages: /@changesets/assemble-release-plan/5.2.3: resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/errors': 0.1.4 '@changesets/get-dependents-graph': 1.3.5 '@changesets/types': 5.2.1 @@ -2883,7 +1931,7 @@ packages: /@changesets/get-release-plan/3.0.16: resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/assemble-release-plan': 5.2.3 '@changesets/config': 2.3.0 '@changesets/pre': 1.0.14 @@ -2899,7 +1947,7 @@ packages: /@changesets/git/2.0.0: resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 @@ -2924,7 +1972,7 @@ packages: /@changesets/pre/1.0.14: resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.1 '@manypkg/get-packages': 1.1.3 @@ -2934,7 +1982,7 @@ packages: /@changesets/read/0.5.9: resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/git': 2.0.0 '@changesets/logger': 0.0.5 '@changesets/parse': 0.3.16 @@ -2955,7 +2003,7 @@ packages: /@changesets/write/0.2.3: resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/types': 5.2.1 fs-extra: 7.0.1 human-id: 1.0.2 @@ -2985,7 +2033,7 @@ packages: resolution: {integrity: sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==} dependencies: '@babel/helper-module-imports': 7.18.6 - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@emotion/hash': 0.9.0 '@emotion/memoize': 0.8.0 '@emotion/serialize': 1.1.1 @@ -3040,7 +2088,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.20.7 '@emotion/babel-plugin': 11.10.6 '@emotion/cache': 11.10.5 '@emotion/serialize': 1.1.1 @@ -3091,7 +2139,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.20.7 '@emotion/babel-plugin': 11.10.6 '@emotion/is-prop-valid': 1.2.0 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 @@ -3130,8 +2178,8 @@ packages: dev: true optional: true - /@esbuild/android-arm/0.17.8: - resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==} + /@esbuild/android-arm/0.17.10: + resolution: {integrity: sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -3148,8 +2196,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64/0.17.8: - resolution: {integrity: sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==} + /@esbuild/android-arm64/0.17.10: + resolution: {integrity: sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -3166,8 +2214,8 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.17.8: - resolution: {integrity: sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==} + /@esbuild/android-x64/0.17.10: + resolution: {integrity: sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -3184,8 +2232,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.17.8: - resolution: {integrity: sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==} + /@esbuild/darwin-arm64/0.17.10: + resolution: {integrity: sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -3202,8 +2250,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.17.8: - resolution: {integrity: sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==} + /@esbuild/darwin-x64/0.17.10: + resolution: {integrity: sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -3220,8 +2268,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.17.8: - resolution: {integrity: sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==} + /@esbuild/freebsd-arm64/0.17.10: + resolution: {integrity: sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -3238,8 +2286,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.17.8: - resolution: {integrity: sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==} + /@esbuild/freebsd-x64/0.17.10: + resolution: {integrity: sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -3256,8 +2304,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.17.8: - resolution: {integrity: sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==} + /@esbuild/linux-arm/0.17.10: + resolution: {integrity: sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -3274,8 +2322,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64/0.17.8: - resolution: {integrity: sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==} + /@esbuild/linux-arm64/0.17.10: + resolution: {integrity: sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -3292,8 +2340,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.17.8: - resolution: {integrity: sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==} + /@esbuild/linux-ia32/0.17.10: + resolution: {integrity: sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -3310,8 +2358,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.17.8: - resolution: {integrity: sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==} + /@esbuild/linux-loong64/0.17.10: + resolution: {integrity: sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -3328,8 +2376,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.17.8: - resolution: {integrity: sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==} + /@esbuild/linux-mips64el/0.17.10: + resolution: {integrity: sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -3346,8 +2394,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.17.8: - resolution: {integrity: sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==} + /@esbuild/linux-ppc64/0.17.10: + resolution: {integrity: sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -3364,8 +2412,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.17.8: - resolution: {integrity: sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==} + /@esbuild/linux-riscv64/0.17.10: + resolution: {integrity: sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -3382,8 +2430,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.17.8: - resolution: {integrity: sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==} + /@esbuild/linux-s390x/0.17.10: + resolution: {integrity: sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -3400,8 +2448,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.17.8: - resolution: {integrity: sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==} + /@esbuild/linux-x64/0.17.10: + resolution: {integrity: sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -3418,8 +2466,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.17.8: - resolution: {integrity: sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==} + /@esbuild/netbsd-x64/0.17.10: + resolution: {integrity: sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -3436,8 +2484,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.17.8: - resolution: {integrity: sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==} + /@esbuild/openbsd-x64/0.17.10: + resolution: {integrity: sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -3454,8 +2502,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.17.8: - resolution: {integrity: sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==} + /@esbuild/sunos-x64/0.17.10: + resolution: {integrity: sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -3472,8 +2520,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.17.8: - resolution: {integrity: sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==} + /@esbuild/win32-arm64/0.17.10: + resolution: {integrity: sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -3490,8 +2538,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.17.8: - resolution: {integrity: sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==} + /@esbuild/win32-ia32/0.17.10: + resolution: {integrity: sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -3508,8 +2556,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.17.8: - resolution: {integrity: sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==} + /@esbuild/win32-x64/0.17.10: + resolution: {integrity: sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3999,7 +3047,7 @@ packages: resolution: {integrity: sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==} engines: {node: ^8.13.0 || >=10.10.0} dependencies: - '@grpc/proto-loader': 0.7.5 + '@grpc/proto-loader': 0.7.4 '@types/node': 18.14.0 dev: false @@ -4015,15 +3063,15 @@ packages: yargs: 16.2.0 dev: false - /@grpc/proto-loader/0.7.5: - resolution: {integrity: sha512-mfcTuMbFowq1wh/Rn5KQl6qb95M21Prej3bewD9dUQMurYGVckGO/Pbe2Ocwto6sD05b/mxZLspvqwx60xO2Rg==} + /@grpc/proto-loader/0.7.4: + resolution: {integrity: sha512-MnWjkGwqQ3W8fx94/c1CwqLsNmHHv2t0CFn+9++6+cDphC1lolpg9M2OU0iebIjK//pBNX9e94ho+gjx6vz39w==} engines: {node: '>=6'} hasBin: true dependencies: '@types/long': 4.0.2 lodash.camelcase: 4.3.0 long: 4.0.0 - protobufjs: 7.2.2 + protobufjs: 7.1.2 yargs: 16.2.0 dev: false @@ -4105,7 +3153,7 @@ packages: chalk: 4.1.2 dev: true - /@joshwooding/vite-plugin-react-docgen-typescript/0.2.1_f7vjlzfn2qz6iyr4iasvdrpcpu: + /@joshwooding/vite-plugin-react-docgen-typescript/0.2.1_vwvfc4ezh6jlf6pa67auy3eulu: resolution: {integrity: sha512-ou4ZJSXMMWHqGS4g8uNRbC5TiTWxAgQZiVucoUrOCWuPrTbkpJbmVyIi9jU72SBry7gQtuMEDp4YR8EEXAg7VQ==} peerDependencies: typescript: '>= 4.3.x' @@ -4119,7 +3167,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2_typescript@4.9.5 typescript: 4.9.5 - vite: 4.1.2 + vite: 4.1.4 dev: true /@jridgewell/gen-mapping/0.1.1: @@ -4193,7 +3241,7 @@ packages: /@manypkg/find-root/1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -4202,7 +3250,7 @@ packages: /@manypkg/get-packages/1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -4245,7 +3293,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@emotion/is-prop-valid': 1.2.0 '@mui/types': 7.2.3_@types+react@18.0.28 '@mui/utils': 5.11.9_react@18.2.0 @@ -4262,7 +3310,7 @@ packages: resolution: {integrity: sha512-YGEtucQ/Nl91VZkzYaLad47Cdui51n/hW+OQm4210g4N3/nZzBxmGeKfubEalf+ShKH4aYDS86XTO6q/TpZnjQ==} dev: false - /@mui/icons-material/5.11.9_ofpk46txu7v2f5mzrtv4xsczka: + /@mui/icons-material/5.11.9_ylmaxqh5wvme7ymgn4ys5vax6u: resolution: {integrity: sha512-SPANMk6K757Q1x48nCwPGdSNb8B71d+2hPMJ0V12VWerpSsbjZtvAPi5FAn13l2O5mwWkvI0Kne+0tCgnNxMNw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -4273,14 +3321,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 - '@mui/material': 5.11.9_xqeqsl5kvjjtyxwyi3jhw3yuli + '@babel/runtime': 7.21.0 + '@mui/material': 5.11.10_xqeqsl5kvjjtyxwyi3jhw3yuli '@types/react': 18.0.28 react: 18.2.0 dev: false - /@mui/material/5.11.9_xqeqsl5kvjjtyxwyi3jhw3yuli: - resolution: {integrity: sha512-Wb3WzjzYyi/WKSl/XlF7aC8kk2NE21IoHMF7hNQMkPb0GslbWwR4OUjlBpxtG+RSZn44wMZkEDNB9Hw0TDsd8g==} + /@mui/material/5.11.10_xqeqsl5kvjjtyxwyi3jhw3yuli: + resolution: {integrity: sha512-hs1WErbiedqlJIZsljgoil908x4NMp8Lfk8di+5c7o809roqKcFTg2+k3z5ucKvs29AXcsdXrDB/kn2K6dGYIw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -4296,7 +3344,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia '@mui/base': 5.0.0-alpha.118_zula6vjvt3wdocc4mwcxqa6nzi @@ -4325,7 +3373,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@mui/utils': 5.11.9_react@18.2.0 '@types/react': 18.0.28 prop-types: 15.8.1 @@ -4345,7 +3393,7 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@emotion/cache': 11.10.5 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia @@ -4370,7 +3418,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia '@mui/private-theming': 5.11.9_pmekkgnqduwlme35zpnqhenc34 @@ -4401,7 +3449,7 @@ packages: peerDependencies: react: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@types/prop-types': 15.7.5 '@types/react-is': 17.0.3 prop-types: 15.8.1 @@ -4690,13 +3738,15 @@ packages: tslib: 2.5.0 dev: true - /@playwright/test/1.30.0: - resolution: {integrity: sha512-SVxkQw1xvn/Wk/EvBnqWIq6NLo1AppwbYOjNLmyU0R1RoQ3rLEBtmjTnElcnz8VEtn11fptj1ECxK0tgURhajw==} + /@playwright/test/1.31.0: + resolution: {integrity: sha512-Ys5s/06Dg9g3zAIdCIb/UOBYim3U7Zjb3DvC6XBtnRmnglH5O47iwYzmtxXu9fhSyzI2Jn28apkXIOD81GgCdw==} engines: {node: '>=14'} hasBin: true dependencies: '@types/node': 18.14.0 - playwright-core: 1.30.0 + playwright-core: 1.31.0 + optionalDependencies: + fsevents: 2.3.2 dev: true /@popperjs/core/2.11.6: @@ -4749,7 +3799,7 @@ packages: /@radix-ui/primitive/1.0.0: resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 dev: false /@radix-ui/react-compose-refs/1.0.0_react@18.2.0: @@ -4757,7 +3807,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 react: 18.2.0 dev: false @@ -4766,7 +3816,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 react: 18.2.0 dev: false @@ -4776,7 +3826,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-context': 1.0.0_react@18.2.0 @@ -4803,7 +3853,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-primitive': 1.0.0_biqbaboplfbrettd7655fr4n2y @@ -4818,7 +3868,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 react: 18.2.0 dev: false @@ -4828,7 +3878,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-primitive': 1.0.0_biqbaboplfbrettd7655fr4n2y '@radix-ui/react-use-callback-ref': 1.0.0_react@18.2.0 @@ -4841,7 +3891,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-use-layout-effect': 1.0.0_react@18.2.0 react: 18.2.0 dev: false @@ -4852,7 +3902,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-primitive': 1.0.0_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -4864,7 +3914,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 '@radix-ui/react-use-layout-effect': 1.0.0_react@18.2.0 react: 18.2.0 @@ -4877,7 +3927,7 @@ packages: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-slot': 1.0.0_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -4888,7 +3938,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-compose-refs': 1.0.0_react@18.2.0 react: 18.2.0 dev: false @@ -4898,7 +3948,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 react: 18.2.0 dev: false @@ -4907,7 +3957,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-use-callback-ref': 1.0.0_react@18.2.0 react: 18.2.0 dev: false @@ -4917,7 +3967,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 '@radix-ui/react-use-callback-ref': 1.0.0_react@18.2.0 react: 18.2.0 dev: false @@ -4927,7 +3977,7 @@ packages: peerDependencies: react: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 react: 18.2.0 dev: false @@ -5060,8 +4110,8 @@ packages: '@storybook/mdx1-csf': optional: true dependencies: - '@babel/core': 7.20.5 - '@babel/plugin-transform-react-jsx': 7.20.13_@babel+core@7.20.5 + '@babel/core': 7.20.12 + '@babel/plugin-transform-react-jsx': 7.20.13_@babel+core@7.20.12 '@jest/transform': 29.4.2 '@mdx-js/react': 2.3.0_react@18.2.0 '@storybook/blocks': 7.0.0-beta.46_biqbaboplfbrettd7655fr4n2y @@ -5304,7 +4354,7 @@ packages: - supports-color dev: true - /@storybook/builder-vite/7.0.0-beta.46_f7vjlzfn2qz6iyr4iasvdrpcpu: + /@storybook/builder-vite/7.0.0-beta.46_vwvfc4ezh6jlf6pa67auy3eulu: resolution: {integrity: sha512-CYYzxNYmVUELA+RBakcpf2IgH1W7niOMQVMt1fk6e+YAAAGdS9D8OqtR1d/63PakGxQtGnBNatmERbBAmSJu9w==} peerDependencies: '@preact/preset-vite': '*' @@ -5339,7 +4389,7 @@ packages: rollup: 3.14.0 slash: 3.0.0 typescript: 4.9.5 - vite: 4.1.2 + vite: 4.1.4 transitivePeerDependencies: - supports-color dev: true @@ -5372,8 +4422,8 @@ packages: resolution: {integrity: sha512-4JTTnW0GlQzp6KCPMRxNjKwpFoaywXAUn2pXfXaI44WCLdT7IjHEEvK5Z5kwAW9cc+2mGT7tMqy0Xwd+acvMDQ==} hasBin: true dependencies: - '@babel/core': 7.20.5 - '@babel/preset-env': 7.20.2_@babel+core@7.20.5 + '@babel/core': 7.20.12 + '@babel/preset-env': 7.20.2_@babel+core@7.20.12 '@storybook/codemod': 7.0.0-beta.46 '@storybook/core-common': 7.0.0-beta.46 '@storybook/core-server': 7.0.0-beta.46 @@ -5473,7 +4523,7 @@ packages: /@storybook/core-common/7.0.0-beta.46: resolution: {integrity: sha512-NerwE0237uqFpnLMWrsk0J0IAU3A/VD7GBiCWdySz4sgKFv2aFV9m/Rbucoo4jHhAbZs2B4a+q4vvVIZvse0Hw==} dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.12 '@storybook/node-logger': 7.0.0-beta.46 '@storybook/types': 7.0.0-beta.46 '@types/babel__core': 7.20.0 @@ -5538,7 +4588,7 @@ packages: globby: 11.1.0 ip: 2.0.0 lodash: 4.17.21 - node-fetch: 2.6.9 + node-fetch: 2.6.7 open: 8.4.1 pretty-hrtime: 1.0.3 prompts: 2.4.2 @@ -5593,7 +4643,7 @@ packages: /@storybook/docs-tools/7.0.0-beta.46: resolution: {integrity: sha512-lTZyjz6PspoCEpelIKznEfoHCQIchxhtHAtU/OJIbZIk1Hu2AuMOOJiD7yEC8lD2yhlO4XNR/ZegxPidzdPfeA==} dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.12 '@storybook/core-common': 7.0.0-beta.46 '@storybook/preview-api': 7.0.0-beta.46 '@storybook/types': 7.0.0-beta.46 @@ -5683,7 +4733,7 @@ packages: resolution: {integrity: sha512-4k62e85sR6Cyl0O7ZeCct/pE0v+tjIjGhHDs9U0AZbfBJlSppazRAP51q6v1QdF2eWDgdRbn3oTQnW8rdCBeMg==} dev: true - /@storybook/react-vite/7.0.0-beta.46_li3mi7l5obvr3srmivssltef2i: + /@storybook/react-vite/7.0.0-beta.46_ndsstb2ob2rgr4m75wxvpqsrpi: resolution: {integrity: sha512-missKTXPIBE/7BOPfCCCZkoImOs6Da+A6BZPj8MwWSJm2c9Hm4CrCPjcQlyahzKOLYMEL/ugyS+geGDiJNVtBw==} engines: {node: '>=16'} peerDependencies: @@ -5691,17 +4741,17 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^3.0.0 || ^4.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.2.1_f7vjlzfn2qz6iyr4iasvdrpcpu + '@joshwooding/vite-plugin-react-docgen-typescript': 0.2.1_vwvfc4ezh6jlf6pa67auy3eulu '@rollup/pluginutils': 4.2.1 - '@storybook/builder-vite': 7.0.0-beta.46_f7vjlzfn2qz6iyr4iasvdrpcpu + '@storybook/builder-vite': 7.0.0-beta.46_vwvfc4ezh6jlf6pa67auy3eulu '@storybook/react': 7.0.0-beta.46_ygqkwb4gg3aean7xjfdauovyqq - '@vitejs/plugin-react': 3.1.0_vite@4.1.2 + '@vitejs/plugin-react': 3.1.0_vite@4.1.4 ast-types: 0.14.2 magic-string: 0.27.0 react: 18.2.0 react-docgen: 6.0.0-alpha.3 react-dom: 18.2.0_react@18.2.0 - vite: 4.1.2 + vite: 4.1.4 transitivePeerDependencies: - '@preact/preset-vite' - supports-color @@ -5794,7 +4844,7 @@ packages: /@storybook/types/7.0.0-beta.46: resolution: {integrity: sha512-I5nf8aDYmkM3FqlBAqr2SxnIp16iydvjSegShHEeraXDs9wSqbyAlYuw8m2WcN+bGA2qqhGUGEWbJv5bY3WaTQ==} dependencies: - '@babel/core': 7.20.5 + '@babel/core': 7.20.12 '@storybook/channels': 7.0.0-beta.46 '@types/babel__core': 7.20.0 '@types/express': 4.17.17 @@ -5804,7 +4854,7 @@ packages: - supports-color dev: true - /@swc/cli/0.1.61_@swc+core@1.3.35: + /@swc/cli/0.1.61_@swc+core@1.3.36: resolution: {integrity: sha512-HeYMJ+8gKfJzM9xgcZqTpAHJYAJVGSljBSmWRUx2B6UiGraLsLjEcqxITwi6/t6Af+QboBMiQX5Wwll89oPK7g==} engines: {node: '>= 12.13'} hasBin: true @@ -5816,7 +4866,7 @@ packages: optional: true dependencies: '@mole-inc/bin-wrapper': 8.0.1 - '@swc/core': 1.3.35 + '@swc/core': 1.3.36 commander: 7.2.0 fast-glob: 3.2.12 semver: 7.3.8 @@ -5824,8 +4874,8 @@ packages: source-map: 0.7.4 dev: true - /@swc/core-darwin-arm64/1.3.35: - resolution: {integrity: sha512-zQUFkHx4gZpu0uo2IspvPnKsz8bsdXd5bC33xwjtoAI1cpLerDyqo4v2zIahEp+FdKZjyVsLHtfJiQiA1Qka3A==} + /@swc/core-darwin-arm64/1.3.36: + resolution: {integrity: sha512-lsP+C8p9cC/Vd9uAbtxpEnM8GoJI/MMnVuXak7OlxOtDH9/oTwmAcAQTfNGNaH19d2FAIRwf+5RbXCPnxa2Zjw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -5833,8 +4883,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64/1.3.35: - resolution: {integrity: sha512-oOSkSGWtALovaw22lNevKD434OQTPf8X+dVPvPMrJXJpJ34dWDlFWpLntoc+arvKLNZ7LQmTuk8rR1hkrAY7cw==} + /@swc/core-darwin-x64/1.3.36: + resolution: {integrity: sha512-jaLXsozWN5xachl9fPxDMi5nbWq1rRxPAt6ISeiYB6RJk0MQKH1634pOweBBem2pUDDzwDFXFw6f22LTm/cFvA==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -5842,8 +4892,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf/1.3.35: - resolution: {integrity: sha512-Yie8k00O6O8BCATS/xeKStquV4OYSskUGRDXBQVDw1FrE23PHaSeHCgg4q6iNZjJzXCOJbaTCKnYoIDn9DMf7A==} + /@swc/core-linux-arm-gnueabihf/1.3.36: + resolution: {integrity: sha512-vcBdTHjoEpvJDbFlgto+S6VwAHzLA9GyCiuNcTU2v4KNQlFzhbO4A4PMfMCb/Z0RLJEr16tirfHdWIxjU3h8nw==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -5851,8 +4901,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu/1.3.35: - resolution: {integrity: sha512-Zlv3WHa/4x2p51HSvjUWXHfSe1Gl2prqImUZJc8NZOlj75BFzVuR0auhQ+LbwvIQ3gaA1LODX9lyS9wXL3yjxA==} + /@swc/core-linux-arm64-gnu/1.3.36: + resolution: {integrity: sha512-o7f5OsvwWppJo+qIZmrGO5+XC6DPt6noecSbRHjF6o1YAcR13ETPC14k1eC9H1YbQwpyCFNVAFXyNcUbCeQyrQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -5860,8 +4910,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl/1.3.35: - resolution: {integrity: sha512-u6tCYsrSyZ8U+4jLMA/O82veBfLy2aUpn51WxQaeH7wqZGy9TGSJXoO8vWxARQ6b72vjsnKDJHP4MD8hFwcctg==} + /@swc/core-linux-arm64-musl/1.3.36: + resolution: {integrity: sha512-FSHPngMi3c0fuGt9yY2Ubn5UcELi3EiPLJxBSC3X8TF9atI/WHZzK9PE9Gtn0C/LyRh4CoyOugDtSOPzGYmLQg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -5869,8 +4919,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu/1.3.35: - resolution: {integrity: sha512-Dtxf2IbeH7XlNhP1Qt2/MvUPkpEbn7hhGfpSRs4ot8D3Vf5QEX4S/QtC1OsFWuciiYgHAT1Ybjt4xZic9DSkmA==} + /@swc/core-linux-x64-gnu/1.3.36: + resolution: {integrity: sha512-PHSsH2rek5pr3e0K09VgWAbrWK2vJhaI7MW9TPoTjyACYjcs3WwjcjQ30MghXUs2Dc/bXjWAOi9KFTjq/uCyFg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -5878,8 +4928,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl/1.3.35: - resolution: {integrity: sha512-4XavNJ60GprjpTiESCu5daJUnmErixPAqDitJSMu4TV32LNIE8G00S9pDLXinDTW1rgcGtQdq1NLkNRmwwovtg==} + /@swc/core-linux-x64-musl/1.3.36: + resolution: {integrity: sha512-4LfMYQHzozHCKkIcmQy83b+4SpI+mOp6sYNbXqSRz5dYvTVjegKZXe596P1U/87cK2cgR4uYvkgkgBXquaWvwQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -5887,8 +4937,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc/1.3.35: - resolution: {integrity: sha512-dNGfKCUSX2M4qVyaS80Lyos0FkXyHRCvrdQ2Y4Hrg3FVokiuw3yY6fLohpUfQ5ws3n2A39dh7jGDeh34+l0sGA==} + /@swc/core-win32-arm64-msvc/1.3.36: + resolution: {integrity: sha512-7y3dDcun79TAjCyk3Iv0eOMw1X/KNQbkVyKOGqnEgq9g22F8F1FoUGKHNTzUqVdzpHeJSsHgW5PlkEkl3c/d9w==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -5896,8 +4946,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc/1.3.35: - resolution: {integrity: sha512-ChuPSrDR+JBf7S7dEKPicnG8A3bM0uWPsW2vG+V2wH4iNfNxKVemESHosmYVeEZXqMpomNMvLyeHep1rjRsc0Q==} + /@swc/core-win32-ia32-msvc/1.3.36: + resolution: {integrity: sha512-zK0VR3B4LX5hzQ+7eD+K+FkxJlJg5Lo36BeahMzQ+/i0IURpnuyFlW88sdkFkMsc2swdU6bpvxLZeIRQ3W4OUg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -5905,8 +4955,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc/1.3.35: - resolution: {integrity: sha512-/RvphT4WfuGfIK84Ha0dovdPrKB1bW/mc+dtdmhv2E3EGkNc5FoueNwYmXWRimxnU7X0X7IkcRhyKB4G5DeAmg==} + /@swc/core-win32-x64-msvc/1.3.36: + resolution: {integrity: sha512-2bIjr9DhAckGiXZEvj6z2z7ECPcTimG+wD0VuQTvr+wkx46uAJKl5Kq+Zk+dd15ErL7JGUtCet1T7bf1k4FwvQ==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -5914,21 +4964,21 @@ packages: dev: true optional: true - /@swc/core/1.3.35: - resolution: {integrity: sha512-KmiBin0XSVzJhzX19zTiCqmLslZ40Cl7zqskJcTDeIrRhfgKdiAsxzYUanJgMJIRjYtl9Kcg1V/Ip2o2wL8v3w==} + /@swc/core/1.3.36: + resolution: {integrity: sha512-Ogrd9uRNIj7nHjXxG66UlKBIcXESUenJ7OD6K2a8p82qlg6ne7Ne5Goiipm/heHYhSfVmjcnRWL9ZJ4gv+YCPA==} engines: {node: '>=10'} requiresBuild: true optionalDependencies: - '@swc/core-darwin-arm64': 1.3.35 - '@swc/core-darwin-x64': 1.3.35 - '@swc/core-linux-arm-gnueabihf': 1.3.35 - '@swc/core-linux-arm64-gnu': 1.3.35 - '@swc/core-linux-arm64-musl': 1.3.35 - '@swc/core-linux-x64-gnu': 1.3.35 - '@swc/core-linux-x64-musl': 1.3.35 - '@swc/core-win32-arm64-msvc': 1.3.35 - '@swc/core-win32-ia32-msvc': 1.3.35 - '@swc/core-win32-x64-msvc': 1.3.35 + '@swc/core-darwin-arm64': 1.3.36 + '@swc/core-darwin-x64': 1.3.36 + '@swc/core-linux-arm-gnueabihf': 1.3.36 + '@swc/core-linux-arm64-gnu': 1.3.36 + '@swc/core-linux-arm64-musl': 1.3.36 + '@swc/core-linux-x64-gnu': 1.3.36 + '@swc/core-linux-x64-musl': 1.3.36 + '@swc/core-win32-arm64-msvc': 1.3.36 + '@swc/core-win32-ia32-msvc': 1.3.36 + '@swc/core-win32-x64-msvc': 1.3.36 dev: true /@swc/helpers/0.4.14: @@ -6059,7 +5109,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@types/aria-query': 5.0.1 aria-query: 5.1.3 chalk: 4.1.2 @@ -6075,7 +5125,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 '@testing-library/dom': 9.0.0 '@types/react-dom': 18.0.11 react: 18.2.0 @@ -6193,13 +5243,13 @@ packages: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: '@types/eslint': 8.21.1 - '@types/estree': 1.0.0 + '@types/estree': 0.0.51 dev: true /@types/eslint/8.21.1: resolution: {integrity: sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 0.0.51 '@types/json-schema': 7.0.11 dev: true @@ -6207,10 +5257,6 @@ packages: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} dev: true - /@types/estree/1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true - /@types/express-serve-static-core/4.17.33: resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==} dependencies: @@ -6333,7 +5379,7 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 16.18.12 + '@types/node': 18.14.0 form-data: 3.0.1 dev: true @@ -6456,8 +5502,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin/5.52.0_6cfvjsbua5ptj65675bqcn6oza: - resolution: {integrity: sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==} + /@typescript-eslint/eslint-plugin/5.53.0_ny4s7qc6yg74faf3d6xty2ofzy: + resolution: {integrity: sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -6467,14 +5513,14 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm - '@typescript-eslint/scope-manager': 5.52.0 - '@typescript-eslint/type-utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm - '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/scope-manager': 5.53.0 + '@typescript-eslint/type-utils': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/utils': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 4.3.4 eslint: 8.34.0 grapheme-splitter: 1.0.4 - ignore: 5.2.4 + ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.8 @@ -6484,8 +5530,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm: - resolution: {integrity: sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==} + /@typescript-eslint/parser/5.53.0_7kw3g6rralp5ps6mg3uyzz6azm: + resolution: {integrity: sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -6494,9 +5540,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.52.0 - '@typescript-eslint/types': 5.52.0 - '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.53.0 + '@typescript-eslint/types': 5.53.0 + '@typescript-eslint/typescript-estree': 5.53.0_typescript@4.9.5 debug: 4.3.4 eslint: 8.34.0 typescript: 4.9.5 @@ -6504,16 +5550,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.52.0: - resolution: {integrity: sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==} + /@typescript-eslint/scope-manager/5.53.0: + resolution: {integrity: sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.52.0 - '@typescript-eslint/visitor-keys': 5.52.0 + '@typescript-eslint/types': 5.53.0 + '@typescript-eslint/visitor-keys': 5.53.0 dev: true - /@typescript-eslint/type-utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm: - resolution: {integrity: sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==} + /@typescript-eslint/type-utils/5.53.0_7kw3g6rralp5ps6mg3uyzz6azm: + resolution: {integrity: sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -6522,8 +5568,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/typescript-estree': 5.53.0_typescript@4.9.5 + '@typescript-eslint/utils': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 4.3.4 eslint: 8.34.0 tsutils: 3.21.0_typescript@4.9.5 @@ -6532,13 +5578,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.52.0: - resolution: {integrity: sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==} + /@typescript-eslint/types/5.53.0: + resolution: {integrity: sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.52.0_typescript@4.9.5: - resolution: {integrity: sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==} + /@typescript-eslint/typescript-estree/5.53.0_typescript@4.9.5: + resolution: {integrity: sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -6546,8 +5592,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.52.0 - '@typescript-eslint/visitor-keys': 5.52.0 + '@typescript-eslint/types': 5.53.0 + '@typescript-eslint/visitor-keys': 5.53.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -6558,17 +5604,17 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm: - resolution: {integrity: sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==} + /@typescript-eslint/utils/5.53.0_7kw3g6rralp5ps6mg3uyzz6azm: + resolution: {integrity: sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.52.0 - '@typescript-eslint/types': 5.52.0 - '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.53.0 + '@typescript-eslint/types': 5.53.0 + '@typescript-eslint/typescript-estree': 5.53.0_typescript@4.9.5 eslint: 8.34.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.34.0 @@ -6578,15 +5624,15 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.52.0: - resolution: {integrity: sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==} + /@typescript-eslint/visitor-keys/5.53.0: + resolution: {integrity: sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.52.0 + '@typescript-eslint/types': 5.53.0 eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-react/3.1.0_vite@4.1.2: + /@vitejs/plugin-react/3.1.0_vite@4.1.4: resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6597,12 +5643,12 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12 magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.1.2_@types+node@18.14.0 + vite: 4.1.4_@types+node@18.14.0 transitivePeerDependencies: - supports-color dev: true - /@vitest/coverage-istanbul/0.28.5_happy-dom@8.5.0: + /@vitest/coverage-istanbul/0.28.5_happy-dom@8.7.1: resolution: {integrity: sha512-na1pkr3AVrdFflzuBXsBh1MvBfhSMrv4nfd4N8rm0HEJlvlbQc+GiqNwtwzfO8TPsXxcjNphSIMp5wvCy+0xrQ==} dependencies: istanbul-lib-coverage: 3.2.0 @@ -6611,7 +5657,7 @@ packages: istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 test-exclude: 6.0.0 - vitest: 0.28.5_happy-dom@8.5.0 + vitest: 0.28.5_happy-dom@8.7.1 transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -7012,6 +6058,14 @@ packages: tslib: 2.5.0 dev: false + /aria-query/4.2.2: + resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} + engines: {node: '>=6.0'} + dependencies: + '@babel/runtime': 7.21.0 + '@babel/runtime-corejs3': 7.19.1 + dev: true + /aria-query/5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: @@ -7145,8 +6199,8 @@ packages: fast-glob: 3.2.12 dev: true - /axe-core/4.6.3: - resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} + /axe-core/4.4.3: + resolution: {integrity: sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==} engines: {node: '>=4'} dev: true @@ -7160,10 +6214,8 @@ packages: - debug dev: true - /axobject-query/3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} - dependencies: - deep-equal: 2.2.0 + /axobject-query/2.2.0: + resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} dev: true /babel-core/7.0.0-bridge.0_@babel+core@7.20.12: @@ -7191,8 +6243,8 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.20.13 - cosmiconfig: 7.1.0 + '@babel/runtime': 7.21.0 + cosmiconfig: 7.0.1 resolve: 1.22.1 dev: false @@ -7209,19 +6261,6 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.20.5: - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.5 - '@babel/core': 7.20.5 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.12: resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: @@ -7234,18 +6273,6 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.20.5: - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5 - core-js-compat: 3.27.1 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.12: resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: @@ -7257,17 +6284,6 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.20.5: - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.5 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.20.5 - transitivePeerDependencies: - - supports-color - dev: true - /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -7415,7 +6431,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001456 + caniuse-lite: 1.0.30001419 electron-to-chromium: 1.4.284 node-releases: 2.0.6 update-browserslist-db: 1.0.10_browserslist@4.21.4 @@ -7573,8 +6589,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001456: - resolution: {integrity: sha512-XFHJY5dUgmpMV25UqaD4kVq2LsiaU5rS8fb0f17pCoXQiQslzmFgnfOxfvo1bTpTqf7dwG/N/05CnLCnOEKmzA==} + /caniuse-lite/1.0.30001419: + resolution: {integrity: sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==} /chai/4.3.7: resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} @@ -7829,8 +6845,8 @@ packages: engines: {node: '>= 10'} dev: true - /commander/9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + /commander/9.4.1: + resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} engines: {node: ^12.20.0 || >=14} dev: true @@ -7927,11 +6943,16 @@ packages: browserslist: 4.21.4 dev: true + /core-js-pure/3.25.2: + resolution: {integrity: sha512-ItD7YpW1cUB4jaqFLZXe1AXkyqIxz6GqPnsDV4uF4hVcWh/WAGIqSqw5p0/WdsILM0Xht9s3Koyw05R3K6RtiA==} + requiresBuild: true + dev: true + /core-util-is/1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig/7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + /cosmiconfig/7.0.1: + resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} engines: {node: '>=10'} dependencies: '@types/parse-json': 4.0.0 @@ -8285,7 +7306,7 @@ packages: /dom-helpers/5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 csstype: 3.1.1 dev: false @@ -8425,7 +7446,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.12.2 object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.4.3 @@ -8566,34 +7587,34 @@ packages: '@esbuild/win32-x64': 0.16.17 dev: true - /esbuild/0.17.8: - resolution: {integrity: sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==} + /esbuild/0.17.10: + resolution: {integrity: sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.8 - '@esbuild/android-arm64': 0.17.8 - '@esbuild/android-x64': 0.17.8 - '@esbuild/darwin-arm64': 0.17.8 - '@esbuild/darwin-x64': 0.17.8 - '@esbuild/freebsd-arm64': 0.17.8 - '@esbuild/freebsd-x64': 0.17.8 - '@esbuild/linux-arm': 0.17.8 - '@esbuild/linux-arm64': 0.17.8 - '@esbuild/linux-ia32': 0.17.8 - '@esbuild/linux-loong64': 0.17.8 - '@esbuild/linux-mips64el': 0.17.8 - '@esbuild/linux-ppc64': 0.17.8 - '@esbuild/linux-riscv64': 0.17.8 - '@esbuild/linux-s390x': 0.17.8 - '@esbuild/linux-x64': 0.17.8 - '@esbuild/netbsd-x64': 0.17.8 - '@esbuild/openbsd-x64': 0.17.8 - '@esbuild/sunos-x64': 0.17.8 - '@esbuild/win32-arm64': 0.17.8 - '@esbuild/win32-ia32': 0.17.8 - '@esbuild/win32-x64': 0.17.8 + '@esbuild/android-arm': 0.17.10 + '@esbuild/android-arm64': 0.17.10 + '@esbuild/android-x64': 0.17.10 + '@esbuild/darwin-arm64': 0.17.10 + '@esbuild/darwin-x64': 0.17.10 + '@esbuild/freebsd-arm64': 0.17.10 + '@esbuild/freebsd-x64': 0.17.10 + '@esbuild/linux-arm': 0.17.10 + '@esbuild/linux-arm64': 0.17.10 + '@esbuild/linux-ia32': 0.17.10 + '@esbuild/linux-loong64': 0.17.10 + '@esbuild/linux-mips64el': 0.17.10 + '@esbuild/linux-ppc64': 0.17.10 + '@esbuild/linux-riscv64': 0.17.10 + '@esbuild/linux-s390x': 0.17.10 + '@esbuild/linux-x64': 0.17.10 + '@esbuild/netbsd-x64': 0.17.10 + '@esbuild/openbsd-x64': 0.17.10 + '@esbuild/sunos-x64': 0.17.10 + '@esbuild/win32-arm64': 0.17.10 + '@esbuild/win32-ia32': 0.17.10 + '@esbuild/win32-x64': 0.17.10 dev: true /escalade/3.1.1: @@ -8641,12 +7662,12 @@ packages: dependencies: '@next/eslint-plugin-next': 13.1.6 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 eslint-import-resolver-typescript: 3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm - eslint-plugin-import: 2.27.5_gndiqgw2wrzfeqy4ccfxbmtnsi - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.34.0 + eslint-plugin-import: 2.27.5_2hqppaeqs2axgzqg6vttejknky + eslint-plugin-jsx-a11y: 6.6.1_eslint@8.34.0 eslint-plugin-react: 7.32.2_eslint@8.34.0 eslint-plugin-react-hooks: 4.6.0_eslint@8.34.0 typescript: 4.9.5 @@ -8684,7 +7705,7 @@ packages: debug: 4.3.4 enhanced-resolve: 5.12.0 eslint: 8.34.0 - eslint-plugin-import: 2.27.5_gndiqgw2wrzfeqy4ccfxbmtnsi + eslint-plugin-import: 2.27.5_2hqppaeqs2axgzqg6vttejknky get-tsconfig: 4.4.0 globby: 13.1.3 is-core-module: 2.11.0 @@ -8694,7 +7715,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_cvrl34cvgpgac5pvqi7ag6zw7e: + /eslint-module-utils/2.7.4_3freb5c3ievl3t36g6rmbowrqe: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -8715,7 +7736,36 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm + debug: 3.2.7 + eslint: 8.34.0 + eslint-import-resolver-node: 0.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils/2.7.4_yfzt44nswbaazp63chcrlz6vvq: + resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 3.2.7 eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 @@ -8724,36 +7774,7 @@ packages: - supports-color dev: true - /eslint-module-utils/2.7.4_npjqex3ey3rgd34fjcuucz7la4: - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm - debug: 3.2.7 - eslint: 8.34.0 - eslint-import-resolver-node: 0.3.7 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-import/2.27.5_gndiqgw2wrzfeqy4ccfxbmtnsi: + /eslint-plugin-import/2.27.5_2hqppaeqs2axgzqg6vttejknky: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -8763,7 +7784,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -8771,7 +7792,7 @@ packages: doctrine: 2.1.0 eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_cvrl34cvgpgac5pvqi7ag6zw7e + eslint-module-utils: 2.7.4_yfzt44nswbaazp63chcrlz6vvq has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -8786,7 +7807,7 @@ packages: - supports-color dev: true - /eslint-plugin-import/2.27.5_mcvs2y73sfmcxqzpjj5lr7a2m4: + /eslint-plugin-import/2.27.5_dbs2zxbe2aiqaiiio3svelvkai: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -8796,7 +7817,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -8804,7 +7825,7 @@ packages: doctrine: 2.1.0 eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_npjqex3ey3rgd34fjcuucz7la4 + eslint-module-utils: 2.7.4_3freb5c3ievl3t36g6rmbowrqe has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -8819,19 +7840,18 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y/6.7.1_eslint@8.34.0: - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} + /eslint-plugin-jsx-a11y/6.6.1_eslint@8.34.0: + resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.20.13 - aria-query: 5.1.3 + '@babel/runtime': 7.21.0 + aria-query: 4.2.2 array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 ast-types-flow: 0.0.7 - axe-core: 4.6.3 - axobject-query: 3.1.1 + axe-core: 4.4.3 + axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 eslint: 8.34.0 @@ -8839,8 +7859,6 @@ packages: jsx-ast-utils: 3.3.3 language-tags: 1.0.5 minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 semver: 6.3.0 dev: true @@ -8902,7 +7920,7 @@ packages: eslint: 8.34.0 dev: true - /eslint-plugin-unused-imports/2.0.0_vqeavzxdzk2atb75l6fx3anzpi: + /eslint-plugin-unused-imports/2.0.0_cywiivd33wj5dtfbj25uyqfkna: resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8912,7 +7930,7 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza + '@typescript-eslint/eslint-plugin': 5.53.0_ny4s7qc6yg74faf3d6xty2ofzy eslint: 8.34.0 eslint-rule-composer: 0.3.0 dev: true @@ -9340,7 +8358,7 @@ packages: /filelist/1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: - minimatch: 5.1.6 + minimatch: 5.1.2 dev: true /filename-reserved-regex/3.0.0: @@ -9810,7 +8828,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.6 + minimatch: 5.1.2 once: 1.4.0 dev: true @@ -9844,7 +8862,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.2.12 - ignore: 5.2.4 + ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -9855,7 +8873,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.2.12 - ignore: 5.2.4 + ignore: 5.2.0 merge2: 1.4.1 slash: 4.0.0 dev: true @@ -9925,12 +8943,12 @@ packages: uglify-js: 3.17.4 dev: true - /happy-dom/8.5.0: - resolution: {integrity: sha512-lvTGebHYr6h13Fox5Gfej3DinLWzvvfYlBFvlxG2Y/RmaGoDrJ5Xdwyqnk5YxbDJeEpZuKn8holCidlxvkkqGw==} + /happy-dom/8.7.1: + resolution: {integrity: sha512-/z+B/LUEETO9qGbUw80TTCjyhibmczB7OF1XxJ+UU1LlFOBkqO+GCVM+lDaQKVH62HxvX4sbu/EL2KlUtmyyZw==} dependencies: css.escape: 1.5.1 he: 1.2.0 - node-fetch: 2.6.9 + node-fetch: 2.6.7 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 @@ -10122,7 +9140,7 @@ packages: /i18next/22.4.10: resolution: {integrity: sha512-3EqgGK6fAJRjnGgfkNSStl4mYLCjUoJID338yVyLMj5APT67HUtWoqSayZewiiC5elzMUB1VEUwcmSCoeQcNEA==} dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.20.7 dev: false /iconv-lite/0.4.24: @@ -10156,11 +9174,6 @@ packages: engines: {node: '>= 4'} dev: true - /ignore/5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -10505,7 +9518,7 @@ packages: /isomorphic-unfetch/3.1.0: resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} dependencies: - node-fetch: 2.6.9 + node-fetch: 2.6.7 unfetch: 4.2.0 transitivePeerDependencies: - encoding @@ -10694,7 +9707,7 @@ packages: '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12 '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12 '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12 - '@babel/preset-env': 7.20.2_@babel+core@7.20.5 + '@babel/preset-env': 7.20.2_@babel+core@7.20.12 '@babel/preset-flow': 7.18.6_@babel+core@7.20.12 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12 '@babel/register': 7.18.9_@babel+core@7.20.12 @@ -10900,14 +9913,14 @@ packages: dependencies: cli-truncate: 3.1.0 colorette: 2.0.19 - commander: 9.5.0 + commander: 9.4.1 debug: 4.3.4 execa: 6.1.0 lilconfig: 2.0.6 - listr2: 5.0.7 + listr2: 5.0.6 micromatch: 4.0.5 normalize-path: 3.0.0 - object-inspect: 1.12.3 + object-inspect: 1.12.2 pidtree: 0.6.0 string-argv: 0.3.1 yaml: 2.2.1 @@ -10916,8 +9929,8 @@ packages: - supports-color dev: true - /listr2/5.0.7: - resolution: {integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==} + /listr2/5.0.6: + resolution: {integrity: sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==} engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: enquirer: '>= 2.3.0 < 3' @@ -11317,8 +10330,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch/5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + /minimatch/5.1.2: + resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 @@ -11473,7 +10486,7 @@ packages: dependencies: '@next/env': 13.1.0 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001456 + caniuse-lite: 1.0.30001419 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -11517,7 +10530,7 @@ packages: dependencies: '@next/env': 13.1.6 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001456 + caniuse-lite: 1.0.30001419 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -11564,6 +10577,18 @@ packages: resolution: {integrity: sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==} dev: true + /node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + /node-fetch/2.6.7_encoding@0.1.13: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -11577,18 +10602,6 @@ packages: whatwg-url: 5.0.0 dev: false - /node-fetch/2.6.9: - resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - /node-fetch/3.2.10: resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -11716,8 +10729,8 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-inspect/1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true /object-is/1.1.5: @@ -12136,8 +11149,8 @@ packages: pathe: 1.1.0 dev: true - /playwright-core/1.30.0: - resolution: {integrity: sha512-7AnRmTCf+GVYhHbLJsGUtskWTE33SwMZkybJ0v6rqR1boxq2x36U7p1vDRV7HO2IwTZgmycracLxPEJI49wu4g==} + /playwright-core/1.31.0: + resolution: {integrity: sha512-/KquBjS5DcASCh8cGeNVHuC0kyb7c9plKTwaKxgOGtxT7+DZO2fjmFvPDBSXslEIK5CeOO/2kk5rOCktFXKEdA==} engines: {node: '>=14'} hasBin: true dev: true @@ -12146,7 +11159,7 @@ packages: resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.21.0 dev: true /postcss/8.4.14: @@ -12268,8 +11281,8 @@ packages: long: 4.0.0 dev: false - /protobufjs/7.2.2: - resolution: {integrity: sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==} + /protobufjs/7.1.2: + resolution: {integrity: sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==} engines: {node: '>=12.0.0'} requiresBuild: true dependencies: @@ -12494,7 +11507,7 @@ packages: react-native: optional: true dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.20.7 html-parse-stringify: 3.0.1 i18next: 22.4.10 react: 18.2.0 @@ -12609,7 +11622,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -12755,7 +11768,7 @@ packages: /regenerator-transform/0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.21.0 dev: true /regexp.prototype.flags/1.4.3: @@ -12922,14 +11935,6 @@ packages: fsevents: 2.3.2 dev: true - /rollup/3.17.1: - resolution: {integrity: sha512-8RnSms6rNqHmZK+wiqgnPCqen+rRnUHXkciGDirh7B00g1rX1vpKbPDhuxCvAG2bburoI+W4Q9/PlUB/zYkiYA==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -13124,7 +12129,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.3 - object-inspect: 1.12.3 + object-inspect: 1.12.2 dev: true /siginfo/2.0.0: @@ -13535,35 +12540,25 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /swc-loader/0.2.3_gwpkmym7uf5m6snr3dgsgj5rrq: + /swc-loader/0.2.3_wumblt6f7l27pkvqm54p67bbsa: resolution: {integrity: sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==} peerDependencies: '@swc/core': ^1.2.147 webpack: '>=2' dependencies: - '@swc/core': 1.3.35 - webpack: 5.75.0_@swc+core@1.3.35 + '@swc/core': 1.3.36 + webpack: 5.75.0_@swc+core@1.3.36 dev: true /swc/1.0.11: resolution: {integrity: sha512-YbG4eija7g/ajQ0lu4P2WPgKt5zCm743VgKn+buBrXXo1IETftO2r/8VdBPhv8wpTyg3CO+VU1z2wHuL4iohmw==} dependencies: - '@swc/cli': 0.1.61_@swc+core@1.3.35 - '@swc/core': 1.3.35 + '@swc/cli': 0.1.61_@swc+core@1.3.36 + '@swc/core': 1.3.36 transitivePeerDependencies: - chokidar dev: true - /swr/2.0.3_react@18.2.0: - resolution: {integrity: sha512-sGvQDok/AHEWTPfhUWXEHBVEXmgGnuahyhmRQbjl9XBYxT/MSlAzvXEKQpyM++bMPaI52vcWS2HiKNaW7+9OFw==} - engines: {pnpm: '7'} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 - dependencies: - react: 18.2.0 - use-sync-external-store: 1.2.0_react@18.2.0 - dev: false - /synchronous-promise/2.0.17: resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} dev: true @@ -13627,31 +12622,6 @@ packages: engines: {node: '>=8'} dev: true - /terser-webpack-plugin/5.3.6_gwpkmym7uf5m6snr3dgsgj5rrq: - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - '@swc/core': 1.3.35 - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - terser: 5.16.1 - webpack: 5.75.0_@swc+core@1.3.35 - dev: true - /terser-webpack-plugin/5.3.6_webpack@5.75.0: resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} engines: {node: '>= 10.13.0'} @@ -13676,6 +12646,31 @@ packages: webpack: 5.75.0 dev: true + /terser-webpack-plugin/5.3.6_wumblt6f7l27pkvqm54p67bbsa: + resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + '@swc/core': 1.3.36 + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.0 + terser: 5.16.1 + webpack: 5.75.0_@swc+core@1.3.36 + dev: true + /terser/5.16.1: resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} engines: {node: '>=10'} @@ -14254,7 +13249,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.1.2_@types+node@18.14.0 + vite: 4.1.4_@types+node@18.14.0 transitivePeerDependencies: - '@types/node' - less @@ -14265,8 +13260,8 @@ packages: - terser dev: true - /vite/4.1.2: - resolution: {integrity: sha512-MWDb9Rfy3DI8omDQySbMK93nQqStwbsQWejXRY2EBzEWKmLAXWb1mkI9Yw2IJrc+oCvPCI1Os5xSSIBYY6DEAw==} + /vite/4.1.4: + resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -14293,13 +13288,13 @@ packages: esbuild: 0.16.17 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.17.1 + rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 dev: true - /vite/4.1.2_@types+node@18.14.0: - resolution: {integrity: sha512-MWDb9Rfy3DI8omDQySbMK93nQqStwbsQWejXRY2EBzEWKmLAXWb1mkI9Yw2IJrc+oCvPCI1Os5xSSIBYY6DEAw==} + /vite/4.1.4_@types+node@18.14.0: + resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -14327,12 +13322,12 @@ packages: esbuild: 0.16.17 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.17.1 + rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 dev: true - /vitest/0.28.5_happy-dom@8.5.0: + /vitest/0.28.5_happy-dom@8.7.1: resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} engines: {node: '>=v14.16.0'} hasBin: true @@ -14366,7 +13361,7 @@ packages: cac: 6.7.14 chai: 4.3.7 debug: 4.3.4 - happy-dom: 8.5.0 + happy-dom: 8.7.1 local-pkg: 0.4.3 pathe: 1.1.0 picocolors: 1.0.0 @@ -14376,7 +13371,7 @@ packages: tinybench: 2.3.1 tinypool: 0.3.1 tinyspy: 1.1.1 - vite: 4.1.2_@types+node@18.14.0 + vite: 4.1.4_@types+node@18.14.0 vite-node: 0.28.5_@types+node@18.14.0 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -14483,7 +13478,7 @@ packages: - uglify-js dev: true - /webpack/5.75.0_@swc+core@1.3.35: + /webpack/5.75.0_@swc+core@1.3.36: resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} engines: {node: '>=10.13.0'} hasBin: true @@ -14514,7 +13509,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.1.1 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6_gwpkmym7uf5m6snr3dgsgj5rrq + terser-webpack-plugin: 5.3.6_wumblt6f7l27pkvqm54p67bbsa watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -14865,8 +13860,8 @@ packages: fd-slicer: 1.1.0 dev: true - /yjs/13.5.46: - resolution: {integrity: sha512-KIY4BEWYCm79Sr4JTDvgirXmz3lVZ5n7h6nKlsBYu97f/HDQo+XSoq92RqBiybejF9E/L5Iz+56zZrSfBKZ5DQ==} + /yjs/13.5.47: + resolution: {integrity: sha512-F7BZ+Bt36OAt+bdSQS7TN43KSxsHjfXWfcLC526tJ3mctO1FYHGEtOrUqpLC7pSp4jPn4rKSYHv1PVQcdb/vIQ==} dependencies: lib0: 0.2.62 diff --git a/scripts/upgrade-blocksuite.sh b/scripts/upgrade-blocksuite.sh index 007c0c0a7e..e197be434f 100755 --- a/scripts/upgrade-blocksuite.sh +++ b/scripts/upgrade-blocksuite.sh @@ -8,3 +8,4 @@ if [ "$1" == "--latest" ]; then else pnpm up "@blocksuite/*@${1}" "!@blocksuite/icons" -r fi + diff --git a/tests/local-first-export-page.spec.ts b/tests/local-first-export-page.spec.ts index c8f238e48b..097e4b1ac0 100644 --- a/tests/local-first-export-page.spec.ts +++ b/tests/local-first-export-page.spec.ts @@ -6,7 +6,7 @@ import { test } from './libs/playwright'; loadPage(); test.describe('Local first export page', () => { - test('New a page ,then open it and export html', async ({ page }) => { + test.skip('New a page ,then open it and export html', async ({ page }) => { await newPage(page); await page.getByPlaceholder('Title').click(); await page @@ -34,7 +34,9 @@ test.describe('Local first export page', () => { ); }); - test('New a page ,then open it and export markdown', async ({ page }) => { + test.skip('New a page ,then open it and export markdown', async ({ + page, + }) => { await newPage(page); await page.getByPlaceholder('Title').click(); await page diff --git a/vitest.config.ts b/vitest.config.ts index aeb1a7e802..85ae2781a5 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,13 +1,8 @@ -import path from 'node:path'; - -import react from '@vitejs/plugin-react'; -import { fileURLToPath } from 'url'; import { defineConfig } from 'vitest/config'; export default defineConfig({ - plugins: [react()], test: { - include: ['packages/**/*.spec.ts', 'packages/**/*.spec.tsx'], + include: ['packages/**/*.spec.ts'], testTimeout: 5000, coverage: { provider: 'istanbul', // or 'c8' @@ -15,11 +10,4 @@ export default defineConfig({ reportsDirectory: '.coverage/store', }, }, - resolve: { - alias: { - '@affine/store': path.resolve( - fileURLToPath(new URL('packages/store', import.meta.url)) - ), - }, - }, });