diff --git a/MIGRATION.md b/MIGRATION.md index 618fe072a5a1..b6f6b6196679 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,5 +1,7 @@

Migration

+- [From version 7.0.0 to 7.2.0](#from-version-700-to-720) + - [Addon API are more type-strict](#addon-api-are-more-type-strict) - [From version 6.5.x to 7.0.0](#from-version-65x-to-700) - [7.0 breaking changes](#70-breaking-changes) - [Dropped support for Node 15 and below](#dropped-support-for-node-15-and-below) @@ -300,6 +302,31 @@ - [Packages renaming](#packages-renaming) - [Deprecated embedded addons](#deprecated-embedded-addons) +## From version 7.0.0 to 7.2.0 + +#### Addon API is more type-strict + +When registering an addon using `@storybook/manager-api`, the addon API is now more type-strict. This means if you use TypeScript to compile your addon before publishing, it might start giving you errors. + +The `type` property is now a required field, and the `id` property should not be set anymore. + +Here's a correct example: +```tsx +import { addons, types } from '@storybook/manager-api'; + +addons.register('my-addon', () => { + addons.add('my-addon/panel', { + type: types.PANEL, + title: 'My Addon', + render: ({ active }) => active ?
Hello World
: null, + }); +}); +``` + +The API: `addons.addPanel()` is now deprecated, and will be removed in 8.0.0. Please use `addons.add()` instead. + +The `render` method can now be a `React.FunctionComponent` (without the `children` prop). Storybook will now render it, rather than calling it as a function. + ## From version 6.5.x to 7.0.0 A number of these changes can be made automatically by the Storybook CLI. To take advantage of these "automigrations", run `npx storybook@latest upgrade --prerelease` or `pnpx dlx storybook@latest upgrade --prerelease`. diff --git a/code/addons/a11y/package.json b/code/addons/a11y/package.json index ce2a52a5386e..612a0d5ff0a5 100644 --- a/code/addons/a11y/package.json +++ b/code/addons/a11y/package.json @@ -59,7 +59,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/a11y/src/manager.test.tsx b/code/addons/a11y/src/manager.test.tsx index 0372c567f209..f389266ce785 100644 --- a/code/addons/a11y/src/manager.test.tsx +++ b/code/addons/a11y/src/manager.test.tsx @@ -1,13 +1,16 @@ import * as api from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; import { PANEL_ID } from './constants'; import './manager'; jest.mock('@storybook/manager-api'); const mockedApi = api as unknown as jest.Mocked; -mockedApi.getAddonState = jest.fn(); +mockedApi.useAddonState = jest.fn(); const mockedAddons = api.addons as jest.Mocked; const registrationImpl = mockedAddons.register.mock.calls[0][1]; +const isPanel = (input: Parameters[1]): input is Addon_BaseType => + input.type === api.types.PANEL; describe('A11yManager', () => { it('should register the panels', () => { // when @@ -29,25 +32,68 @@ describe('A11yManager', () => { it('should compute title with no issues', () => { // given - mockedApi.getAddonState.mockImplementation(() => undefined); + mockedApi.useAddonState.mockImplementation(() => [undefined]); registrationImpl(api as unknown as api.API); - const title = mockedAddons.add.mock.calls - .map(([_, def]) => def) - .find(({ type }) => type === api.types.PANEL)?.title as Function; + const title = mockedAddons.add.mock.calls.map(([_, def]) => def).find(isPanel) + ?.title as Function; // when / then - expect(title()).toBe('Accessibility'); + expect(title()).toMatchInlineSnapshot(` +
+ + + Accessibility + + + +
+ `); }); it('should compute title with issues', () => { // given - mockedApi.getAddonState.mockImplementation(() => ({ violations: [{}], incomplete: [{}, {}] })); + mockedApi.useAddonState.mockImplementation(() => [ + { + violations: [{}], + incomplete: [{}, {}], + }, + ]); registrationImpl(mockedApi); - const title = mockedAddons.add.mock.calls - .map(([_, def]) => def) - .find(({ type }) => type === api.types.PANEL)?.title as Function; + const title = mockedAddons.add.mock.calls.map(([_, def]) => def).find(isPanel) + ?.title as Function; // when / then - expect(title()).toBe('Accessibility (3)'); + expect(title()).toMatchInlineSnapshot(` +
+ + + Accessibility + + + 3 + + +
+ `); }); }); diff --git a/code/addons/a11y/src/manager.tsx b/code/addons/a11y/src/manager.tsx index 910e3d10050b..3943fb3d2d48 100644 --- a/code/addons/a11y/src/manager.tsx +++ b/code/addons/a11y/src/manager.tsx @@ -1,11 +1,30 @@ import React from 'react'; -import { addons, types } from '@storybook/manager-api'; +import { addons, types, useAddonState } from '@storybook/manager-api'; +import { Badge, Spaced } from '@storybook/components'; import { ADDON_ID, PANEL_ID, PARAM_KEY } from './constants'; import { VisionSimulator } from './components/VisionSimulator'; import { A11YPanel } from './components/A11YPanel'; import type { Results } from './components/A11yContext'; import { A11yContextProvider } from './components/A11yContext'; +const Title = () => { + const [addonState] = useAddonState(ADDON_ID); + const violationsNb = addonState?.violations?.length || 0; + const incompleteNb = addonState?.incomplete?.length || 0; + const count = violationsNb + incompleteNb; + + const suffix = count === 0 ? '' : {count}; + + return ( +
+ + Accessibility + {suffix} + +
+ ); +}; + addons.register(ADDON_ID, (api) => { addons.add(PANEL_ID, { title: '', @@ -15,17 +34,10 @@ addons.register(ADDON_ID, (api) => { }); addons.add(PANEL_ID, { - title() { - const addonState: Results = api?.getAddonState(ADDON_ID); - const violationsNb = addonState?.violations?.length || 0; - const incompleteNb = addonState?.incomplete?.length || 0; - const totalNb = violationsNb + incompleteNb; - return totalNb !== 0 ? `Accessibility (${totalNb})` : 'Accessibility'; - }, - id: 'accessibility', + title: Title, type: types.PANEL, - render: ({ active = true, key }) => ( - + render: ({ active = true }) => ( + ), diff --git a/code/addons/a11y/tsconfig.json b/code/addons/a11y/tsconfig.json index 0535ece33606..2713b9288c15 100644 --- a/code/addons/a11y/tsconfig.json +++ b/code/addons/a11y/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "types": ["jest", "@testing-library/jest-dom"], + "skipLibCheck": true, "strict": true }, "include": ["src/**/*"] diff --git a/code/addons/actions/package.json b/code/addons/actions/package.json index 0905b055a970..04b698d8f97d 100644 --- a/code/addons/actions/package.json +++ b/code/addons/actions/package.json @@ -76,7 +76,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/actions/src/manager.tsx b/code/addons/actions/src/manager.tsx index 38e69e4b11ac..cade1d86fdce 100644 --- a/code/addons/actions/src/manager.tsx +++ b/code/addons/actions/src/manager.tsx @@ -1,50 +1,42 @@ -import React, { useState } from 'react'; -import { addons, types, useChannel } from '@storybook/manager-api'; +import React from 'react'; +import { addons, types, useAddonState, useChannel } from '@storybook/manager-api'; import { STORY_CHANGED } from '@storybook/core-events'; +import { Badge, Spaced } from '@storybook/components'; import ActionLogger from './containers/ActionLogger'; import { ADDON_ID, CLEAR_ID, EVENT_ID, PANEL_ID, PARAM_KEY } from './constants'; -function Title({ count }: { count: { current: number } }) { - // eslint-disable-next-line @typescript-eslint/naming-convention - const [_, setRerender] = useState(false); +function Title() { + const [{ count }, setCount] = useAddonState(ADDON_ID, { count: 0 }); - // Reactivity hack - force re-render on STORY_CHANGED, EVENT_ID and CLEAR_ID events useChannel({ [EVENT_ID]: () => { - setRerender((r) => !r); + setCount((c) => ({ ...c, count: c.count + 1 })); }, [STORY_CHANGED]: () => { - setRerender((r) => !r); + setCount((c) => ({ ...c, count: 0 })); }, [CLEAR_ID]: () => { - setRerender((r) => !r); + setCount((c) => ({ ...c, count: 0 })); }, }); - const suffix = count.current === 0 ? '' : ` (${count.current})`; - return <>Actions{suffix}; + const suffix = count === 0 ? '' : {count}; + + return ( +
+ + Actions + {suffix} + +
+ ); } addons.register(ADDON_ID, (api) => { - const countRef = { current: 0 }; - - api.on(STORY_CHANGED, (id) => { - countRef.current = 0; - }); - - api.on(EVENT_ID, () => { - countRef.current += 1; - }); - - api.on(CLEAR_ID, () => { - countRef.current = 0; - }); - addons.add(PANEL_ID, { - title: , - id: 'actions', + title: Title, type: types.PANEL, - render: ({ active, key }) => <ActionLogger key={key} api={api} active={!!active} />, + render: ({ active }) => <ActionLogger api={api} active={!!active} />, paramKey: PARAM_KEY, }); }); diff --git a/code/addons/backgrounds/package.json b/code/addons/backgrounds/package.json index e18a3fc41938..26128a713df0 100644 --- a/code/addons/backgrounds/package.json +++ b/code/addons/backgrounds/package.json @@ -72,7 +72,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/backgrounds/src/manager.tsx b/code/addons/backgrounds/src/manager.tsx index 4cabc6011c84..ecd36b0bb618 100644 --- a/code/addons/backgrounds/src/manager.tsx +++ b/code/addons/backgrounds/src/manager.tsx @@ -8,7 +8,6 @@ import { GridSelector } from './containers/GridSelector'; addons.register(ADDON_ID, () => { addons.add(ADDON_ID, { title: 'Backgrounds', - id: 'backgrounds', type: types.TOOL, match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)), render: () => ( diff --git a/code/addons/controls/package.json b/code/addons/controls/package.json index 96597e6d218c..e76a33702e1c 100644 --- a/code/addons/controls/package.json +++ b/code/addons/controls/package.json @@ -64,7 +64,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/controls/src/manager.tsx b/code/addons/controls/src/manager.tsx index 6558aa6eda0f..921cd038b74c 100644 --- a/code/addons/controls/src/manager.tsx +++ b/code/addons/controls/src/manager.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { addons, types, useArgTypes } from '@storybook/manager-api'; -import { AddonPanel } from '@storybook/components'; +import { AddonPanel, Badge, Spaced } from '@storybook/components'; import { ControlsPanel } from './ControlsPanel'; import { ADDON_ID, PARAM_KEY } from './constants'; @@ -9,23 +9,29 @@ function Title() { const controlsCount = Object.values(rows).filter( (argType) => argType?.control && !argType?.table?.disable ).length; - const suffix = controlsCount === 0 ? '' : ` (${controlsCount})`; + const suffix = controlsCount === 0 ? '' : <Badge status="neutral">{controlsCount}</Badge>; - return <>Controls{suffix}</>; + return ( + <div> + <Spaced col={1}> + <span style={{ display: 'inline-block', verticalAlign: 'middle' }}>Controls</span> + {suffix} + </Spaced> + </div> + ); } addons.register(ADDON_ID, (api) => { addons.add(ADDON_ID, { - title: <Title />, - id: 'controls', + title: Title, type: types.PANEL, paramKey: PARAM_KEY, - render: ({ key, active }) => { + render: ({ active }) => { if (!active || !api.getCurrentStoryData()) { return null; } return ( - <AddonPanel key={key} active={active}> + <AddonPanel active={active}> <ControlsPanel /> </AddonPanel> ); diff --git a/code/addons/docs/package.json b/code/addons/docs/package.json index f0ba3a7907d3..d27003bf434d 100644 --- a/code/addons/docs/package.json +++ b/code/addons/docs/package.json @@ -93,7 +93,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/essentials/package.json b/code/addons/essentials/package.json index e1af4dc5c087..bfdc135d190b 100644 --- a/code/addons/essentials/package.json +++ b/code/addons/essentials/package.json @@ -115,7 +115,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/gfm/package.json b/code/addons/gfm/package.json index 99a8c7d8a72f..bc607631eec0 100644 --- a/code/addons/gfm/package.json +++ b/code/addons/gfm/package.json @@ -47,7 +47,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/highlight/package.json b/code/addons/highlight/package.json index a7ae4c532db5..38b1300a7d80 100644 --- a/code/addons/highlight/package.json +++ b/code/addons/highlight/package.json @@ -57,7 +57,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/interactions/package.json b/code/addons/interactions/package.json index f65ccc5848cb..b3d131ffbb74 100644 --- a/code/addons/interactions/package.json +++ b/code/addons/interactions/package.json @@ -68,7 +68,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/interactions/src/Panel.tsx b/code/addons/interactions/src/Panel.tsx index a6cdcba755c2..0bf1111fca01 100644 --- a/code/addons/interactions/src/Panel.tsx +++ b/code/addons/interactions/src/Panel.tsx @@ -1,6 +1,7 @@ import { global } from '@storybook/global'; -import * as React from 'react'; -import { useChannel, useParameter } from '@storybook/manager-api'; +import type { Dispatch, SetStateAction } from 'react'; +import React, { Fragment, memo, useEffect, useMemo, useRef, useState } from 'react'; +import { useAddonState, useChannel, useParameter } from '@storybook/manager-api'; import { FORCE_REMOUNT, IGNORED_EXCEPTION, @@ -8,17 +9,10 @@ import { STORY_THREW_EXCEPTION, PLAY_FUNCTION_THREW_EXCEPTION, } from '@storybook/core-events'; -import { - EVENTS, - type Call, - CallStates, - type ControlStates, - type LogItem, -} from '@storybook/instrumenter'; - -import type { StoryId } from '@storybook/types'; +import { EVENTS, type Call, CallStates, type LogItem } from '@storybook/instrumenter'; + import { InteractionsPanel } from './components/InteractionsPanel'; -import { TabIcon, TabStatus } from './components/TabStatus'; +import { ADDON_ID } from './constants'; interface Interaction extends Call { status: Call['status']; @@ -45,15 +39,18 @@ export const getInteractions = ({ log: LogItem[]; calls: Map<Call['id'], Call>; collapsed: Set<Call['id']>; - setCollapsed: React.Dispatch<React.SetStateAction<Set<string>>>; + setCollapsed: Dispatch<SetStateAction<Set<string>>>; }) => { const callsById = new Map<Call['id'], Call>(); const childCallMap = new Map<Call['id'], Call['id'][]>(); + return log .map<Call & { isHidden: boolean }>(({ callId, ancestors, status }) => { let isHidden = false; ancestors.forEach((ancestor) => { - if (collapsed.has(ancestor)) isHidden = true; + if (collapsed.has(ancestor)) { + isHidden = true; + } childCallMap.set(ancestor, (childCallMap.get(ancestor) || []).concat(callId)); }); return { ...calls.get(callId), status, isHidden }; @@ -72,34 +69,50 @@ export const getInteractions = ({ isCollapsed: collapsed.has(call.id), toggleCollapsed: () => setCollapsed((ids) => { - if (ids.has(call.id)) ids.delete(call.id); - else ids.add(call.id); + if (ids.has(call.id)) { + ids.delete(call.id); + } else { + ids.add(call.id); + } return new Set(ids); }), }; }); }; -export const Panel: React.FC<{ active: boolean }> = (props) => { - const [storyId, setStoryId] = React.useState<StoryId>(); - const [controlStates, setControlStates] = React.useState<ControlStates>(INITIAL_CONTROL_STATES); - const [pausedAt, setPausedAt] = React.useState<Call['id']>(); - const [isErrored, setErrored] = React.useState(false); - const [isPlaying, setPlaying] = React.useState(false); - const [isRerunAnimating, setIsRerunAnimating] = React.useState(false); - const [scrollTarget, setScrollTarget] = React.useState<HTMLElement>(); - const [collapsed, setCollapsed] = React.useState<Set<Call['id']>>(new Set()); - const [caughtException, setCaughtException] = React.useState<Error>(); - const [interactions, setInteractions] = React.useState<Interaction[]>([]); - const [interactionsCount, setInteractionsCount] = React.useState<number>(); +export const Panel = memo<{ storyId: string }>(function PanelMemoized({ storyId }) { + // shared state + const [addonState, set] = useAddonState(ADDON_ID, { + controlStates: INITIAL_CONTROL_STATES, + isErrored: false, + pausedAt: undefined, + interactions: [], + isPlaying: false, + hasException: false, + caughtException: undefined, + interactionsCount: 0, + }); + + // local state + const [scrollTarget, setScrollTarget] = useState<HTMLElement | undefined>(undefined); + const [collapsed, setCollapsed] = useState<Set<Call['id']>>(new Set()); + + const { + controlStates = INITIAL_CONTROL_STATES, + isErrored = false, + pausedAt = undefined, + interactions = [], + isPlaying = false, + caughtException = undefined, + } = addonState; // Log and calls are tracked in a ref so we don't needlessly rerender. - const log = React.useRef<LogItem[]>([]); - const calls = React.useRef<Map<Call['id'], Omit<Call, 'status'>>>(new Map()); + const log = useRef<LogItem[]>([]); + const calls = useRef<Map<Call['id'], Omit<Call, 'status'>>>(new Map()); const setCall = ({ status, ...call }: Call) => calls.current.set(call.id, call); - const endRef = React.useRef(); - React.useEffect(() => { + const endRef = useRef(); + useEffect(() => { let observer: IntersectionObserver; if (global.IntersectionObserver) { observer = new global.IntersectionObserver( @@ -115,45 +128,84 @@ export const Panel: React.FC<{ active: boolean }> = (props) => { { [EVENTS.CALL]: setCall, [EVENTS.SYNC]: (payload) => { - setControlStates(payload.controlStates); - setPausedAt(payload.pausedAt); - setInteractions( - getInteractions({ log: payload.logItems, calls: calls.current, collapsed, setCollapsed }) - ); + set((s) => { + const list = getInteractions({ + log: payload.logItems, + calls: calls.current, + collapsed, + setCollapsed, + }); + return { + ...s, + controlStates: payload.controlStates, + pausedAt: payload.pausedAt, + interactions: list, + interactionsCount: list.filter(({ method }) => method !== 'step').length, + }; + }); + log.current = payload.logItems; }, [STORY_RENDER_PHASE_CHANGED]: (event) => { - setStoryId(event.storyId); - setPlaying(event.newPhase === 'playing'); - setPausedAt(undefined); - if (event.newPhase === 'rendering') { - setErrored(false); - setCaughtException(undefined); + if (event.newPhase === 'preparing') { + set((s) => ({ + controlStates: INITIAL_CONTROL_STATES, + isErrored: false, + pausedAt: undefined, + interactions: [], + isPlaying: false, + isRerunAnimating: false, + scrollTarget, + collapsed: new Set() as Set<Call['id']>, + hasException: false, + caughtException: undefined, + interactionsCount: 0, + })); + return; } + set((s) => ({ + ...s, + isPlaying: event.newPhase === 'playing', + pausedAt: undefined, + ...(event.newPhase === 'rendering' + ? { + isErrored: false, + caughtException: undefined, + } + : {}), + })); }, [STORY_THREW_EXCEPTION]: () => { - setErrored(true); + set((s) => ({ ...s, isErrored: true })); }, [PLAY_FUNCTION_THREW_EXCEPTION]: (e) => { - if (e?.message !== IGNORED_EXCEPTION.message) setCaughtException(e); - else setCaughtException(undefined); + if (e?.message !== IGNORED_EXCEPTION.message) { + set((s) => ({ ...s, caughtException: e })); + } else { + set((s) => ({ ...s, caughtException: undefined })); + } }, }, [collapsed] ); - React.useEffect(() => { - setInteractions( - getInteractions({ log: log.current, calls: calls.current, collapsed, setCollapsed }) - ); + useEffect(() => { + set((s) => { + const list = getInteractions({ + log: log.current, + calls: calls.current, + collapsed, + setCollapsed, + }); + return { + ...s, + interactions: list, + interactionsCount: list.filter(({ method }) => method !== 'step').length, + }; + }); }, [collapsed]); - React.useEffect(() => { - if (isPlaying || isRerunAnimating) return; - setInteractionsCount(interactions.filter(({ method }) => method !== 'step').length); - }, [interactions, isPlaying, isRerunAnimating]); - - const controls = React.useMemo( + const controls = useMemo( () => ({ start: () => emit(EVENTS.START, { storyId }), back: () => emit(EVENTS.BACK, { storyId }), @@ -161,7 +213,6 @@ export const Panel: React.FC<{ active: boolean }> = (props) => { next: () => emit(EVENTS.NEXT, { storyId }), end: () => emit(EVENTS.END, { storyId }), rerun: () => { - setIsRerunAnimating(true); emit(FORCE_REMOUNT, { storyId }); }, }), @@ -172,19 +223,14 @@ export const Panel: React.FC<{ active: boolean }> = (props) => { const [fileName] = storyFilePath.toString().split('/').slice(-1); const scrollToTarget = () => scrollTarget?.scrollIntoView({ behavior: 'smooth', block: 'end' }); - const showStatus = interactionsCount > 0 || !!caughtException || isRerunAnimating; const hasException = !!caughtException || interactions.some((v) => v.status === CallStates.ERROR); if (isErrored) { - return <React.Fragment key="interactions" />; + return <Fragment key="interactions" />; } return ( - <React.Fragment key="interactions"> - <TabStatus> - {showStatus && - (hasException ? <TabIcon status={CallStates.ERROR} /> : ` (${interactionsCount})`)} - </TabStatus> + <Fragment key="interactions"> <InteractionsPanel calls={calls.current} controls={controls} @@ -197,10 +243,7 @@ export const Panel: React.FC<{ active: boolean }> = (props) => { pausedAt={pausedAt} endRef={endRef} onScrollToEnd={scrollTarget && scrollToTarget} - isRerunAnimating={isRerunAnimating} - setIsRerunAnimating={setIsRerunAnimating} - {...props} /> - </React.Fragment> + </Fragment> ); -}; +}); diff --git a/code/addons/interactions/src/components/InteractionsPanel.tsx b/code/addons/interactions/src/components/InteractionsPanel.tsx index e5bed004ded0..6fad03daaf48 100644 --- a/code/addons/interactions/src/components/InteractionsPanel.tsx +++ b/code/addons/interactions/src/components/InteractionsPanel.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { AddonPanel, Link, Placeholder } from '@storybook/components'; +import { Link, Placeholder } from '@storybook/components'; import { type Call, CallStates, type ControlStates } from '@storybook/instrumenter'; import { styled } from '@storybook/theming'; import { transparentize } from 'polished'; @@ -18,7 +18,6 @@ export interface Controls { } interface InteractionsPanelProps { - active: boolean; controls: Controls; controlStates: ControlStates; interactions: (Call & { @@ -36,8 +35,6 @@ interface InteractionsPanelProps { calls: Map<string, any>; endRef?: React.Ref<HTMLDivElement>; onScrollToEnd?: () => void; - isRerunAnimating: boolean; - setIsRerunAnimating: React.Dispatch<React.SetStateAction<boolean>>; } const Container = styled.div<{ withException: boolean }>(({ theme, withException }) => ({ @@ -91,72 +88,65 @@ export const InteractionsPanel: React.FC<InteractionsPanelProps> = React.memo( pausedAt, onScrollToEnd, endRef, - isRerunAnimating, - setIsRerunAnimating, - ...panelProps }) { return ( - <AddonPanel {...panelProps}> - <Container withException={!!caughtException}> - {(interactions.length > 0 || hasException || isRerunAnimating) && ( - <Subnav + <Container withException={!!caughtException}> + {(interactions.length > 0 || hasException) && ( + <Subnav + controls={controls} + controlStates={controlStates} + status={ + // eslint-disable-next-line no-nested-ternary + isPlaying ? CallStates.ACTIVE : hasException ? CallStates.ERROR : CallStates.DONE + } + storyFileName={fileName} + onScrollToEnd={onScrollToEnd} + /> + )} + <div aria-label="Interactions list"> + {interactions.map((call) => ( + <Interaction + key={call.id} + call={call} + callsById={calls} controls={controls} controlStates={controlStates} - status={ - // eslint-disable-next-line no-nested-ternary - isPlaying ? CallStates.ACTIVE : hasException ? CallStates.ERROR : CallStates.DONE - } - storyFileName={fileName} - onScrollToEnd={onScrollToEnd} - isRerunAnimating={isRerunAnimating} - setIsRerunAnimating={setIsRerunAnimating} + childCallIds={call.childCallIds} + isHidden={call.isHidden} + isCollapsed={call.isCollapsed} + toggleCollapsed={call.toggleCollapsed} + pausedAt={pausedAt} /> - )} - <div aria-label="Interactions list"> - {interactions.map((call) => ( - <Interaction - key={call.id} - call={call} - callsById={calls} - controls={controls} - controlStates={controlStates} - childCallIds={call.childCallIds} - isHidden={call.isHidden} - isCollapsed={call.isCollapsed} - toggleCollapsed={call.toggleCollapsed} - pausedAt={pausedAt} - /> - ))} - </div> - {caughtException && !caughtException.message?.startsWith('ignoredException') && ( - <CaughtException> - <CaughtExceptionTitle> - Caught exception in <CaughtExceptionCode>play</CaughtExceptionCode> function - </CaughtExceptionTitle> - <CaughtExceptionDescription> - This story threw an error after it finished rendering which means your interactions - couldn' t be run.Go to this story' s play function in {fileName} to fix. - </CaughtExceptionDescription> - <CaughtExceptionStack data-chromatic="ignore"> - {caughtException.stack || `${caughtException.name}: ${caughtException.message}`} - </CaughtExceptionStack> - </CaughtException> - )} - <div ref={endRef} /> - {!isPlaying && !caughtException && interactions.length === 0 && ( - <Placeholder> - No interactions found - <Link - href="https://storybook.js.org/docs/react/writing-stories/play-function" - target="_blank" - withArrow - > - Learn how to add interactions to your story - </Link> - </Placeholder> - )} - </Container> - </AddonPanel> + ))} + </div> + {caughtException && !caughtException.message?.startsWith('ignoredException') && ( + <CaughtException> + <CaughtExceptionTitle> + Caught exception in <CaughtExceptionCode>play</CaughtExceptionCode> function + </CaughtExceptionTitle> + <CaughtExceptionDescription> + This story threw an error after it finished rendering which means your interactions + couldn' t be run.Go to this story' s play function in {fileName} to fix. + </CaughtExceptionDescription> + <CaughtExceptionStack data-chromatic="ignore"> + {caughtException.stack || `${caughtException.name}: ${caughtException.message}`} + </CaughtExceptionStack> + </CaughtException> + )} + <div ref={endRef} /> + {!isPlaying && !caughtException && interactions.length === 0 && ( + <Placeholder> + No interactions found + <Link + href="https://storybook.js.org/docs/react/writing-stories/play-function" + target="_blank" + withArrow + > + Learn how to add interactions to your story + </Link> + </Placeholder> + )} + </Container> ); } ); diff --git a/code/addons/interactions/src/components/Subnav.tsx b/code/addons/interactions/src/components/Subnav.tsx index 2080f622dc37..3d2e5c41d1a3 100644 --- a/code/addons/interactions/src/components/Subnav.tsx +++ b/code/addons/interactions/src/components/Subnav.tsx @@ -40,8 +40,6 @@ export interface SubnavProps { status: Call['status']; storyFileName?: string; onScrollToEnd?: () => void; - isRerunAnimating: boolean; - setIsRerunAnimating: React.Dispatch<React.SetStateAction<boolean>>; } const StyledButton = styled(Button)(({ theme }) => ({ @@ -114,8 +112,6 @@ export const Subnav: React.FC<SubnavProps> = ({ status, storyFileName, onScrollToEnd, - isRerunAnimating, - setIsRerunAnimating, }) => { const buttonText = status === CallStates.ERROR ? 'Scroll to error' : 'Scroll to end'; @@ -177,14 +173,7 @@ export const Subnav: React.FC<SubnavProps> = ({ </WithTooltip> <WithTooltip trigger="hover" hasChrome={false} tooltip={<Note note="Rerun" />}> - <RerunButton - aria-label="Rerun" - containsIcon - onClick={controls.rerun} - onAnimationEnd={() => setIsRerunAnimating(false)} - animating={isRerunAnimating} - disabled={isRerunAnimating} - > + <RerunButton aria-label="Rerun" containsIcon onClick={controls.rerun}> <Icons icon="sync" /> </RerunButton> </WithTooltip> diff --git a/code/addons/interactions/src/components/TabStatus.tsx b/code/addons/interactions/src/components/TabStatus.tsx index bf6919612846..bce1efc72df8 100644 --- a/code/addons/interactions/src/components/TabStatus.tsx +++ b/code/addons/interactions/src/components/TabStatus.tsx @@ -1,13 +1,7 @@ import { styled } from '@storybook/theming'; -import ReactDOM from 'react-dom'; import { StatusIcon } from './StatusIcon'; -export const TabStatus = ({ children }: { children: React.ReactChild }) => { - const container = global.document.getElementById('tabbutton-storybook-interactions-panel'); - return container && ReactDOM.createPortal(children, container); -}; - export const TabIcon = styled(StatusIcon)({ marginLeft: 5, }); diff --git a/code/addons/interactions/src/manager.tsx b/code/addons/interactions/src/manager.tsx index 909eeb3b8e6d..9de823628efa 100644 --- a/code/addons/interactions/src/manager.tsx +++ b/code/addons/interactions/src/manager.tsx @@ -1,13 +1,46 @@ -import { addons, types } from '@storybook/manager-api'; - +import React, { useCallback } from 'react'; +import type { Combo } from '@storybook/manager-api'; +import { addons, Consumer, types, useAddonState } from '@storybook/manager-api'; +import { AddonPanel, Badge, Spaced } from '@storybook/components'; +import { CallStates } from '@storybook/instrumenter'; import { ADDON_ID, PANEL_ID } from './constants'; import { Panel } from './Panel'; +import { TabIcon } from './components/TabStatus'; + +function Title() { + const [addonState = {}] = useAddonState(ADDON_ID); + const { hasException, interactionsCount } = addonState as any; -addons.register(ADDON_ID, () => { + return ( + <div> + <Spaced col={1}> + <span style={{ display: 'inline-block', verticalAlign: 'middle' }}>Interactions</span> + {interactionsCount && !hasException ? ( + <Badge status="neutral">{interactionsCount}</Badge> + ) : null} + {hasException ? <TabIcon status={CallStates.ERROR} /> : null} + </Spaced> + </div> + ); +} + +addons.register(ADDON_ID, (api) => { addons.add(PANEL_ID, { type: types.PANEL, - title: 'Interactions', + title: Title, match: ({ viewMode }) => viewMode === 'story', - render: Panel, + render: ({ active }) => { + const newLocal = useCallback(({ state }: Combo) => { + return { + storyId: state.storyId, + }; + }, []); + + return ( + <AddonPanel active={active}> + <Consumer filter={newLocal}>{({ storyId }) => <Panel storyId={storyId} />}</Consumer> + </AddonPanel> + ); + }, }); }); diff --git a/code/addons/interactions/tsconfig.json b/code/addons/interactions/tsconfig.json index aff8c3b01d62..4bc2c0bffe1f 100644 --- a/code/addons/interactions/tsconfig.json +++ b/code/addons/interactions/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "types": ["testing-library__jest-dom"], + "skipLibCheck": true, "strict": false }, "include": ["src/**/*"] diff --git a/code/addons/jest/package.json b/code/addons/jest/package.json index 5fb2d77148fd..506d4881525a 100644 --- a/code/addons/jest/package.json +++ b/code/addons/jest/package.json @@ -66,7 +66,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/jest/src/manager.tsx b/code/addons/jest/src/manager.tsx index 82bcee71dc4f..cdf3fadde26b 100644 --- a/code/addons/jest/src/manager.tsx +++ b/code/addons/jest/src/manager.tsx @@ -8,8 +8,7 @@ addons.register(ADDON_ID, (api) => { addons.add(PANEL_ID, { title: 'Tests', type: types.PANEL, - id: 'tests', - render: ({ active, key }) => <Panel key={key} api={api} active={active} />, + render: ({ active }) => <Panel api={api} active={active} />, paramKey: PARAM_KEY, }); }); diff --git a/code/addons/links/package.json b/code/addons/links/package.json index 509ed2e5e1dc..94f818a247df 100644 --- a/code/addons/links/package.json +++ b/code/addons/links/package.json @@ -76,7 +76,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/links/src/manager.ts b/code/addons/links/src/manager.ts index 9107c8c61904..e0c7487f2be9 100644 --- a/code/addons/links/src/manager.ts +++ b/code/addons/links/src/manager.ts @@ -3,9 +3,7 @@ import { addons } from '@storybook/manager-api'; import EVENTS, { ADDON_ID } from './constants'; addons.register(ADDON_ID, (api) => { - const channel = addons.getChannel(); - - channel.on(EVENTS.REQUEST, ({ kind, name }) => { + api.on(EVENTS.REQUEST, ({ kind, name }) => { const id = api.storyId(kind, name); api.emit(EVENTS.RECEIVE, id); }); diff --git a/code/addons/links/tsconfig.json b/code/addons/links/tsconfig.json index 6643cdc7da8e..a774dc60331e 100644 --- a/code/addons/links/tsconfig.json +++ b/code/addons/links/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "strict": true, + "skipLibCheck": true, "types": ["testing-library__jest-dom"] }, "include": ["src/**/*"] diff --git a/code/addons/measure/package.json b/code/addons/measure/package.json index b0229f64dc19..d640f1b8eabe 100644 --- a/code/addons/measure/package.json +++ b/code/addons/measure/package.json @@ -71,7 +71,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/measure/src/manager.tsx b/code/addons/measure/src/manager.tsx index f65075617ef3..53bca4d0b716 100644 --- a/code/addons/measure/src/manager.tsx +++ b/code/addons/measure/src/manager.tsx @@ -7,7 +7,6 @@ import { Tool } from './Tool'; addons.register(ADDON_ID, () => { addons.add(TOOL_ID, { type: types.TOOL, - id: 'measure', title: 'Measure', match: ({ viewMode }) => viewMode === 'story', render: () => <Tool />, diff --git a/code/addons/outline/package.json b/code/addons/outline/package.json index 00a5e705dd12..0d8ea3410553 100644 --- a/code/addons/outline/package.json +++ b/code/addons/outline/package.json @@ -74,7 +74,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/outline/src/manager.tsx b/code/addons/outline/src/manager.tsx index d1852360356e..384ea24c07c6 100644 --- a/code/addons/outline/src/manager.tsx +++ b/code/addons/outline/src/manager.tsx @@ -7,7 +7,6 @@ import { OutlineSelector } from './OutlineSelector'; addons.register(ADDON_ID, () => { addons.add(ADDON_ID, { title: 'Outline', - id: 'outline', type: types.TOOL, match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)), render: () => <OutlineSelector />, diff --git a/code/addons/storyshots-core/package.json b/code/addons/storyshots-core/package.json index 8e5035133ed9..d36cf2a0db03 100644 --- a/code/addons/storyshots-core/package.json +++ b/code/addons/storyshots-core/package.json @@ -32,7 +32,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/tsc.ts" }, "dependencies": { diff --git a/code/addons/storyshots-puppeteer/package.json b/code/addons/storyshots-puppeteer/package.json index 301f5bbe0ca5..f28ad08e21a5 100644 --- a/code/addons/storyshots-puppeteer/package.json +++ b/code/addons/storyshots-puppeteer/package.json @@ -31,7 +31,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/tsc.ts" }, "dependencies": { diff --git a/code/addons/storysource/package.json b/code/addons/storysource/package.json index 32b11982fe7e..392d06446a5b 100644 --- a/code/addons/storysource/package.json +++ b/code/addons/storysource/package.json @@ -49,7 +49,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/storysource/src/manager.tsx b/code/addons/storysource/src/manager.tsx index 8663612d68f2..072db560bd76 100644 --- a/code/addons/storysource/src/manager.tsx +++ b/code/addons/storysource/src/manager.tsx @@ -8,8 +8,7 @@ addons.register(ADDON_ID, (api) => { addons.add(PANEL_ID, { type: types.PANEL, title: 'Code', - id: 'code', - render: ({ active, key }) => (active ? <StoryPanel key={key} api={api} /> : null), + render: ({ active }) => (active ? <StoryPanel api={api} /> : null), paramKey: 'storysource', }); }); diff --git a/code/addons/toolbars/package.json b/code/addons/toolbars/package.json index f0137a75015d..f431300582db 100644 --- a/code/addons/toolbars/package.json +++ b/code/addons/toolbars/package.json @@ -64,7 +64,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/toolbars/src/manager.tsx b/code/addons/toolbars/src/manager.tsx index adfc9956bd7a..c87d3fbf2d80 100644 --- a/code/addons/toolbars/src/manager.tsx +++ b/code/addons/toolbars/src/manager.tsx @@ -6,7 +6,6 @@ import { ADDON_ID } from './constants'; addons.register(ADDON_ID, () => addons.add(ADDON_ID, { title: ADDON_ID, - id: 'toolbar', type: types.TOOL, match: () => true, render: () => <ToolbarManager />, diff --git a/code/addons/viewport/package.json b/code/addons/viewport/package.json index 40e5db908038..e1a658fe67c5 100644 --- a/code/addons/viewport/package.json +++ b/code/addons/viewport/package.json @@ -69,7 +69,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/addons/viewport/src/manager.tsx b/code/addons/viewport/src/manager.tsx index 602cd708a4ea..e42e3fba40e1 100644 --- a/code/addons/viewport/src/manager.tsx +++ b/code/addons/viewport/src/manager.tsx @@ -8,7 +8,6 @@ import { ViewportTool } from './Tool'; addons.register(ADDON_ID, () => { addons.add(ADDON_ID, { title: 'viewport / media-queries', - id: 'viewport', type: types.TOOL, match: ({ viewMode }) => viewMode === 'story', render: () => <ViewportTool />, diff --git a/code/builders/builder-manager/package.json b/code/builders/builder-manager/package.json index 21358a566e93..71a5d5d82456 100644 --- a/code/builders/builder-manager/package.json +++ b/code/builders/builder-manager/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/builders/builder-vite/package.json b/code/builders/builder-vite/package.json index 6a86e40a3b67..d5aa2768e19d 100644 --- a/code/builders/builder-vite/package.json +++ b/code/builders/builder-vite/package.json @@ -38,7 +38,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/builders/builder-vite/src/optimizeDeps.ts b/code/builders/builder-vite/src/optimizeDeps.ts index e9639782547d..43c64f34a7e4 100644 --- a/code/builders/builder-vite/src/optimizeDeps.ts +++ b/code/builders/builder-vite/src/optimizeDeps.ts @@ -14,8 +14,6 @@ const INCLUDE_CANDIDATES = [ '@storybook/addon-docs', '@storybook/addon-essentials/docs/mdx-react-shim', '@storybook/channels', - '@storybook/channel-postmessage', - '@storybook/channel-websocket', '@storybook/client-api', '@storybook/client-logger', '@storybook/core/client', diff --git a/code/builders/builder-webpack5/package.json b/code/builders/builder-webpack5/package.json index 280220ad02c2..4abf9073ca54 100644 --- a/code/builders/builder-webpack5/package.json +++ b/code/builders/builder-webpack5/package.json @@ -51,14 +51,12 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { "@babel/core": "^7.22.9", "@storybook/addons": "7.1.0", - "@storybook/api": "7.1.0", - "@storybook/channel-postmessage": "7.1.0", "@storybook/channels": "7.1.0", "@storybook/client-api": "7.1.0", "@storybook/client-logger": "7.1.0", diff --git a/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts b/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts index 44eff2e63bc9..44ec4e92c8e5 100644 --- a/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts +++ b/code/builders/builder-webpack5/src/preview/iframe-webpack.config.ts @@ -32,7 +32,6 @@ const wrapForPnP = (input: string) => dirname(require.resolve(join(input, 'packa const storybookPaths: Record<string, string> = { ...[ // these packages are not pre-bundled because of react dependencies - 'api', 'components', 'global', 'manager-api', diff --git a/code/deprecated/addons/package.json b/code/deprecated/addons/package.json index 946acd25510a..01bf737806e0 100644 --- a/code/deprecated/addons/package.json +++ b/code/deprecated/addons/package.json @@ -40,7 +40,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/deprecated/channel-postmessage/package.json b/code/deprecated/channel-postmessage/package.json index 4c9f61f6ebb6..0b389b0fd790 100644 --- a/code/deprecated/channel-postmessage/package.json +++ b/code/deprecated/channel-postmessage/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/deprecated/channel-websocket/package.json b/code/deprecated/channel-websocket/package.json index 3243376d4200..2eec52fe94ac 100644 --- a/code/deprecated/channel-websocket/package.json +++ b/code/deprecated/channel-websocket/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { diff --git a/code/deprecated/client-api/package.json b/code/deprecated/client-api/package.json index 88714bf7ab17..946d814f2d5a 100644 --- a/code/deprecated/client-api/package.json +++ b/code/deprecated/client-api/package.json @@ -38,7 +38,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { diff --git a/code/deprecated/core-client/package.json b/code/deprecated/core-client/package.json index 76a89270248c..64a7614f8099 100644 --- a/code/deprecated/core-client/package.json +++ b/code/deprecated/core-client/package.json @@ -31,7 +31,7 @@ "module": "dist/entry.mjs", "types": "dist/entry.d.ts", "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { diff --git a/code/deprecated/manager-api-shim/package.json b/code/deprecated/manager-api-shim/package.json index fd1bca475b27..45e71ba4e257 100644 --- a/code/deprecated/manager-api-shim/package.json +++ b/code/deprecated/manager-api-shim/package.json @@ -38,7 +38,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { diff --git a/code/deprecated/preview-web/package.json b/code/deprecated/preview-web/package.json index a3a8616f6fe8..056f7782a0fa 100644 --- a/code/deprecated/preview-web/package.json +++ b/code/deprecated/preview-web/package.json @@ -38,7 +38,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { diff --git a/code/deprecated/store/package.json b/code/deprecated/store/package.json index 41ccc547f707..7ceca5494b6b 100644 --- a/code/deprecated/store/package.json +++ b/code/deprecated/store/package.json @@ -38,7 +38,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/facade.ts" }, "dependencies": { diff --git a/code/e2e-tests/addon-interactions.spec.ts b/code/e2e-tests/addon-interactions.spec.ts index 8305f3f40926..b8fc55affb9c 100644 --- a/code/e2e-tests/addon-interactions.spec.ts +++ b/code/e2e-tests/addon-interactions.spec.ts @@ -64,7 +64,8 @@ test.describe('addon-interactions', () => { await expect(formInput).toHaveValue('final value'); const interactionsTab = await page.locator('#tabbutton-storybook-interactions-panel'); - await expect(interactionsTab).toContainText(/(3)/); + await expect(interactionsTab.getByText('3')).toBeVisible(); + await expect(interactionsTab).toBeVisible(); await expect(interactionsTab).toBeVisible(); const panel = sbPage.panelContent(); @@ -104,8 +105,15 @@ test.describe('addon-interactions', () => { await interactionsRow.first().isVisible(); await interactionsRow.nth(1).isVisible(); await interactionsRow.nth(2).isVisible(); - await expect(interactionsTab).toContainText(/(3)/); + await expect(interactionsTab.getByText('3')).toBeVisible(); await expect(interactionsTab).toBeVisible(); + await expect(interactionsTab.getByText('3')).toBeVisible(); + + // After debugging I found that sometimes the toolbar gets hidden, maybe some keypress or session storage issue? + // if the toolbar is hidden, this will toggle the toolbar + if (await page.locator('[offset="40"]').isHidden()) { + await page.locator('html').press('t'); + } // After debugging I found that sometimes the toolbar gets hidden, maybe some keypress or session storage issue? // if the toolbar is hidden, this will toggle the toolbar @@ -116,10 +124,12 @@ test.describe('addon-interactions', () => { // Test remount state (from toolbar) - Interactions have rerun, count is correct and values are as expected const remountComponentButton = await page.locator('[title="Remount component"]'); await remountComponentButton.click(); + await interactionsRow.first().isVisible(); await interactionsRow.nth(1).isVisible(); await interactionsRow.nth(2).isVisible(); - await expect(interactionsTab).toContainText(/(3)/); + await expect(interactionsTab.getByText('3')).toBeVisible(); + await expect(interactionsTab).toBeVisible(); await expect(interactionsTab).toBeVisible(); await expect(formInput).toHaveValue('final value'); }); diff --git a/code/e2e-tests/util.ts b/code/e2e-tests/util.ts index 7b59f27369ae..00a15312b2cf 100644 --- a/code/e2e-tests/util.ts +++ b/code/e2e-tests/util.ts @@ -31,7 +31,7 @@ export class SbPage { const storyId = toId(name); const storyLinkId = `#${titleId}--${storyId}`; await this.page.waitForSelector(storyLinkId); - const storyLink = this.page.locator(storyLinkId); + const storyLink = this.page.locator('*', { has: this.page.locator(`> ${storyLinkId}`) }); await storyLink.click({ force: true }); // assert url changes diff --git a/code/frameworks/ember/package.json b/code/frameworks/ember/package.json index ad79fe4eca10..6d46043864bf 100644 --- a/code/frameworks/ember/package.json +++ b/code/frameworks/ember/package.json @@ -27,7 +27,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/tsc.ts" }, "dependencies": { diff --git a/code/frameworks/html-vite/package.json b/code/frameworks/html-vite/package.json index bdef939d8485..4ffc4d335fc7 100644 --- a/code/frameworks/html-vite/package.json +++ b/code/frameworks/html-vite/package.json @@ -43,13 +43,12 @@ "*.d.ts" ], "scripts": { - "check": "tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { "@storybook/addons": "7.1.0", "@storybook/builder-vite": "7.1.0", - "@storybook/channel-postmessage": "7.1.0", "@storybook/client-api": "7.1.0", "@storybook/core-server": "7.1.0", "@storybook/html": "7.1.0", diff --git a/code/frameworks/html-webpack5/package.json b/code/frameworks/html-webpack5/package.json index 63f650327adc..d971e2c4e966 100644 --- a/code/frameworks/html-webpack5/package.json +++ b/code/frameworks/html-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/nextjs/package.json b/code/frameworks/nextjs/package.json index 5eb6722ae94d..46d2a31d092b 100644 --- a/code/frameworks/nextjs/package.json +++ b/code/frameworks/nextjs/package.json @@ -54,7 +54,7 @@ "*.d.ts" ], "scripts": { - "check": "tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/nextjs/src/css/webpack.ts b/code/frameworks/nextjs/src/css/webpack.ts index f673aeaf36f8..8f5ed1bfcae3 100644 --- a/code/frameworks/nextjs/src/css/webpack.ts +++ b/code/frameworks/nextjs/src/css/webpack.ts @@ -11,7 +11,12 @@ import { scopedResolve } from '../utils'; export const configureCss = (baseConfig: WebpackConfig, nextConfig: NextConfig): void => { const rules = baseConfig.module?.rules; rules?.forEach((rule, i) => { - if (typeof rule !== 'string' && rule.test instanceof RegExp && rule.test.test('test.css')) { + if ( + rule && + typeof rule !== 'string' && + rule.test instanceof RegExp && + rule.test.test('test.css') + ) { rules[i] = { test: /\.css$/, use: [ diff --git a/code/frameworks/nextjs/src/images/webpack.ts b/code/frameworks/nextjs/src/images/webpack.ts index 6f1f24208563..e6b91f0712d3 100644 --- a/code/frameworks/nextjs/src/images/webpack.ts +++ b/code/frameworks/nextjs/src/images/webpack.ts @@ -44,7 +44,8 @@ const configureStaticImageImport = (baseConfig: WebpackConfig, nextConfig: NextC const rules = baseConfig.module?.rules; const assetRule = rules?.find( - (rule) => typeof rule !== 'string' && rule.test instanceof RegExp && rule.test.test('test.jpg') + (rule) => + rule && typeof rule !== 'string' && rule.test instanceof RegExp && rule.test.test('test.jpg') ) as RuleSetRule; if (!assetRule) { diff --git a/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx b/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx index 8bb209bd9d45..39efad27c256 100644 --- a/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx +++ b/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx @@ -24,6 +24,7 @@ function Component() { name: 'Prefetch', }, { + // @ts-expect-error (old-api) cb: () => router.push('/push-html', { forceOptimisticNavigation: true }), name: 'Push HTML', }, @@ -32,6 +33,7 @@ function Component() { name: 'Refresh', }, { + // @ts-expect-error (old-api) cb: () => router.replace('/replaced-html', { forceOptimisticNavigation: true }), name: 'Replace', }, diff --git a/code/frameworks/preact-vite/package.json b/code/frameworks/preact-vite/package.json index c74d7c3a40f6..84a4b395ab8d 100644 --- a/code/frameworks/preact-vite/package.json +++ b/code/frameworks/preact-vite/package.json @@ -42,7 +42,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/preact-webpack5/package.json b/code/frameworks/preact-webpack5/package.json index 5c9ffa2b0eb4..e994102da998 100644 --- a/code/frameworks/preact-webpack5/package.json +++ b/code/frameworks/preact-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/react-vite/package.json b/code/frameworks/react-vite/package.json index f7c785e49f36..2eecf2e3881c 100644 --- a/code/frameworks/react-vite/package.json +++ b/code/frameworks/react-vite/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/react-webpack5/package.json b/code/frameworks/react-webpack5/package.json index 7665ce96e115..0547c32c072b 100644 --- a/code/frameworks/react-webpack5/package.json +++ b/code/frameworks/react-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/server-webpack5/package.json b/code/frameworks/server-webpack5/package.json index 1652a558d251..e2bb618fcf4c 100644 --- a/code/frameworks/server-webpack5/package.json +++ b/code/frameworks/server-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/svelte-vite/package.json b/code/frameworks/svelte-vite/package.json index cff7c69c2dfc..9c6e9871c7d2 100644 --- a/code/frameworks/svelte-vite/package.json +++ b/code/frameworks/svelte-vite/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/svelte-webpack5/package.json b/code/frameworks/svelte-webpack5/package.json index 463e8787a032..4b46ec53c038 100644 --- a/code/frameworks/svelte-webpack5/package.json +++ b/code/frameworks/svelte-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/sveltekit/package.json b/code/frameworks/sveltekit/package.json index 38be149ede20..981736171b17 100644 --- a/code/frameworks/sveltekit/package.json +++ b/code/frameworks/sveltekit/package.json @@ -46,7 +46,7 @@ "*.d.ts" ], "scripts": { - "check": "tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/vue-vite/package.json b/code/frameworks/vue-vite/package.json index 5eb10c6a8e62..5c8159b0d32f 100644 --- a/code/frameworks/vue-vite/package.json +++ b/code/frameworks/vue-vite/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/vue-webpack5/package.json b/code/frameworks/vue-webpack5/package.json index 1b5630f76f4d..c34a564037dc 100644 --- a/code/frameworks/vue-webpack5/package.json +++ b/code/frameworks/vue-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/vue3-vite/package.json b/code/frameworks/vue3-vite/package.json index 0e81388427e4..269facaf2121 100644 --- a/code/frameworks/vue3-vite/package.json +++ b/code/frameworks/vue3-vite/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/vue3-webpack5/package.json b/code/frameworks/vue3-webpack5/package.json index bc533de95119..cbf532add8ff 100644 --- a/code/frameworks/vue3-webpack5/package.json +++ b/code/frameworks/vue3-webpack5/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/web-components-vite/package.json b/code/frameworks/web-components-vite/package.json index 9d76b4321ebf..2f1b85942297 100644 --- a/code/frameworks/web-components-vite/package.json +++ b/code/frameworks/web-components-vite/package.json @@ -43,7 +43,7 @@ "*.d.ts" ], "scripts": { - "check": "tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/frameworks/web-components-webpack5/package.json b/code/frameworks/web-components-webpack5/package.json index 1cba47251d4d..f92bbf8d382e 100644 --- a/code/frameworks/web-components-webpack5/package.json +++ b/code/frameworks/web-components-webpack5/package.json @@ -46,7 +46,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/channels/package.json b/code/lib/channels/package.json index 28c88bcbec9d..3dd3368cbd38 100644 --- a/code/lib/channels/package.json +++ b/code/lib/channels/package.json @@ -64,7 +64,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/cli/package.json b/code/lib/cli/package.json index 469911771d9b..cc588c3bc95d 100644 --- a/code/lib/cli/package.json +++ b/code/lib/cli/package.json @@ -49,7 +49,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts", "test": "jest test/**/*.test.js" }, diff --git a/code/lib/cli/src/automigrate/helpers/getMigrationSummary.ts b/code/lib/cli/src/automigrate/helpers/getMigrationSummary.ts index 5cfa0122a1bd..9e9d60df35c7 100644 --- a/code/lib/cli/src/automigrate/helpers/getMigrationSummary.ts +++ b/code/lib/cli/src/automigrate/helpers/getMigrationSummary.ts @@ -108,8 +108,8 @@ const allowList = [ '@storybook/csf', // see this file for more info: code/lib/preview/src/globals/types.ts '@storybook/addons', - '@storybook/channel-postmessage', - '@storybook/channel-websocket', + '@storybook/channel-postmessage', // @deprecated: remove in 8.0 + '@storybook/channel-websocket', // @deprecated: remove in 8.0 '@storybook/channels', '@storybook/client-api', '@storybook/client-logger', @@ -123,7 +123,7 @@ const allowList = [ '@storybook/components', '@storybook/router', '@storybook/theming', - '@storybook/api', + '@storybook/api', // @deprecated: remove in 8.0 '@storybook/manager-api', ]; diff --git a/code/lib/client-logger/package.json b/code/lib/client-logger/package.json index 63df41c98db3..5108f319b340 100644 --- a/code/lib/client-logger/package.json +++ b/code/lib/client-logger/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/codemod/package.json b/code/lib/codemod/package.json index 90caa724a91f..1074906019e2 100644 --- a/code/lib/codemod/package.json +++ b/code/lib/codemod/package.json @@ -41,7 +41,7 @@ "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { @@ -82,7 +82,7 @@ }, "bundler": { "entries": [ - "./src/index.js", + "./src/index.ts", "./src/transforms/add-component-parameters.js", "./src/transforms/csf-2-to-3.ts", "./src/transforms/csf-hoist-story-annotations.js", diff --git a/code/lib/codemod/src/index.js b/code/lib/codemod/src/index.ts similarity index 94% rename from code/lib/codemod/src/index.js rename to code/lib/codemod/src/index.ts index 4809d9f3d200..00473ad0f79a 100644 --- a/code/lib/codemod/src/index.js +++ b/code/lib/codemod/src/index.ts @@ -25,13 +25,13 @@ export function listCodemods() { const renameAsync = promisify(fs.rename); -async function renameFile(file, from, to, { logger }) { +async function renameFile(file: any, from: any, to: any, { logger }: any) { const newFile = file.replace(from, to); logger.log(`Rename: ${file} ${newFile}`); return renameAsync(file, newFile); } -export async function runCodemod(codemod, { glob, logger, dryRun, rename, parser }) { +export async function runCodemod(codemod: any, { glob, logger, dryRun, rename, parser }: any) { const codemods = listCodemods(); if (!codemods.includes(codemod)) { throw new Error(`Unknown codemod ${codemod}. Run --list for options.`); diff --git a/code/lib/core-common/package.json b/code/lib/core-common/package.json index 2b61c1aa8fc6..425cd29259d2 100644 --- a/code/lib/core-common/package.json +++ b/code/lib/core-common/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/core-events/package.json b/code/lib/core-events/package.json index b1fae162a37c..b593eabd8d5d 100644 --- a/code/lib/core-events/package.json +++ b/code/lib/core-events/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "devDependencies": { diff --git a/code/lib/core-server/package.json b/code/lib/core-server/package.json index 7307973107ed..503a76e6f54e 100644 --- a/code/lib/core-server/package.json +++ b/code/lib/core-server/package.json @@ -50,7 +50,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/core-webpack/package.json b/code/lib/core-webpack/package.json index c0098e347e37..e8b274475be0 100644 --- a/code/lib/core-webpack/package.json +++ b/code/lib/core-webpack/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/csf-plugin/package.json b/code/lib/csf-plugin/package.json index 6e109375f135..82bc6331bc7e 100644 --- a/code/lib/csf-plugin/package.json +++ b/code/lib/csf-plugin/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/csf-tools/package.json b/code/lib/csf-tools/package.json index 3001a4f883be..087cb3117c0b 100644 --- a/code/lib/csf-tools/package.json +++ b/code/lib/csf-tools/package.json @@ -37,7 +37,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/docs-tools/package.json b/code/lib/docs-tools/package.json index 8dac6b127af2..fbfa6ec0c09b 100644 --- a/code/lib/docs-tools/package.json +++ b/code/lib/docs-tools/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/instrumenter/package.json b/code/lib/instrumenter/package.json index eed3009c3a83..f31671949df3 100644 --- a/code/lib/instrumenter/package.json +++ b/code/lib/instrumenter/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/instrumenter/src/instrumenter.test.ts b/code/lib/instrumenter/src/instrumenter.test.ts index da65f5498dd7..eadb1f7d5c84 100644 --- a/code/lib/instrumenter/src/instrumenter.test.ts +++ b/code/lib/instrumenter/src/instrumenter.test.ts @@ -37,7 +37,9 @@ global.location = { reload: jest.fn() }; global.HTMLElement = HTMLElement; const storyId = 'kind--story'; -global.window.__STORYBOOK_PREVIEW__ = { selectionStore: { selection: { storyId } } }; +global.window.__STORYBOOK_PREVIEW__ = { + selectionStore: { selection: { storyId, viewMode: 'story' } }, +} as any; const setRenderPhase = (newPhase: string) => addons.getChannel().emit(STORY_RENDER_PHASE_CHANGED, { newPhase, storyId }); diff --git a/code/lib/manager-api/package.json b/code/lib/manager-api/package.json index 3606f01ed813..39e84326daf2 100644 --- a/code/lib/manager-api/package.json +++ b/code/lib/manager-api/package.json @@ -38,7 +38,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/manager-api/src/index.tsx b/code/lib/manager-api/src/index.tsx index 92ca071fb97f..52c2f3000986 100644 --- a/code/lib/manager-api/src/index.tsx +++ b/code/lib/manager-api/src/index.tsx @@ -56,7 +56,6 @@ import * as settings from './modules/settings'; // eslint-disable-next-line import/no-cycle import * as stories from './modules/stories'; -// eslint-disable-next-line import/no-cycle import * as refs from './modules/refs'; import * as layout from './modules/layout'; import * as shortcuts from './modules/shortcuts'; @@ -184,7 +183,7 @@ class ManagerProvider extends Component<ManagerProviderProps, State> { location, path, refId, - viewMode = props.docsOptions.docsMode ? 'docs' : 'story', + viewMode = props.docsOptions.docsMode ? 'docs' : props.viewMode, singleStory, storyId, docsOptions, @@ -419,36 +418,41 @@ const addonStateCache: { // shared state export function useSharedState<S>(stateId: string, defaultState?: S) { const api = useStorybookApi(); - const existingState = api.getAddonState<S>(stateId); + const existingState = api.getAddonState<S>(stateId) || addonStateCache[stateId]; const state = orDefault<S>( existingState, addonStateCache[stateId] ? addonStateCache[stateId] : defaultState ); - const setState = (s: S | API_StateMerger<S>, options?: Options) => { - // set only after the stories are loaded - if (addonStateCache[stateId]) { + + if (api.getAddonState(stateId) && api.getAddonState(stateId) !== state) { + api.setAddonState<S>(stateId, state).then((s) => { addonStateCache[stateId] = s; - } - api.setAddonState<S>(stateId, s, options); + }); + } + + const setState = (s: S | API_StateMerger<S>, options?: Options) => { + const result = api.setAddonState<S>(stateId, s, options); + addonStateCache[stateId] = result; + return result; }; const allListeners = useMemo(() => { const stateChangeHandlers = { - [`${SHARED_STATE_CHANGED}-client-${stateId}`]: (s: S) => setState(s), - [`${SHARED_STATE_SET}-client-${stateId}`]: (s: S) => setState(s), + [`${SHARED_STATE_CHANGED}-client-${stateId}`]: setState, + [`${SHARED_STATE_SET}-client-${stateId}`]: setState, }; const stateInitializationHandlers = { - [SET_STORIES]: () => { + [SET_STORIES]: async () => { const currentState = api.getAddonState(stateId); if (currentState) { addonStateCache[stateId] = currentState; api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, currentState); } else if (addonStateCache[stateId]) { // this happens when HMR - setState(addonStateCache[stateId]); + await setState(addonStateCache[stateId]); api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, addonStateCache[stateId]); } else if (defaultState !== undefined) { // if not HMR, yet the defaults are from the manager - setState(defaultState); + await setState(defaultState); // initialize addonStateCache after first load, so its available for subsequent HMR addonStateCache[stateId] = defaultState; api.emit(`${SHARED_STATE_SET}-manager-${stateId}`, defaultState); @@ -472,9 +476,9 @@ export function useSharedState<S>(stateId: string, defaultState?: S) { const emit = useChannel(allListeners); return [ state, - (newStateOrMerger: S | API_StateMerger<S>, options?: Options) => { - setState(newStateOrMerger, options); - emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`, newStateOrMerger); + async (newStateOrMerger: S | API_StateMerger<S>, options?: Options) => { + const result = await setState(newStateOrMerger, options); + emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`, result); }, ] as [S, (newStateOrMerger: S | API_StateMerger<S>, options?: Options) => void]; } diff --git a/code/lib/manager-api/src/lib/addons.ts b/code/lib/manager-api/src/lib/addons.ts index aa508b535ec1..abaf7101d5a0 100644 --- a/code/lib/manager-api/src/lib/addons.ts +++ b/code/lib/manager-api/src/lib/addons.ts @@ -8,7 +8,11 @@ import type { Addon_Elements, Addon_Loaders, Addon_Type, + Addon_BaseType, + Addon_PageType, Addon_Types, + Addon_TypesMapping, + Addon_WrapperType, } from '@storybook/types'; import { Addon_TypesEnum } from '@storybook/types'; import { logger } from '@storybook/client-logger'; @@ -21,6 +25,13 @@ export function isSupportedType(type: Addon_Types): boolean { return !!Object.values(Addon_TypesEnum).find((typeVal) => typeVal === type); } +interface DeprecatedAddonWithId { + /** + * @deprecated will be removed in 8.0, when registering addons, please use the addon id as the first argument + */ + id?: string; +} + export class AddonStore { constructor() { this.promise = new Promise((res) => { @@ -86,25 +97,57 @@ export class AddonStore { this.serverChannel = channel; }; - getElements = (type: Addon_Types): Addon_Collection => { + getElements<T extends Addon_Types | Addon_TypesEnum.experimental_PAGE>( + type: T + ): Addon_Collection<Addon_TypesMapping[T]> { if (!this.elements[type]) { this.elements[type] = {}; } + // @ts-expect-error (Kaspar told me to do this) return this.elements[type]; - }; + } - addPanel = (name: string, options: Addon_Type): void => { - this.add(name, { + /** + * Adds a panel to the addon store. + * @param {string} id - The id of the panel. + * @param {Addon_Type} options - The options for the panel. + * @returns {void} + * + * @deprecated Use the 'add' method instead. + * @example + * addons.add('My Panel', { + * title: 'My Title', + * type: types.PANEL, + * render: () => <div>My Content</div>, + * }); + */ + addPanel = ( + id: string, + options: Omit<Addon_BaseType, 'type' | 'id'> & DeprecatedAddonWithId + ): void => { + this.add(id, { type: Addon_TypesEnum.PANEL, ...options, }); }; - add = (name: string, addon: Addon_Type) => { + /** + * Adds an addon to the addon store. + * @param {string} id - The id of the addon. + * @param {Addon_Type} addon - The addon to add. + * @returns {void} + */ + add( + id: string, + addon: + | Addon_BaseType + | (Omit<Addon_PageType, 'id'> & DeprecatedAddonWithId) + | (Omit<Addon_WrapperType, 'id'> & DeprecatedAddonWithId) + ): void { const { type } = addon; const collection = this.getElements(type); - collection[name] = { id: name, ...addon }; - }; + collection[id] = { id, ...addon }; + } setConfig = (value: Addon_Config) => { Object.assign(this.config, value); @@ -119,11 +162,18 @@ export class AddonStore { getConfig = () => this.config; - register = (name: string, registerCallback: (api: API) => void): void => { - if (this.loaders[name]) { - logger.warn(`${name} was loaded twice, this could have bad side-effects`); + /** + * Registers an addon loader function. + * + * @param {string} id - The id of the addon loader. + * @param {(api: API) => void} callback - The function that will be called to register the addon. + * @returns {void} + */ + register = (id: string, callback: (api: API) => void): void => { + if (this.loaders[id]) { + logger.warn(`${id} was loaded twice, this could have bad side-effects`); } - this.loaders[name] = registerCallback; + this.loaders[id] = callback; }; loadAddons = (api: any) => { diff --git a/code/lib/manager-api/src/modules/addons.ts b/code/lib/manager-api/src/modules/addons.ts index fad78ddf8aa9..87027262d631 100644 --- a/code/lib/manager-api/src/modules/addons.ts +++ b/code/lib/manager-api/src/modules/addons.ts @@ -1,7 +1,8 @@ import type { - Addon_Type, + Addon_BaseType, + Addon_Collection, Addon_Types, - API_Collection, + Addon_TypesMapping, API_Panels, API_StateMerger, } from '@storybook/types'; @@ -19,10 +20,12 @@ export interface SubAPI { * Returns a collection of elements of a specific type. * @protected This is used internally in storybook's manager. * @template T - The type of the elements in the collection. - * @param {Addon_Types} type - The type of the elements to retrieve. + * @param {Addon_Types | Addon_TypesEnum.experimental_PAGE} type - The type of the elements to retrieve. * @returns {API_Collection<T>} - A collection of elements of the specified type. */ - getElements: <T = Addon_Type>(type: Addon_Types) => API_Collection<T>; + getElements: <T extends Addon_Types | Addon_TypesEnum.experimental_PAGE = Addon_Types>( + type: T + ) => Addon_Collection<Addon_TypesMapping[T]>; /** * Returns a collection of all panels. * This is the same as calling getElements('panel') @@ -53,7 +56,7 @@ export interface SubAPI { * Sets the state of an addon with the given ID. * @template S - The type of the addon state. * @param {string} addonId - The ID of the addon to set the state for. - * @param {S | API_StateMerger<S>} newStateOrMerger - The new state to set, or a function that merges the current state with the new state. + * @param {S | API_StateMerger<S>} newStateOrMerger - The new state to set, or a function which receives the current state and returns the new state. * @param {Options} [options] - Optional options for the state update. * @deprecated This API might get dropped, if you are using this, please file an issue. * @returns {Promise<S>} - A promise that resolves with the new state after it has been set. @@ -101,7 +104,7 @@ export const init: ModuleFn<SubAPI, SubState> = ({ provider, store, fullAPI }) = const { parameters } = story; - const filteredPanels: API_Collection = {}; + const filteredPanels: Addon_Collection<Addon_BaseType> = {}; Object.entries(allPanels).forEach(([id, panel]) => { const { paramKey } = panel; if (paramKey && parameters && parameters[paramKey] && parameters[paramKey].disable) { diff --git a/code/lib/manager-api/src/modules/settings.ts b/code/lib/manager-api/src/modules/settings.ts index 228640df9748..2439a5954bcc 100644 --- a/code/lib/manager-api/src/modules/settings.ts +++ b/code/lib/manager-api/src/modules/settings.ts @@ -1,7 +1,9 @@ -import type { API_Settings } from '@storybook/types'; +import type { API_Settings, StoryId } from '@storybook/types'; import type { ModuleFn } from '../index'; export interface SubAPI { + storeSelection: () => void; + retrieveSelection: () => StoryId; /** * Changes the active settings tab. * @param path - The path of the settings page to navigate to. The path NOT should include the `/settings` prefix. @@ -62,6 +64,18 @@ export const init: ModuleFn<SubAPI, SubState> = ({ store, navigate, fullAPI }) = navigate(path); }, + retrieveSelection() { + const { settings } = store.getState(); + + return settings.lastTrackedStoryId; + }, + storeSelection: async () => { + const { storyId, settings } = store.getState(); + + await store.setState({ + settings: { ...settings, lastTrackedStoryId: storyId }, + }); + }, }; return { state: { settings: { lastTrackedStoryId: null } }, api }; diff --git a/code/lib/manager-api/src/modules/stories.ts b/code/lib/manager-api/src/modules/stories.ts index 0157425bcf6a..78b8b086e106 100644 --- a/code/lib/manager-api/src/modules/stories.ts +++ b/code/lib/manager-api/src/modules/stories.ts @@ -18,6 +18,9 @@ import type { StoryPreparedPayload, DocsPreparedPayload, API_DocsEntry, + API_ViewMode, + API_StatusState, + API_StatusUpdate, } from '@storybook/types'; import { PRELOAD_ENTRIES, @@ -35,6 +38,7 @@ import { CURRENT_STORY_WAS_SET, STORY_MISSING, DOCS_PREPARED, + SET_CURRENT_STORY, } from '@storybook/core-events'; import { logger } from '@storybook/client-logger'; @@ -50,7 +54,6 @@ import { } from '../lib/stories'; import type { ComposedRef, ModuleFn } from '../index'; -import { merge } from '../index'; const { FEATURES, fetch } = global; const STORY_INDEX_PATH = './index.json'; @@ -58,26 +61,16 @@ const STORY_INDEX_PATH = './index.json'; type Direction = -1 | 1; type ParameterName = string; -type ViewMode = 'story' | 'info' | 'settings' | string | undefined; type StoryUpdate = Partial< Pick<API_StoryEntry, 'prepared' | 'parameters' | 'initialArgs' | 'argTypes' | 'args'> >; -interface StatusObject { - status: 'pending' | 'success' | 'error' | 'warn' | 'unknown'; - title: string; - description: string; - data?: any; -} - -type StatusState = Record<StoryId, Record<string, StatusObject>>; -type StatusUpdate = Record<StoryId, StatusObject>; type DocsUpdate = Partial<Pick<API_DocsEntry, 'prepared' | 'parameters'>>; export interface SubState extends API_LoadedRefData { storyId: StoryId; - viewMode: ViewMode; - status: StatusState; + viewMode: API_ViewMode; + status: API_StatusState; } export interface SubAPI { @@ -109,13 +102,13 @@ export interface SubAPI { * @param {StoryId} [story] - The ID of the story to select. * @param {Object} [obj] - An optional object containing additional options. * @param {string} [obj.ref] - The ref ID of the story to select. - * @param {ViewMode} [obj.viewMode] - The view mode to display the story in. + * @param {API_ViewMode} [obj.viewMode] - The view mode to display the story in. * @returns {void} */ selectStory: ( kindOrId?: string, story?: StoryId, - obj?: { ref?: string; viewMode?: ViewMode } + obj?: { ref?: string; viewMode?: API_ViewMode } ) => void; /** * Returns the current story's data, including its ID, kind, name, and parameters. @@ -265,7 +258,7 @@ export interface SubAPI { * @param {StatusUpdate} update - An object containing the updated status information. * @returns {Promise<void>} A promise that resolves when the status has been updated. */ - experimental_updateStatus: (addonId: string, update: StatusUpdate) => Promise<void>; + experimental_updateStatus: (addonId: string, update: API_StatusUpdate) => Promise<void>; } const removedOptions = ['enableShortcuts', 'theme', 'showRoots']; @@ -574,13 +567,14 @@ export const init: ModuleFn<SubAPI, SubState, true> = ({ /* EXPERIMENTAL APIs */ experimental_updateStatus: async (id, update) => { const { status } = store.getState(); - const addition = Object.entries(update).reduce<StatusState>((acc, [storyId, value]) => { - acc[storyId] = acc[storyId] || {}; - acc[storyId][id] = value; + const newStatus = { ...status }; + + Object.entries(update).forEach(([storyId, value]) => { + newStatus[storyId] = { ...(newStatus[storyId] || {}) }; + newStatus[storyId][id] = value; + }); - return acc; - }, {}); - await store.setState({ status: merge(status, addition) }, { persistence: 'session' }); + await store.setState({ status: newStatus }, { persistence: 'session' }); }, }; @@ -594,19 +588,32 @@ export const init: ModuleFn<SubAPI, SubState, true> = ({ viewMode, }: { storyId: string; - viewMode: ViewMode; + viewMode: API_ViewMode; [k: string]: any; }) { const { sourceType } = getEventMetadata(this, fullAPI); if (sourceType === 'local') { - if (fullAPI.isSettingsScreenActive()) return; - - // Special case -- if we are already at the story being specified (i.e. the user started at a given story), - // we don't need to change URL. See https://github.com/storybookjs/storybook/issues/11677 const state = store.getState(); - if (state.storyId !== storyId || state.viewMode !== viewMode) { - navigate(`/${viewMode}/${storyId}`); + const isCanvasRoute = + state.path === '/' || state.viewMode === 'story' || state.viewMode === 'docs'; + const stateHasSelection = state.viewMode && state.storyId; + const stateSelectionDifferent = state.viewMode !== viewMode || state.storyId !== storyId; + /** + * When storybook starts, we want to navigate to the first story. + * But there are a few exceptions: + * - If the current storyId and viewMode are already set/correct. + * - If the user has navigated away already. + * - If the user started storybook with a specific page-URL like "/settings/about" + */ + if (isCanvasRoute) { + if (stateHasSelection && stateSelectionDifferent) { + // The manager state is correct, the preview state is lagging behind + fullAPI.emit(SET_CURRENT_STORY, { storyId: state.storyId, viewMode: state.viewMode }); + } else if (stateSelectionDifferent) { + // The preview state is correct, the manager state is lagging behind + navigate(`/${viewMode}/${storyId}`); + } } } } @@ -707,7 +714,7 @@ export const init: ModuleFn<SubAPI, SubState, true> = ({ story?: StoryName; name?: StoryName; storyId: string; - viewMode: ViewMode; + viewMode: API_ViewMode; }) { const { ref } = getEventMetadata(this, fullAPI); diff --git a/code/lib/manager-api/src/tests/stories.test.ts b/code/lib/manager-api/src/tests/stories.test.ts index b92968fb44e8..5427226865e5 100644 --- a/code/lib/manager-api/src/tests/stories.test.ts +++ b/code/lib/manager-api/src/tests/stories.test.ts @@ -699,8 +699,14 @@ describe('stories API', () => { return false; }, }); - const store = createMockStore({}); - const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any); + const store = createMockStore({ viewMode: 'story' }); + const { init, api } = initStoriesAndSetState({ + store, + navigate, + provider, + fullAPI, + viewMode: 'story', + } as any); Object.assign(fullAPI, api); init(); @@ -717,7 +723,16 @@ describe('stories API', () => { }, }); const store = createMockStore({ viewMode: 'story', storyId: 'a--1' }); - initStoriesAndSetState({ store, navigate, provider, fullAPI } as any); + const { api, init } = initStoriesAndSetState({ + store, + navigate, + provider, + fullAPI, + viewMode: 'story', + storyId: 'a--1', + } as any); + Object.assign(fullAPI, api); + init(); fullAPI.emit(STORY_SPECIFIED, { storyId: 'a--1', viewMode: 'story' }); @@ -732,7 +747,40 @@ describe('stories API', () => { }, }); const store = createMockStore({ viewMode: 'settings', storyId: 'about' }); - initStoriesAndSetState({ store, navigate, provider, fullAPI } as any); + const { api, init } = initStoriesAndSetState({ + store, + navigate, + provider, + fullAPI, + viewMode: 'settings', + storyId: 'about', + } as any); + Object.assign(fullAPI, api); + init(); + + fullAPI.emit(STORY_SPECIFIED, { storyId: 'a--1', viewMode: 'story' }); + + expect(navigate).not.toHaveBeenCalled(); + }); + + it('DOES not navigate if a custom page was selected', async () => { + const navigate = jest.fn(); + const fullAPI = Object.assign(new EventEmitter(), { + isSettingsScreenActive() { + return true; + }, + }); + const store = createMockStore({ viewMode: 'custom', storyId: undefined }); + const { api, init } = initStoriesAndSetState({ + store, + navigate, + provider, + fullAPI, + viewMode: 'custom', + storyId: undefined, + } as any); + Object.assign(fullAPI, api); + init(); fullAPI.emit(STORY_SPECIFIED, { storyId: 'a--1', viewMode: 'story' }); diff --git a/code/lib/node-logger/package.json b/code/lib/node-logger/package.json index 1d4e82d24342..1ccb73147a68 100644 --- a/code/lib/node-logger/package.json +++ b/code/lib/node-logger/package.json @@ -37,7 +37,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "devDependencies": { diff --git a/code/lib/postinstall/package.json b/code/lib/postinstall/package.json index f3b0220588d0..2703727f3f6a 100644 --- a/code/lib/postinstall/package.json +++ b/code/lib/postinstall/package.json @@ -40,7 +40,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "devDependencies": { diff --git a/code/lib/preview-api/package.json b/code/lib/preview-api/package.json index 57d5d59cba9c..9838ce29c4a7 100644 --- a/code/lib/preview-api/package.json +++ b/code/lib/preview-api/package.json @@ -63,11 +63,10 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { - "@storybook/channel-postmessage": "7.1.0", "@storybook/channels": "7.1.0", "@storybook/client-logger": "7.1.0", "@storybook/core-events": "7.1.0", diff --git a/code/lib/preview-api/src/modules/preview-web/PreviewWeb.test.ts b/code/lib/preview-api/src/modules/preview-web/PreviewWeb.test.ts index 1a0188c1e55e..41e735ebfddb 100644 --- a/code/lib/preview-api/src/modules/preview-web/PreviewWeb.test.ts +++ b/code/lib/preview-api/src/modules/preview-web/PreviewWeb.test.ts @@ -1601,27 +1601,62 @@ describe('PreviewWeb', () => { }); describe('if called before the preview is initialized', () => { - it('still renders the selected story, once ready', async () => { + it('works when there was no selection specifier', async () => { document.location.search = ''; // We intentionally are *not* awaiting here new PreviewWeb().initialize({ importFn, getProjectAnnotations }); - emitter.emit(SET_CURRENT_STORY, { + emitter.emit(SET_CURRENT_STORY, { storyId: 'component-one--b', viewMode: 'story' }); + + await waitForEvents([STORY_RENDERED]); + + // Check we don't render the default "story missing" UI / emit the default message + expect(mockChannel.emit).not.toHaveBeenCalledWith(STORY_MISSING); + + // We of course should emit for the selected story + expect(mockChannel.emit).toHaveBeenCalledWith(CURRENT_STORY_WAS_SET, { storyId: 'component-one--b', viewMode: 'story', }); + expect(history.replaceState).toHaveBeenCalledWith( + {}, + '', + 'pathname?id=component-one--b&viewMode=story' + ); + expect(mockChannel.emit).toHaveBeenCalledWith(STORY_RENDERED, 'component-one--b'); + }); + + it('works when there was a selection specifier', async () => { + document.location.search = '?id=component-one--a'; + + const initialized = new PreviewWeb().initialize({ + importFn, + getProjectAnnotations, + }); + emitter.emit(SET_CURRENT_STORY, { storyId: 'component-one--b', viewMode: 'story' }); + + await initialized; await waitForEvents([STORY_RENDERED]); - expect(mockChannel.emit).toHaveBeenCalledWith(CURRENT_STORY_WAS_SET, { - storyId: 'component-one--b', + + // If we emitted CURRENT_STORY_WAS_SET for the original selection, the manager might + // get confused, so check that we don't + expect(mockChannel.emit).not.toHaveBeenCalledWith(CURRENT_STORY_WAS_SET, { + storyId: 'component-one--a', viewMode: 'story', }); + // Double check this doesn't happen either + expect(mockChannel.emit).not.toHaveBeenCalledWith(STORY_MISSING); + expect(history.replaceState).toHaveBeenCalledWith( {}, '', 'pathname?id=component-one--b&viewMode=story' ); - expect(mockChannel.emit).not.toHaveBeenCalledWith(STORY_MISSING, 'component-one--b'); + expect(mockChannel.emit).toHaveBeenCalledWith(CURRENT_STORY_WAS_SET, { + storyId: 'component-one--b', + viewMode: 'story', + }); expect(mockChannel.emit).toHaveBeenCalledWith(STORY_RENDERED, 'component-one--b'); }); }); diff --git a/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx b/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx index 01f8172ad18c..ca30544d7c49 100644 --- a/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx +++ b/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx @@ -130,6 +130,13 @@ export class PreviewWithSelection<TFramework extends Renderer> extends Preview<T if (!this.storyStore.storyIndex) throw new Error(`Cannot call selectSpecifiedStory before initialization`); + // If the story has been selected during initialization - if `SET_CURRENT_STORY` is + // emitted while we are loading the preview, we don't need to do any selection now. + if (this.selectionStore.selection) { + await this.renderSelection(); + return; + } + if (!this.selectionStore.selectionSpecifier) { this.renderMissingStory(); return; @@ -165,8 +172,8 @@ export class PreviewWithSelection<TFramework extends Renderer> extends Preview<T const { id: storyId, type: viewMode } = entry; this.selectionStore.setSelection({ storyId, viewMode }); - this.channel.emit(STORY_SPECIFIED, this.selectionStore.selection); + this.channel.emit(STORY_SPECIFIED, this.selectionStore.selection); this.channel.emit(CURRENT_STORY_WAS_SET, this.selectionStore.selection); await this.renderSelection({ persistedArgs: args }); @@ -220,9 +227,14 @@ export class PreviewWithSelection<TFramework extends Renderer> extends Preview<T } async onSetCurrentStory(selection: { storyId: StoryId; viewMode?: ViewMode }) { + /** + * At the end of the initialization promise we will read the current story from the selection store, + * so make sure we've updated it with the new selection or we'll lose track of it at the end of init. + */ + this.selectionStore.setSelection({ viewMode: 'story', ...selection }); + await this.storyStore.initializationPromise; - this.selectionStore.setSelection({ viewMode: 'story', ...selection }); this.channel.emit(CURRENT_STORY_WAS_SET, this.selectionStore.selection); this.renderSelection(); } diff --git a/code/lib/preview/package.json b/code/lib/preview/package.json index f63295505081..7edc4bbc4e83 100644 --- a/code/lib/preview/package.json +++ b/code/lib/preview/package.json @@ -51,7 +51,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/esm-bundle.ts" }, "devDependencies": { diff --git a/code/lib/preview/src/globals/runtime.ts b/code/lib/preview/src/globals/runtime.ts index b299eea8f693..6aec0edd155c 100644 --- a/code/lib/preview/src/globals/runtime.ts +++ b/code/lib/preview/src/globals/runtime.ts @@ -16,8 +16,8 @@ import type { globals } from './types'; // Here we map the name of a module to their VALUE in the global scope. export const values: Required<Record<keyof typeof globals, any>> = { - '@storybook/channel-postmessage': CHANNEL_POSTMESSAGE, - '@storybook/channel-websocket': CHANNEL_WEBSOCKET, + '@storybook/channel-postmessage': CHANNEL_POSTMESSAGE, // @deprecated: remove in 8.0 + '@storybook/channel-websocket': CHANNEL_WEBSOCKET, // @deprecated: remove in 8.0 '@storybook/channels': CHANNELS, '@storybook/client-logger': CLIENT_LOGGER, '@storybook/core-events': CORE_EVENTS, diff --git a/code/lib/preview/src/globals/types.ts b/code/lib/preview/src/globals/types.ts index 182e384604e1..afd90b8bf564 100644 --- a/code/lib/preview/src/globals/types.ts +++ b/code/lib/preview/src/globals/types.ts @@ -1,8 +1,8 @@ // Here we map the name of a module to their NAME in the global scope. export const globals = { '@storybook/addons': '__STORYBOOK_MODULE_ADDONS__', - '@storybook/channel-postmessage': '__STORYBOOK_MODULE_CHANNEL_POSTMESSAGE__', - '@storybook/channel-websocket': '__STORYBOOK_MODULE_CHANNEL_WEBSOCKET__', + '@storybook/channel-postmessage': '__STORYBOOK_MODULE_CHANNEL_POSTMESSAGE__', // @deprecated: remove in 8.0 + '@storybook/channel-websocket': '__STORYBOOK_MODULE_CHANNEL_WEBSOCKET__', // @deprecated: remove in 8.0 '@storybook/channels': '__STORYBOOK_MODULE_CHANNELS__', '@storybook/client-api': '__STORYBOOK_MODULE_CLIENT_API__', '@storybook/client-logger': '__STORYBOOK_MODULE_CLIENT_LOGGER__', diff --git a/code/lib/react-dom-shim/package.json b/code/lib/react-dom-shim/package.json index 6fd5299a2eb3..67f865a0e0b4 100644 --- a/code/lib/react-dom-shim/package.json +++ b/code/lib/react-dom-shim/package.json @@ -49,7 +49,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "devDependencies": { diff --git a/code/lib/router/package.json b/code/lib/router/package.json index 89f39d007e6c..c9e3388b5568 100644 --- a/code/lib/router/package.json +++ b/code/lib/router/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/router/src/router.tsx b/code/lib/router/src/router.tsx index 4005dc4b7804..118077b9c007 100644 --- a/code/lib/router/src/router.tsx +++ b/code/lib/router/src/router.tsx @@ -1,6 +1,6 @@ import { global } from '@storybook/global'; import React, { useCallback } from 'react'; -import type { ReactNode } from 'react'; +import type { ReactNode, ReactElement, ComponentProps } from 'react'; import * as R from 'react-router-dom'; import { ToggleVisibility } from './visibility'; @@ -16,23 +16,33 @@ interface MatchingData { interface LocationProps { children: (renderData: RenderData) => any; } -interface MatchProps { + +interface MatchPropsStartsWith { path: string; startsWith: boolean; children: (matchingData: MatchingData) => ReactNode; } -interface RouteProps { +interface MatchPropsDefault { + path: RegExp; + startsWith: false; + children: (matchingData: MatchingData) => ReactNode; +} + +interface RoutePropsStartsWith { path: string; startsWith?: boolean; hideOnly?: boolean; children: ReactNode; } +interface RoutePropsDefault { + path: RegExp; + startsWith?: false; + hideOnly?: boolean; + children: ReactNode; +} const getBase = () => `${document.location.pathname}?`; -// const queryNavigate: NavigateFn = (to: string | number, options?: NavigateOptions<{}>) => -// typeof to === 'number' ? navigate(to) : navigate(`${getBase()}path=${to}`, options); - export const useNavigate = () => { const navigate = R.useNavigate(); @@ -53,7 +63,9 @@ export const useNavigate = () => { }, []); }; -// A component that will navigate to a new location/path when clicked +/** + * A component that will navigate to a new location/path when clicked + */ export const Link = ({ to, children, ...rest }: LinkProps) => ( <R.Link to={`${getBase()}path=${to}`} {...rest}> {children} @@ -61,8 +73,10 @@ export const Link = ({ to, children, ...rest }: LinkProps) => ( ); Link.displayName = 'QueryLink'; -// A render-prop component where children is called with a location -// and will be called whenever it changes when it changes +/** + * A render-prop component where children is called with a location + * and will be called whenever it changes when it changes + */ export const Location = ({ children }: LocationProps) => { const location = R.useLocation(); const { path, singleStory } = queryFromString(location.search); @@ -71,7 +85,7 @@ export const Location = ({ children }: LocationProps) => { return ( <> {children({ - path, + path: path || '/', location, viewMode, storyId, @@ -83,33 +97,58 @@ export const Location = ({ children }: LocationProps) => { }; Location.displayName = 'QueryLocation'; -// A render-prop component for rendering when a certain path is hit. -// It's immensely similar to `Location` but it receives an addition data property: `match`. -// match has a truthy value when the path is hit. -export const Match = ({ children, path: targetPath, startsWith = false }: MatchProps) => ( - <Location> - {({ path: urlPath, ...rest }) => - children({ - match: getMatch(urlPath, targetPath, startsWith), - ...rest, - }) - } - </Location> -); +/** + * A render-prop component for rendering when a certain path is hit. + * It's immensely similar to `Location` but it receives an addition data property: `match`. + * match has a truthy value when the path is hit. + */ +function Match(props: MatchPropsStartsWith): ReactElement; +function Match(props: MatchPropsDefault): ReactElement; +function Match({ + children, + path: targetPath, + startsWith = false, +}: MatchPropsStartsWith | MatchPropsDefault) { + return ( + <Location> + {({ path: urlPath, ...rest }) => + children({ + match: getMatch(urlPath, targetPath, startsWith), + ...rest, + }) + } + </Location> + ); +} Match.displayName = 'QueryMatch'; -// A component to conditionally render children based on matching a target path -export const Route = ({ path, children, startsWith = false, hideOnly = false }: RouteProps) => ( - <Match path={path} startsWith={startsWith}> - {({ match }) => { - if (hideOnly) { - return <ToggleVisibility hidden={!match}>{children}</ToggleVisibility>; - } - return match ? children : null; - }} - </Match> -); +/** + * A component to conditionally render children based on matching a target path + */ +function Route(props: RoutePropsDefault): ReactElement; +function Route(props: RoutePropsStartsWith): ReactElement; +function Route(input: RoutePropsDefault | RoutePropsStartsWith) { + const { children, hideOnly, ...rest } = input; + if (rest.startsWith === undefined) { + rest.startsWith = false; + } + + const matchProps = rest as Omit<ComponentProps<typeof Match>, 'children'>; + + return ( + <Match {...matchProps}> + {({ match }) => { + if (hideOnly) { + return <ToggleVisibility hidden={!match}>{children}</ToggleVisibility>; + } + return match ? children : null; + }} + </Match> + ); +} Route.displayName = 'Route'; +export { Route, Match }; + export const LocationProvider: typeof R.BrowserRouter = (...args) => R.BrowserRouter(...args); export const BaseLocationProvider: typeof R.Router = (...args) => R.Router(...args); diff --git a/code/lib/router/src/utils.ts b/code/lib/router/src/utils.ts index ab5941cab4ca..94d1d6860538 100644 --- a/code/lib/router/src/utils.ts +++ b/code/lib/router/src/utils.ts @@ -158,8 +158,11 @@ export const stringifyQuery = (query: Query) => type Match = { path: string }; export const getMatch = memoize(1000)( - (current: string, target: string, startsWith = true): Match | null => { + (current: string, target: string | RegExp, startsWith = true): Match | null => { if (startsWith) { + if (typeof target !== 'string') { + throw new Error('startsWith only works with string targets'); + } const startsWithTarget = current && current.startsWith(target); if (startsWithTarget) { return { path: current }; diff --git a/code/lib/source-loader/package.json b/code/lib/source-loader/package.json index 5be349908930..4243d210165f 100644 --- a/code/lib/source-loader/package.json +++ b/code/lib/source-loader/package.json @@ -40,7 +40,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/telemetry/package.json b/code/lib/telemetry/package.json index 30de3fbd430e..28bf90684709 100644 --- a/code/lib/telemetry/package.json +++ b/code/lib/telemetry/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/theming/package.json b/code/lib/theming/package.json index 504fa4fae38e..cb6af6c14bb9 100644 --- a/code/lib/theming/package.json +++ b/code/lib/theming/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/types/package.json b/code/lib/types/package.json index 40c14195bb73..1676d89c5a73 100644 --- a/code/lib/types/package.json +++ b/code/lib/types/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/lib/types/src/modules/addons.ts b/code/lib/types/src/modules/addons.ts index f4085d06d170..b99778d85424 100644 --- a/code/lib/types/src/modules/addons.ts +++ b/code/lib/types/src/modules/addons.ts @@ -1,5 +1,13 @@ /* eslint-disable @typescript-eslint/naming-convention */ +import type { + FC, + PropsWithChildren, + ReactElement, + ReactNode, + ValidationMap, + WeakValidationMap, +} from 'react'; import type { RenderData as RouterData } from '../../../router/src/types'; import type { ThemeVars } from '../../../theming/src/types'; import type { @@ -20,7 +28,7 @@ import type { } from './csf'; import type { IndexEntry } from './storyIndex'; -export type Addon_Types = Addon_TypesEnum | string; +export type Addon_Types = Exclude<Addon_TypesEnum, Addon_TypesEnum.experimental_PAGE>; export interface Addon_ArgType<TArg = unknown> extends InputType { defaultValue?: TArg; @@ -122,9 +130,10 @@ export interface Addon_AddStoryArgs<StoryFnReturnType = unknown> { parameters: Parameters; } -export interface Addon_ClientApiAddon<StoryFnReturnType = unknown> extends Addon_Type { +export type Addon_ClientApiAddon<StoryFnReturnType = unknown> = Addon_Type & { apply: (a: Addon_StoryApi<StoryFnReturnType>, b: any[]) => any; -} +}; + export interface Addon_ClientApiAddons<StoryFnReturnType> { [key: string]: Addon_ClientApiAddon<StoryFnReturnType>; } @@ -297,35 +306,161 @@ export type BaseStory<TArgs, StoryFnReturnType> = | Addon_BaseStoryObject<TArgs, StoryFnReturnType>; export interface Addon_RenderOptions { - active?: boolean; - key?: string; + active: boolean; + key: string; } +/** + * @deprecated This type is deprecated and will be removed in 8.0. + */ export type ReactJSXElement = { type: any; props: any; key: any; }; -export interface Addon_Type { - title: (() => string) | string | ReactJSXElement; - type?: Addon_Types; +export type Addon_Type = Addon_BaseType | Addon_PageType | Addon_WrapperType; +export interface Addon_BaseType { + /** + * The title of the addon. + * This can be a simple string, but it can also be a React.FunctionComponent or a React.ReactElement. + */ + title: FCWithoutChildren | ReactNode; + /** + * The type of the addon. + * @example Addon_TypesEnum.PANEL + */ + type: Exclude<Addon_Types, Addon_TypesEnum.PREVIEW>; + /** + * The unique id of the addon. + * @warn This will become non-optional in 8.0 + * + * This needs to be globally unique, so we recommend prefixing it with your org name or npm package name. + * + * Do not prefix with `storybook`, this is reserved for core storybook feature and core addons. + * + * @example 'my-org-name/my-addon-name' + */ id?: string; + /** + * This component will wrap your `render` function. + * + * With it you can determine if you want your addon to be rendered or not. + * + * This is to facilitate addons keeping state, and keep listening for events even when they are not currently on screen/rendered. + */ route?: (routeOptions: RouterData) => string; + /** + * This will determine the value of `active` prop of your render function. + */ match?: (matchOptions: RouterData) => boolean; - render: (renderOptions: Addon_RenderOptions) => any | null; + /** + * The actual contents of your addon. + * + * This is called as a function, so if you want to use hooks, + * your function needs to return a JSX.Element within which components are rendered + */ + render: (renderOptions: Partial<Addon_RenderOptions>) => ReactElement<any, any> | null; + /** + * @unstable + */ paramKey?: string; + /** + * @unstable + */ disabled?: boolean; + /** + * @unstable + */ hidden?: boolean; } +/** + * This is a copy of FC from react/index.d.ts, but has the PropsWithChildren type removed + * this is correct and more type strict, and future compatible with React.FC in React 18+ + * + * @deprecated This type is deprecated and will be removed in 8.0. (assuming the manager uses React 18 is out by then) + */ +interface FCWithoutChildren<P = {}> { + (props: P, context?: any): ReactElement<any, any> | null; + propTypes?: WeakValidationMap<P> | undefined; + contextTypes?: ValidationMap<any> | undefined; + defaultProps?: Partial<P> | undefined; + displayName?: string | undefined; +} + +export interface Addon_PageType { + type: Addon_TypesEnum.experimental_PAGE; + /** + * The unique id of the page. + */ + id: string; + /** + * The URL to navigate to when Storybook needs to navigate to this page. + */ + url: string; + /** + * The title is used in mobile mode to represent the page in the navigation. + */ + title: FCWithoutChildren | string | ReactElement | ReactNode; + /** + * The main content of the addon, a function component without any props. + * Storybook will render your component always. + * + * If you want to render your component only when the URL matches, use the `Route` component. + * @example + * import { Route } from '@storybook/router'; + * + * render: () => { + * return ( + * <Route path="/my-addon"> + * <MyAddonContent /> + * </Route> + * ); + * }; + */ + render: FCWithoutChildren; +} + +export interface Addon_WrapperType { + type: Addon_TypesEnum.PREVIEW; + /** + * The unique id of the page. + */ + id: string; + /** + * A React.FunctionComponent that wraps the story. + * + * This component must accept a children prop, and render it. + */ + render: FC< + PropsWithChildren<{ + index: number; + children: ReactNode; + id: string; + storyId: StoryId; + active: boolean; + }> + >; +} + +type Addon_TypeBaseNames = Exclude< + Addon_TypesEnum, + Addon_TypesEnum.PREVIEW | Addon_TypesEnum.experimental_PAGE +>; + +export interface Addon_TypesMapping extends Record<Addon_TypeBaseNames, Addon_BaseType> { + [Addon_TypesEnum.PREVIEW]: Addon_WrapperType; + [Addon_TypesEnum.experimental_PAGE]: Addon_PageType; +} + export type Addon_Loader<API> = (api: API) => void; export interface Addon_Loaders<API> { [key: string]: Addon_Loader<API>; } -export interface Addon_Collection { - [key: string]: Addon_Type; +export interface Addon_Collection<T = Addon_Type> { + [key: string]: T; } export interface Addon_Elements { [key: string]: Addon_Collection; @@ -342,10 +477,36 @@ export interface Addon_Config { } export enum Addon_TypesEnum { + /** + * This API is used to create a tab the toolbar above the canvas, This API might be removed in the future. + * @unstable + */ TAB = 'tab', + /** + * This adds panels to the addons side panel. + */ PANEL = 'panel', + /** + * This adds items in the toolbar above the canvas - on the left side. + */ TOOL = 'tool', + /** + * This adds items in the toolbar above the canvas - on the right side. + */ TOOLEXTRA = 'toolextra', + /** + * This adds wrapper components around the canvas/iframe component storybook renders. + * @unstable this API is not stable yet, and is likely to change in 8.0. + */ PREVIEW = 'preview', + /** + * This adds pages that render instead of the canvas. + * @unstable + */ + experimental_PAGE = 'page', + + /** + * @deprecated This property does nothing, and will be removed in Storybook 8.0. + */ NOTES_ELEMENT = 'notes-element', } diff --git a/code/lib/types/src/modules/api-stories.ts b/code/lib/types/src/modules/api-stories.ts index 7cfd32b22284..4853aa9a39cb 100644 --- a/code/lib/types/src/modules/api-stories.ts +++ b/code/lib/types/src/modules/api-stories.ts @@ -172,3 +172,15 @@ export interface API_Versions { next?: API_Version; current?: API_Version; } + +export type API_StatusValue = 'pending' | 'success' | 'error' | 'warn' | 'unknown'; + +export interface API_StatusObject { + status: API_StatusValue; + title: string; + description: string; + data?: any; +} + +export type API_StatusState = Record<StoryId, Record<string, API_StatusObject>>; +export type API_StatusUpdate = Record<StoryId, API_StatusObject>; diff --git a/code/lib/types/src/modules/api.ts b/code/lib/types/src/modules/api.ts index 7a043dfc7382..6bf5777ae825 100644 --- a/code/lib/types/src/modules/api.ts +++ b/code/lib/types/src/modules/api.ts @@ -3,19 +3,17 @@ import type { RenderData } from '../../../router/src/types'; import type { Channel } from '../../../channels/src'; import type { ThemeVars } from '../../../theming/src/types'; -import type { ViewMode } from './csf'; import type { DocsOptions } from './core-common'; import type { API_HashEntry, API_IndexHash } from './api-stories'; import type { SetStoriesStory, SetStoriesStoryData } from './channelApi'; -import type { Addon_Type } from './addons'; +import type { Addon_BaseType, Addon_Collection, Addon_RenderOptions, Addon_Type } from './addons'; import type { StoryIndex } from './storyIndex'; -export type API_ViewMode = 'story' | 'info' | 'settings' | 'page' | undefined | string; +type OrString<T extends string> = T | (string & {}); -export interface API_RenderOptions { - active: boolean; - key: string; -} +export type API_ViewMode = OrString<'story' | 'docs' | 'settings'> | undefined; + +export type API_RenderOptions = Addon_RenderOptions; export interface API_RouteOptions { storyId: string; @@ -30,13 +28,20 @@ export interface API_MatchOptions { path: string; } +/** + * @deprecated this is synonymous with `Addon_Type`. This interface will be removed in 8.0 + */ export type API_Addon = Addon_Type; -export interface API_Collection<T = API_Addon> { - [key: string]: T; -} +/** + * @deprecated this is synonymous with `Addon_Collection`. This interface will be removed in 8.0 + */ +export type API_Collection<T = Addon_Type> = Addon_Collection<T>; -export type API_Panels = API_Collection<API_Addon>; +/** + * @deprecated This interface will be removed in 8.0 + */ +export type API_Panels = Addon_Collection<Addon_BaseType>; export type API_StateMerger<S> = (input: S) => S; @@ -64,12 +69,12 @@ export interface API_Provider<API> { export type API_IframeRenderer = ( storyId: string, - viewMode: ViewMode, + viewMode: API_ViewMode, id: string, baseUrl: string, scale: number, queryParams: Record<string, any> -) => any; +) => React.ReactElement<any, any> | null; export interface API_UIOptions { name?: string; @@ -91,7 +96,7 @@ export interface API_Layout { showTabs: boolean; showToolbar: boolean; /** - * @deprecated + * @deprecated, will be removed in 8.0 - this API no longer works */ isToolshown?: boolean; } @@ -111,6 +116,13 @@ export interface API_SidebarOptions { renderLabel?: (item: API_HashEntry) => any; } +interface OnClearOptions { + /** + * True when the user dismissed the notification. + */ + dismissed: boolean; +} + export interface API_Notification { id: string; link: string; @@ -118,14 +130,11 @@ export interface API_Notification { headline: string; subHeadline?: string | any; }; - icon?: { name: string; color?: string; }; - onClear?: (options: { - /** True when the user dismissed the notification. */ dismissed: boolean; - }) => void; + onClear?: (options: OnClearOptions) => void; } type API_Versions = Record<string, string>; diff --git a/code/lib/types/src/modules/channelApi.ts b/code/lib/types/src/modules/channelApi.ts index 0fe35baf824a..b58129999e21 100644 --- a/code/lib/types/src/modules/channelApi.ts +++ b/code/lib/types/src/modules/channelApi.ts @@ -1,3 +1,4 @@ +import type { API_ViewMode } from './api'; import type { Args, ArgTypes, @@ -5,7 +6,6 @@ import type { Parameters, StoryId, StoryKind, - ViewMode, Globals, GlobalTypes, } from './csf'; @@ -23,7 +23,7 @@ export interface SetStoriesStory { [optionName: string]: any; }; docsOnly?: boolean; - viewMode?: ViewMode; + viewMode?: API_ViewMode; [parameterName: string]: any; }; argTypes?: ArgTypes; diff --git a/code/lib/types/src/modules/csf.ts b/code/lib/types/src/modules/csf.ts index ea5c13668bfd..b72b0a42af5a 100644 --- a/code/lib/types/src/modules/csf.ts +++ b/code/lib/types/src/modules/csf.ts @@ -60,13 +60,19 @@ export type { Tag, } from '@storybook/csf'; -export type ViewMode = ViewModeBase | 'story' | 'info' | 'settings' | string | undefined; +type OrString<T extends string> = T | (string & {}); + +export type ViewMode = OrString<ViewModeBase | 'settings'> | undefined; type Layout = 'centered' | 'fullscreen' | 'padded' | 'none'; export interface StorybookParameters { options?: Addon_OptionsParameter; - /** The layout property defines basic styles added to the preview body where the story is rendered. If you pass 'none', no styles are applied. */ + /** + * The layout property defines basic styles added to the preview body where the story is rendered. + * + * If you pass `none`, no styles are applied. + */ layout?: Layout; } diff --git a/code/presets/create-react-app/package.json b/code/presets/create-react-app/package.json index aae62c08aecb..c8b67e478017 100644 --- a/code/presets/create-react-app/package.json +++ b/code/presets/create-react-app/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/create-react-app/src/helpers/mergePlugins.ts b/code/presets/create-react-app/src/helpers/mergePlugins.ts index d315a29f24cb..4c3ff84ead18 100644 --- a/code/presets/create-react-app/src/helpers/mergePlugins.ts +++ b/code/presets/create-react-app/src/helpers/mergePlugins.ts @@ -1,7 +1,7 @@ -import type { WebpackPluginInstance } from 'webpack'; +import type { Configuration } from 'webpack'; import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin'; -export const mergePlugins = (...args: WebpackPluginInstance[]): WebpackPluginInstance[] => +export const mergePlugins = (...args: Configuration['plugins']): Configuration['plugins'] => args.reduce((plugins, plugin) => { if ( plugins.some( @@ -23,4 +23,4 @@ export const mergePlugins = (...args: WebpackPluginInstance[]): WebpackPluginIns }); } return [...plugins, updatedPlugin]; - }, [] as WebpackPluginInstance[]); + }, [] as Configuration['plugins']); diff --git a/code/presets/html-webpack/package.json b/code/presets/html-webpack/package.json index 14472b729a52..e1035a00238a 100644 --- a/code/presets/html-webpack/package.json +++ b/code/presets/html-webpack/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/preact-webpack/package.json b/code/presets/preact-webpack/package.json index 766a0e3e80b7..bb4df40c8b46 100644 --- a/code/presets/preact-webpack/package.json +++ b/code/presets/preact-webpack/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/react-webpack/package.json b/code/presets/react-webpack/package.json index 780476514d89..e5d9162d2d97 100644 --- a/code/presets/react-webpack/package.json +++ b/code/presets/react-webpack/package.json @@ -59,7 +59,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/server-webpack/package.json b/code/presets/server-webpack/package.json index 5bb0e268cb3b..5756f411daf2 100644 --- a/code/presets/server-webpack/package.json +++ b/code/presets/server-webpack/package.json @@ -49,7 +49,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/svelte-webpack/package.json b/code/presets/svelte-webpack/package.json index 47431d89989e..45efb2ee01a2 100644 --- a/code/presets/svelte-webpack/package.json +++ b/code/presets/svelte-webpack/package.json @@ -59,7 +59,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/vue-webpack/package.json b/code/presets/vue-webpack/package.json index ea15ea1f1a49..7820cc57fe1f 100644 --- a/code/presets/vue-webpack/package.json +++ b/code/presets/vue-webpack/package.json @@ -54,7 +54,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/vue3-webpack/package.json b/code/presets/vue3-webpack/package.json index 5fec90da4ed2..0186a5b0def7 100644 --- a/code/presets/vue3-webpack/package.json +++ b/code/presets/vue3-webpack/package.json @@ -54,7 +54,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/presets/web-components-webpack/package.json b/code/presets/web-components-webpack/package.json index a14670849765..f9f7c9e3392d 100644 --- a/code/presets/web-components-webpack/package.json +++ b/code/presets/web-components-webpack/package.json @@ -47,7 +47,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/renderers/html/package.json b/code/renderers/html/package.json index d90c69dcbca7..a036ef947ce4 100644 --- a/code/renderers/html/package.json +++ b/code/renderers/html/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/renderers/preact/package.json b/code/renderers/preact/package.json index b41abe56f30b..3c050167faca 100644 --- a/code/renderers/preact/package.json +++ b/code/renderers/preact/package.json @@ -44,7 +44,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/renderers/react/package.json b/code/renderers/react/package.json index 36655e6229f0..3397766ee669 100644 --- a/code/renderers/react/package.json +++ b/code/renderers/react/package.json @@ -48,7 +48,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/renderers/server/package.json b/code/renderers/server/package.json index f4b0bd928143..6a4c231a3543 100644 --- a/code/renderers/server/package.json +++ b/code/renderers/server/package.json @@ -49,7 +49,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/renderers/web-components/package.json b/code/renderers/web-components/package.json index 2f2521fdb468..1f6e5bf245fa 100644 --- a/code/renderers/web-components/package.json +++ b/code/renderers/web-components/package.json @@ -47,7 +47,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/tsconfig.json b/code/tsconfig.json index e28f13442121..26de1b5ba684 100644 --- a/code/tsconfig.json +++ b/code/tsconfig.json @@ -10,7 +10,7 @@ "moduleResolution": "Node", "target": "ES2020", "module": "CommonJS", - "skipLibCheck": false, + "skipLibCheck": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, "isolatedModules": true, diff --git a/code/ui/.storybook/main.ts b/code/ui/.storybook/main.ts index 541b0f2c69e1..b21c8b0f9413 100644 --- a/code/ui/.storybook/main.ts +++ b/code/ui/.storybook/main.ts @@ -6,17 +6,21 @@ import type { StorybookConfig } from '../../frameworks/react-vite'; const isBlocksOnly = process.env.STORYBOOK_BLOCKS_ONLY === 'true'; const allStories = [ + { + directory: '../components/src/new', + titlePrefix: '@core-ui', + }, { directory: '../manager/src', - titlePrefix: '@storybook-manager', + titlePrefix: '@manager', }, { - directory: '../components/src', - titlePrefix: '@storybook-components', + directory: '../components/src/legacy', + titlePrefix: '@components', }, { directory: '../blocks/src', - titlePrefix: '@storybook-blocks', + titlePrefix: '@blocks', }, ]; diff --git a/code/ui/.storybook/manager.ts b/code/ui/.storybook/manager.tsx similarity index 52% rename from code/ui/.storybook/manager.ts rename to code/ui/.storybook/manager.tsx index 1ac61cf4d375..775a1f63c8ed 100644 --- a/code/ui/.storybook/manager.ts +++ b/code/ui/.storybook/manager.tsx @@ -1,5 +1,7 @@ -import { addons } from '@storybook/manager-api'; +import { addons, types } from '@storybook/manager-api'; +import { IconButton, Icons } from '@storybook/components'; import startCase from 'lodash/startCase.js'; +import React, { Fragment } from 'react'; addons.setConfig({ sidebar: { diff --git a/code/ui/blocks/package.json b/code/ui/blocks/package.json index c2d7bd274ea5..5f1326b58e35 100644 --- a/code/ui/blocks/package.json +++ b/code/ui/blocks/package.json @@ -39,7 +39,7 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { diff --git a/code/ui/blocks/tsconfig.json b/code/ui/blocks/tsconfig.json index af6084057dc0..fcad33be23fa 100644 --- a/code/ui/blocks/tsconfig.json +++ b/code/ui/blocks/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "module": "esnext", + "skipLibCheck": true, "rootDir": "./src", "types": ["jest"], "strict": false diff --git a/code/ui/components/package.json b/code/ui/components/package.json index f2cccd7acf9b..f02bd1d1b5cb 100644 --- a/code/ui/components/package.json +++ b/code/ui/components/package.json @@ -27,6 +27,12 @@ "require": "./dist/index.js", "import": "./dist/index.mjs" }, + "./experimental": { + "types": "./dist/experimantal.d.ts", + "node": "./dist/experimantal.js", + "require": "./dist/experimantal.js", + "import": "./dist/experimantal.mjs" + }, "./html": { "types": "./dist/html.d.ts", "require": "./dist/html.js", @@ -37,6 +43,19 @@ "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/index.d.ts", + "typesVersions": { + "*": { + "*": [ + "dist/index.d.ts" + ], + "html": [ + "dist/html.d.ts" + ], + "experimental": [ + "dist/experimantal.d.ts" + ] + } + }, "files": [ "dist/**/*", "README.md", @@ -44,10 +63,11 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/bundle.ts" }, "dependencies": { + "@radix-ui/react-select": "^1.2.2", "@storybook/client-logger": "7.1.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", @@ -81,7 +101,8 @@ }, "bundler": { "entries": [ - "./src/index.ts" + "./src/index.ts", + "./src/experimantal.ts" ], "platform": "neutral" }, diff --git a/code/ui/components/src/experimantal.ts b/code/ui/components/src/experimantal.ts new file mode 100644 index 000000000000..6682e0ada3c5 --- /dev/null +++ b/code/ui/components/src/experimantal.ts @@ -0,0 +1,10 @@ +// eslint-disable-next-line @typescript-eslint/triple-slash-reference +/// <reference path="./typings.d.ts" /> + +/* ABSOLUTELY DO NOT: + * - EXPORT PROPS INTERFACES OF COMPONENTS + * - EXPORT * FROM ANY FILES, EVERY EXPORT SHOULD BE DELIBERATE + * - EXPORT IMPORT / EXPORT ANYTHING FROM LEGACY + */ + +export { Button } from './new/Button/Button'; diff --git a/code/ui/components/src/index.ts b/code/ui/components/src/index.ts index 292a9c7067dd..f0a15962f3f1 100644 --- a/code/ui/components/src/index.ts +++ b/code/ui/components/src/index.ts @@ -3,88 +3,91 @@ import type { ElementType } from 'react'; import { createElement, forwardRef } from 'react'; -import * as typography from './typography/components'; - -export { A } from './typography/elements/A'; -export { Blockquote } from './typography/elements/Blockquote'; -export { Code } from './typography/elements/Code'; -export { Div } from './typography/elements/Div'; -export { DL } from './typography/elements/DL'; -export { H1 } from './typography/elements/H1'; -export { H2 } from './typography/elements/H2'; -export { H3 } from './typography/elements/H3'; -export { H4 } from './typography/elements/H4'; -export { H5 } from './typography/elements/H5'; -export { H6 } from './typography/elements/H6'; -export { HR } from './typography/elements/HR'; -export { Img } from './typography/elements/Img'; -export { LI } from './typography/elements/LI'; -export { OL } from './typography/elements/OL'; -export { P } from './typography/elements/P'; -export { Pre } from './typography/elements/Pre'; -export { Span } from './typography/elements/Span'; -export { Table } from './typography/elements/Table'; -export { TT } from './typography/elements/TT'; -export { UL } from './typography/elements/UL'; -export { Badge } from './Badge/Badge'; +import * as typography from './legacy/typography/components'; + +export { A } from './legacy/typography/elements/A'; +export { Blockquote } from './legacy/typography/elements/Blockquote'; +export { Code } from './legacy/typography/elements/Code'; +export { Div } from './legacy/typography/elements/Div'; +export { DL } from './legacy/typography/elements/DL'; +export { H1 } from './legacy/typography/elements/H1'; +export { H2 } from './legacy/typography/elements/H2'; +export { H3 } from './legacy/typography/elements/H3'; +export { H4 } from './legacy/typography/elements/H4'; +export { H5 } from './legacy/typography/elements/H5'; +export { H6 } from './legacy/typography/elements/H6'; +export { HR } from './legacy/typography/elements/HR'; +export { Img } from './legacy/typography/elements/Img'; +export { LI } from './legacy/typography/elements/LI'; +export { OL } from './legacy/typography/elements/OL'; +export { P } from './legacy/typography/elements/P'; +export { Pre } from './legacy/typography/elements/Pre'; +export { Span } from './legacy/typography/elements/Span'; +export { Table } from './legacy/typography/elements/Table'; +export { TT } from './legacy/typography/elements/TT'; +export { UL } from './legacy/typography/elements/UL'; +export { Badge } from './legacy/Badge/Badge'; // Typography -export { Link } from './typography/link/link'; -export { DocumentWrapper } from './typography/DocumentWrapper'; +export { Link } from './legacy/typography/link/link'; +export { DocumentWrapper } from './legacy/typography/DocumentWrapper'; export type { SyntaxHighlighterFormatTypes, SyntaxHighlighterProps, SyntaxHighlighterRendererProps, -} from './syntaxhighlighter/syntaxhighlighter-types'; -export { SyntaxHighlighter } from './syntaxhighlighter/lazy-syntaxhighlighter'; -export { createCopyToClipboardFunction } from './syntaxhighlighter/syntaxhighlighter'; +} from './legacy/syntaxhighlighter/syntaxhighlighter-types'; +export { SyntaxHighlighter } from './legacy/syntaxhighlighter/lazy-syntaxhighlighter'; +export { createCopyToClipboardFunction } from './legacy/syntaxhighlighter/syntaxhighlighter'; // UI -export { ActionBar } from './ActionBar/ActionBar'; -export { Spaced } from './spaced/Spaced'; -export { Placeholder } from './placeholder/placeholder'; -export { ScrollArea } from './ScrollArea/ScrollArea'; -export { Zoom } from './Zoom/Zoom'; -export type { ActionItem } from './ActionBar/ActionBar'; -export { ErrorFormatter } from './ErrorFormatter/ErrorFormatter'; +export { ActionBar } from './legacy/ActionBar/ActionBar'; +export { Spaced } from './legacy/spaced/Spaced'; +export { Placeholder } from './legacy/placeholder/placeholder'; +export { ScrollArea } from './legacy/ScrollArea/ScrollArea'; +export { Zoom } from './legacy/Zoom/Zoom'; +export type { ActionItem } from './legacy/ActionBar/ActionBar'; +export { ErrorFormatter } from './legacy/ErrorFormatter/ErrorFormatter'; // Forms -export { Button } from './Button/Button'; -export { Form } from './form/index'; +export { Button } from './legacy/Button/Button'; +export { Form } from './legacy/form/index'; // Tooltips -export { WithTooltip, WithTooltipPure } from './tooltip/lazy-WithTooltip'; -export { TooltipMessage } from './tooltip/TooltipMessage'; -export { TooltipNote } from './tooltip/TooltipNote'; -export { TooltipLinkList, type Link as TooltipLinkListLink } from './tooltip/TooltipLinkList'; -export { default as ListItem } from './tooltip/ListItem'; +export { WithTooltip, WithTooltipPure } from './legacy/tooltip/lazy-WithTooltip'; +export { TooltipMessage } from './legacy/tooltip/TooltipMessage'; +export { TooltipNote } from './legacy/tooltip/TooltipNote'; +export { + TooltipLinkList, + type Link as TooltipLinkListLink, +} from './legacy/tooltip/TooltipLinkList'; +export { default as ListItem } from './legacy/tooltip/ListItem'; // Toolbar and subcomponents -export { Tabs, TabsState, TabBar, TabWrapper } from './tabs/tabs'; -export { IconButton, IconButtonSkeleton, TabButton } from './bar/button'; -export { Separator, interleaveSeparators } from './bar/separator'; -export { Bar, FlexBar } from './bar/bar'; -export { AddonPanel } from './addon-panel/addon-panel'; +export { Tabs, TabsState, TabBar, TabWrapper } from './legacy/tabs/tabs'; +export { IconButton, IconButtonSkeleton, TabButton } from './legacy/bar/button'; +export { Separator, interleaveSeparators } from './legacy/bar/separator'; +export { Bar, FlexBar } from './legacy/bar/bar'; +export { AddonPanel } from './legacy/addon-panel/addon-panel'; // Graphics -export type { IconsProps } from './icon/icon'; -export { Icons, Symbols } from './icon/icon'; -export { icons } from './icon/icons'; -export { StorybookLogo } from './brand/StorybookLogo'; -export { StorybookIcon } from './brand/StorybookIcon'; +export type { IconsProps } from './legacy/icon/icon'; +export { Icons, Symbols } from './legacy/icon/icon'; +export { icons } from './legacy/icon/icons'; +export { StorybookLogo } from './legacy/brand/StorybookLogo'; +export { StorybookIcon } from './legacy/brand/StorybookIcon'; // Loader -export { Loader } from './Loader/Loader'; +export { Loader } from './legacy/Loader/Loader'; // Utils -export { getStoryHref } from './utils/getStoryHref'; +export { getStoryHref } from './legacy/utils/getStoryHref'; -export * from './typography/DocumentFormatting'; -export * from './typography/ResetWrapper'; +export * from './legacy/typography/DocumentFormatting'; +export * from './legacy/typography/ResetWrapper'; -export { withReset, codeCommon } from './typography/lib/common'; +export { withReset, codeCommon } from './legacy/typography/lib/common'; -export { ClipboardCode } from './clipboard/ClipboardCode'; +export { ClipboardCode } from './legacy/clipboard/ClipboardCode'; // eslint-disable-next-line prefer-destructuring export const components = typography.components; diff --git a/code/ui/components/src/ActionBar/ActionBar.stories.tsx b/code/ui/components/src/legacy/ActionBar/ActionBar.stories.tsx similarity index 100% rename from code/ui/components/src/ActionBar/ActionBar.stories.tsx rename to code/ui/components/src/legacy/ActionBar/ActionBar.stories.tsx diff --git a/code/ui/components/src/ActionBar/ActionBar.tsx b/code/ui/components/src/legacy/ActionBar/ActionBar.tsx similarity index 100% rename from code/ui/components/src/ActionBar/ActionBar.tsx rename to code/ui/components/src/legacy/ActionBar/ActionBar.tsx diff --git a/code/ui/components/src/Badge/Badge.stories.tsx b/code/ui/components/src/legacy/Badge/Badge.stories.tsx similarity index 100% rename from code/ui/components/src/Badge/Badge.stories.tsx rename to code/ui/components/src/legacy/Badge/Badge.stories.tsx diff --git a/code/ui/components/src/Badge/Badge.tsx b/code/ui/components/src/legacy/Badge/Badge.tsx similarity index 100% rename from code/ui/components/src/Badge/Badge.tsx rename to code/ui/components/src/legacy/Badge/Badge.tsx diff --git a/code/ui/components/src/Button/Button.stories.tsx b/code/ui/components/src/legacy/Button/Button.stories.tsx similarity index 100% rename from code/ui/components/src/Button/Button.stories.tsx rename to code/ui/components/src/legacy/Button/Button.stories.tsx diff --git a/code/ui/components/src/Button/Button.tsx b/code/ui/components/src/legacy/Button/Button.tsx similarity index 100% rename from code/ui/components/src/Button/Button.tsx rename to code/ui/components/src/legacy/Button/Button.tsx diff --git a/code/ui/components/src/Colors/SideBySide.tsx b/code/ui/components/src/legacy/Colors/SideBySide.tsx similarity index 100% rename from code/ui/components/src/Colors/SideBySide.tsx rename to code/ui/components/src/legacy/Colors/SideBySide.tsx diff --git a/code/ui/components/src/Colors/colorpalette.mdx b/code/ui/components/src/legacy/Colors/colorpalette.mdx similarity index 100% rename from code/ui/components/src/Colors/colorpalette.mdx rename to code/ui/components/src/legacy/Colors/colorpalette.mdx diff --git a/code/ui/components/src/ErrorFormatter/ErrorFormatter.stories.tsx b/code/ui/components/src/legacy/ErrorFormatter/ErrorFormatter.stories.tsx similarity index 100% rename from code/ui/components/src/ErrorFormatter/ErrorFormatter.stories.tsx rename to code/ui/components/src/legacy/ErrorFormatter/ErrorFormatter.stories.tsx diff --git a/code/ui/components/src/ErrorFormatter/ErrorFormatter.tsx b/code/ui/components/src/legacy/ErrorFormatter/ErrorFormatter.tsx similarity index 100% rename from code/ui/components/src/ErrorFormatter/ErrorFormatter.tsx rename to code/ui/components/src/legacy/ErrorFormatter/ErrorFormatter.tsx diff --git a/code/ui/components/src/Loader/Loader.stories.tsx b/code/ui/components/src/legacy/Loader/Loader.stories.tsx similarity index 100% rename from code/ui/components/src/Loader/Loader.stories.tsx rename to code/ui/components/src/legacy/Loader/Loader.stories.tsx diff --git a/code/ui/components/src/Loader/Loader.tsx b/code/ui/components/src/legacy/Loader/Loader.tsx similarity index 100% rename from code/ui/components/src/Loader/Loader.tsx rename to code/ui/components/src/legacy/Loader/Loader.tsx diff --git a/code/ui/components/src/ScrollArea/GlobalScrollAreaStyles.tsx b/code/ui/components/src/legacy/ScrollArea/GlobalScrollAreaStyles.tsx similarity index 100% rename from code/ui/components/src/ScrollArea/GlobalScrollAreaStyles.tsx rename to code/ui/components/src/legacy/ScrollArea/GlobalScrollAreaStyles.tsx diff --git a/code/ui/components/src/ScrollArea/OverlayScrollbars.tsx b/code/ui/components/src/legacy/ScrollArea/OverlayScrollbars.tsx similarity index 100% rename from code/ui/components/src/ScrollArea/OverlayScrollbars.tsx rename to code/ui/components/src/legacy/ScrollArea/OverlayScrollbars.tsx diff --git a/code/ui/components/src/ScrollArea/ScrollArea.stories.tsx b/code/ui/components/src/legacy/ScrollArea/ScrollArea.stories.tsx similarity index 100% rename from code/ui/components/src/ScrollArea/ScrollArea.stories.tsx rename to code/ui/components/src/legacy/ScrollArea/ScrollArea.stories.tsx diff --git a/code/ui/components/src/ScrollArea/ScrollArea.tsx b/code/ui/components/src/legacy/ScrollArea/ScrollArea.tsx similarity index 100% rename from code/ui/components/src/ScrollArea/ScrollArea.tsx rename to code/ui/components/src/legacy/ScrollArea/ScrollArea.tsx diff --git a/code/ui/components/src/Zoom/Zoom.stories.tsx b/code/ui/components/src/legacy/Zoom/Zoom.stories.tsx similarity index 100% rename from code/ui/components/src/Zoom/Zoom.stories.tsx rename to code/ui/components/src/legacy/Zoom/Zoom.stories.tsx diff --git a/code/ui/components/src/Zoom/Zoom.tsx b/code/ui/components/src/legacy/Zoom/Zoom.tsx similarity index 100% rename from code/ui/components/src/Zoom/Zoom.tsx rename to code/ui/components/src/legacy/Zoom/Zoom.tsx diff --git a/code/ui/components/src/Zoom/ZoomElement.tsx b/code/ui/components/src/legacy/Zoom/ZoomElement.tsx similarity index 100% rename from code/ui/components/src/Zoom/ZoomElement.tsx rename to code/ui/components/src/legacy/Zoom/ZoomElement.tsx diff --git a/code/ui/components/src/Zoom/ZoomIFrame.tsx b/code/ui/components/src/legacy/Zoom/ZoomIFrame.tsx similarity index 100% rename from code/ui/components/src/Zoom/ZoomIFrame.tsx rename to code/ui/components/src/legacy/Zoom/ZoomIFrame.tsx diff --git a/code/ui/components/src/addon-panel/addon-panel.tsx b/code/ui/components/src/legacy/addon-panel/addon-panel.tsx similarity index 100% rename from code/ui/components/src/addon-panel/addon-panel.tsx rename to code/ui/components/src/legacy/addon-panel/addon-panel.tsx diff --git a/code/ui/components/src/bar/bar.tsx b/code/ui/components/src/legacy/bar/bar.tsx similarity index 100% rename from code/ui/components/src/bar/bar.tsx rename to code/ui/components/src/legacy/bar/bar.tsx diff --git a/code/ui/components/src/bar/button.stories.tsx b/code/ui/components/src/legacy/bar/button.stories.tsx similarity index 100% rename from code/ui/components/src/bar/button.stories.tsx rename to code/ui/components/src/legacy/bar/button.stories.tsx diff --git a/code/ui/components/src/bar/button.tsx b/code/ui/components/src/legacy/bar/button.tsx similarity index 100% rename from code/ui/components/src/bar/button.tsx rename to code/ui/components/src/legacy/bar/button.tsx diff --git a/code/ui/components/src/bar/separator.tsx b/code/ui/components/src/legacy/bar/separator.tsx similarity index 100% rename from code/ui/components/src/bar/separator.tsx rename to code/ui/components/src/legacy/bar/separator.tsx diff --git a/code/ui/components/src/brand/StorybookIcon.stories.tsx b/code/ui/components/src/legacy/brand/StorybookIcon.stories.tsx similarity index 100% rename from code/ui/components/src/brand/StorybookIcon.stories.tsx rename to code/ui/components/src/legacy/brand/StorybookIcon.stories.tsx diff --git a/code/ui/components/src/brand/StorybookIcon.tsx b/code/ui/components/src/legacy/brand/StorybookIcon.tsx similarity index 100% rename from code/ui/components/src/brand/StorybookIcon.tsx rename to code/ui/components/src/legacy/brand/StorybookIcon.tsx diff --git a/code/ui/components/src/brand/StorybookLogo.stories.tsx b/code/ui/components/src/legacy/brand/StorybookLogo.stories.tsx similarity index 100% rename from code/ui/components/src/brand/StorybookLogo.stories.tsx rename to code/ui/components/src/legacy/brand/StorybookLogo.stories.tsx diff --git a/code/ui/components/src/brand/StorybookLogo.tsx b/code/ui/components/src/legacy/brand/StorybookLogo.tsx similarity index 100% rename from code/ui/components/src/brand/StorybookLogo.tsx rename to code/ui/components/src/legacy/brand/StorybookLogo.tsx diff --git a/code/ui/components/src/clipboard/ClipboardCode.tsx b/code/ui/components/src/legacy/clipboard/ClipboardCode.tsx similarity index 100% rename from code/ui/components/src/clipboard/ClipboardCode.tsx rename to code/ui/components/src/legacy/clipboard/ClipboardCode.tsx diff --git a/code/ui/components/src/form/field/field.tsx b/code/ui/components/src/legacy/form/field/field.tsx similarity index 100% rename from code/ui/components/src/form/field/field.tsx rename to code/ui/components/src/legacy/form/field/field.tsx diff --git a/code/ui/components/src/form/form.stories.tsx b/code/ui/components/src/legacy/form/form.stories.tsx similarity index 100% rename from code/ui/components/src/form/form.stories.tsx rename to code/ui/components/src/legacy/form/form.stories.tsx diff --git a/code/ui/components/src/form/index.tsx b/code/ui/components/src/legacy/form/index.tsx similarity index 100% rename from code/ui/components/src/form/index.tsx rename to code/ui/components/src/legacy/form/index.tsx diff --git a/code/ui/components/src/form/input/input.tsx b/code/ui/components/src/legacy/form/input/input.tsx similarity index 98% rename from code/ui/components/src/form/input/input.tsx rename to code/ui/components/src/legacy/form/input/input.tsx index cc21c5447ad3..83d99e4d8a8d 100644 --- a/code/ui/components/src/form/input/input.tsx +++ b/code/ui/components/src/legacy/form/input/input.tsx @@ -32,6 +32,12 @@ const styles = ({ theme }: { theme: Theme }): CSSObject => ({ fontSize: theme.typography.size.s2 - 1, lineHeight: '20px', padding: '6px 10px', // 32 + boxSizing: 'border-box', + height: 32, + + '&[type="file"]': { + height: 'auto', + }, '&:focus': { boxShadow: `${theme.color.secondary} 0 0 0 1px inset`, diff --git a/code/ui/components/src/icon/icon.stories.tsx b/code/ui/components/src/legacy/icon/icon.stories.tsx similarity index 100% rename from code/ui/components/src/icon/icon.stories.tsx rename to code/ui/components/src/legacy/icon/icon.stories.tsx diff --git a/code/ui/components/src/icon/icon.tsx b/code/ui/components/src/legacy/icon/icon.tsx similarity index 100% rename from code/ui/components/src/icon/icon.tsx rename to code/ui/components/src/legacy/icon/icon.tsx diff --git a/code/ui/components/src/icon/icons.tsx b/code/ui/components/src/legacy/icon/icons.tsx similarity index 100% rename from code/ui/components/src/icon/icons.tsx rename to code/ui/components/src/legacy/icon/icons.tsx diff --git a/code/ui/components/src/icon/svg.tsx b/code/ui/components/src/legacy/icon/svg.tsx similarity index 100% rename from code/ui/components/src/icon/svg.tsx rename to code/ui/components/src/legacy/icon/svg.tsx diff --git a/code/ui/components/src/placeholder/placeholder.stories.tsx b/code/ui/components/src/legacy/placeholder/placeholder.stories.tsx similarity index 100% rename from code/ui/components/src/placeholder/placeholder.stories.tsx rename to code/ui/components/src/legacy/placeholder/placeholder.stories.tsx diff --git a/code/ui/components/src/placeholder/placeholder.tsx b/code/ui/components/src/legacy/placeholder/placeholder.tsx similarity index 100% rename from code/ui/components/src/placeholder/placeholder.tsx rename to code/ui/components/src/legacy/placeholder/placeholder.tsx diff --git a/code/ui/components/src/shared/animation.ts b/code/ui/components/src/legacy/shared/animation.ts similarity index 100% rename from code/ui/components/src/shared/animation.ts rename to code/ui/components/src/legacy/shared/animation.ts diff --git a/code/ui/components/src/spaced/Spaced.stories.tsx b/code/ui/components/src/legacy/spaced/Spaced.stories.tsx similarity index 100% rename from code/ui/components/src/spaced/Spaced.stories.tsx rename to code/ui/components/src/legacy/spaced/Spaced.stories.tsx diff --git a/code/ui/components/src/spaced/Spaced.tsx b/code/ui/components/src/legacy/spaced/Spaced.tsx similarity index 100% rename from code/ui/components/src/spaced/Spaced.tsx rename to code/ui/components/src/legacy/spaced/Spaced.tsx diff --git a/code/ui/components/src/syntaxhighlighter/formatter.test.ts b/code/ui/components/src/legacy/syntaxhighlighter/formatter.test.ts similarity index 100% rename from code/ui/components/src/syntaxhighlighter/formatter.test.ts rename to code/ui/components/src/legacy/syntaxhighlighter/formatter.test.ts diff --git a/code/ui/components/src/syntaxhighlighter/formatter.ts b/code/ui/components/src/legacy/syntaxhighlighter/formatter.ts similarity index 100% rename from code/ui/components/src/syntaxhighlighter/formatter.ts rename to code/ui/components/src/legacy/syntaxhighlighter/formatter.ts diff --git a/code/ui/components/src/syntaxhighlighter/lazy-syntaxhighlighter.tsx b/code/ui/components/src/legacy/syntaxhighlighter/lazy-syntaxhighlighter.tsx similarity index 100% rename from code/ui/components/src/syntaxhighlighter/lazy-syntaxhighlighter.tsx rename to code/ui/components/src/legacy/syntaxhighlighter/lazy-syntaxhighlighter.tsx diff --git a/code/ui/components/src/syntaxhighlighter/syntaxhighlighter-types.ts b/code/ui/components/src/legacy/syntaxhighlighter/syntaxhighlighter-types.ts similarity index 100% rename from code/ui/components/src/syntaxhighlighter/syntaxhighlighter-types.ts rename to code/ui/components/src/legacy/syntaxhighlighter/syntaxhighlighter-types.ts diff --git a/code/ui/components/src/syntaxhighlighter/syntaxhighlighter.stories.tsx b/code/ui/components/src/legacy/syntaxhighlighter/syntaxhighlighter.stories.tsx similarity index 100% rename from code/ui/components/src/syntaxhighlighter/syntaxhighlighter.stories.tsx rename to code/ui/components/src/legacy/syntaxhighlighter/syntaxhighlighter.stories.tsx diff --git a/code/ui/components/src/syntaxhighlighter/syntaxhighlighter.tsx b/code/ui/components/src/legacy/syntaxhighlighter/syntaxhighlighter.tsx similarity index 100% rename from code/ui/components/src/syntaxhighlighter/syntaxhighlighter.tsx rename to code/ui/components/src/legacy/syntaxhighlighter/syntaxhighlighter.tsx diff --git a/code/ui/components/src/legacy/tabs/tabs.helpers.tsx b/code/ui/components/src/legacy/tabs/tabs.helpers.tsx new file mode 100644 index 000000000000..024765fd5cf3 --- /dev/null +++ b/code/ui/components/src/legacy/tabs/tabs.helpers.tsx @@ -0,0 +1,52 @@ +import { styled } from '@storybook/theming'; +import type { FC, ReactChild, ReactElement, ReactNode } from 'react'; +import React, { Children } from 'react'; +import type { Addon_RenderOptions } from '@storybook/types'; +import type { TabsProps } from './tabs'; + +export interface VisuallyHiddenProps { + active?: boolean; +} + +export const VisuallyHidden = styled.div<VisuallyHiddenProps>(({ active }) => + active ? { display: 'block' } : { display: 'none' } +); + +export const childrenToList = (children: TabsProps['children']) => + Children.toArray(children).map( + ({ + props: { title, id, color, children: childrenOfChild }, + }: ReactElement<{ + children: FC<Addon_RenderOptions> | ReactChild | null; + title: ReactChild | null | FC; + id: string; + color?: string; + }>) => { + const content: FC<Addon_RenderOptions> | ReactNode = Array.isArray(childrenOfChild) + ? childrenOfChild[0] + : childrenOfChild; + + const render: FC<Addon_RenderOptions> = ( + typeof content === 'function' + ? content + : ({ active, key }: any) => ( + <VisuallyHidden key={key} active={active} role="tabpanel"> + {content} + </VisuallyHidden> + ) + ) as FC<Addon_RenderOptions>; + return { + title, + id, + ...(color ? { color } : {}), + render, + }; + } + ); + +export type ChildrenList = ReturnType<typeof childrenToList>; +export type ChildrenListComplete = Array< + ReturnType<typeof childrenToList>[0] & { + active: boolean; + } +>; diff --git a/code/ui/components/src/tabs/tabs.hooks.tsx b/code/ui/components/src/legacy/tabs/tabs.hooks.tsx similarity index 95% rename from code/ui/components/src/tabs/tabs.hooks.tsx rename to code/ui/components/src/legacy/tabs/tabs.hooks.tsx index 41df6e93f44f..0afb81ea9186 100644 --- a/code/ui/components/src/tabs/tabs.hooks.tsx +++ b/code/ui/components/src/legacy/tabs/tabs.hooks.tsx @@ -5,7 +5,7 @@ import useResizeObserver from 'use-resize-observer'; import { TabButton } from '../bar/button'; import { TooltipLinkList } from '../tooltip/TooltipLinkList'; import { WithTooltip } from '../tooltip/WithTooltip'; -import type { ChildrenList } from './tabs.helpers'; +import type { ChildrenListComplete } from './tabs.helpers'; import type { Link } from '../tooltip/TooltipLinkList'; const CollapseIcon = styled.span<{ isActive: boolean }>(({ theme, isActive }) => ({ @@ -32,7 +32,7 @@ const AddonButton = styled(TabButton)<{ preActive: boolean }>(({ active, theme, `; }); -export function useList(list: ChildrenList) { +export function useList(list: ChildrenListComplete) { const tabBarRef = useRef<HTMLDivElement>(); const addonsRef = useRef<HTMLButtonElement>(); const tabRefs = useRef(new Map<string, HTMLButtonElement>()); @@ -41,8 +41,8 @@ export function useList(list: ChildrenList) { }); const [visibleList, setVisibleList] = useState(list); - const [invisibleList, setInvisibleList] = useState<ChildrenList>([]); - const previousList = useRef<ChildrenList>(list); + const [invisibleList, setInvisibleList] = useState<ChildrenListComplete>([]); + const previousList = useRef<ChildrenListComplete>(list); const AddonTab = useCallback( ({ @@ -134,7 +134,7 @@ export function useList(list: ChildrenList) { const { width: widthAddonsTab } = addonsRef.current.getBoundingClientRect(); const rightBorder = invisibleList.length ? x + width - widthAddonsTab : x + width; - const newVisibleList: ChildrenList = []; + const newVisibleList: ChildrenListComplete = []; let widthSum = 0; diff --git a/code/ui/components/src/tabs/tabs.stories.tsx b/code/ui/components/src/legacy/tabs/tabs.stories.tsx similarity index 82% rename from code/ui/components/src/tabs/tabs.stories.tsx rename to code/ui/components/src/legacy/tabs/tabs.stories.tsx index 7a9abdb24130..77d357acf0b9 100644 --- a/code/ui/components/src/tabs/tabs.stories.tsx +++ b/code/ui/components/src/legacy/tabs/tabs.stories.tsx @@ -1,18 +1,19 @@ import { expect } from '@storybook/jest'; -import type { Key } from 'react'; import React, { Fragment } from 'react'; import { action } from '@storybook/addon-actions'; -import { logger } from '@storybook/client-logger'; import type { Meta, StoryObj } from '@storybook/react'; import { within, fireEvent, waitFor, screen, - getByText, userEvent, + findByText, } from '@storybook/testing-library'; import { Tabs, TabsState, TabWrapper } from './tabs'; +import type { ChildrenList } from './tabs.helpers'; +import { IconButton } from '../bar/button'; +import { Icons } from '../icon/icon'; const colours = Array.from(new Array(15), (val, index) => index).map((i) => Math.floor((1 / 15) * i * 16777215) @@ -41,13 +42,7 @@ function fibonacci(num: number, memo?: FibonacciMap): number { /* eslint-enable no-param-reassign */ } -interface Panels { - [key: string]: { - title: string; - color?: string; - render: ({ active, key }: { active: boolean; key: Key }) => JSX.Element; - }; -} +type Panels = Record<string, Omit<ChildrenList[0], 'id'>>; const panels: Panels = { test1: { @@ -121,27 +116,13 @@ const panels: Panels = { const onSelect = action('onSelect'); const content = Object.entries(panels).map(([k, v]) => ( - <div key={k} id={k} title={v.title}> + <div key={k} id={k} title={v.title as any}> {v.render} </div> )); export default { title: 'Tabs', - decorators: [ - (story) => ( - <div - style={{ - position: 'relative', - height: 'calc(100vh - 20px)', - width: 'calc(100vw - 20px)', - margin: 10, - }} - > - {story()} - </div> - ), - ], args: { menuName: 'Addons', }, @@ -199,11 +180,11 @@ export const StatefulStaticWithSetBackgroundColor = { } satisfies Story; const customViewports = { - chromatic: { - name: 'Chromatic', + sized: { + name: 'Sized', styles: { width: '380px', - height: '963px', + height: '500px', }, }, }; @@ -211,9 +192,10 @@ const customViewports = { export const StatefulDynamicWithOpenTooltip = { parameters: { viewport: { - defaultViewport: 'chromatic', + defaultViewport: 'sized', viewports: customViewports, }, + theme: 'light', chromatic: { viewports: [380] }, }, play: async ({ canvasElement }) => { @@ -224,9 +206,8 @@ export const StatefulDynamicWithOpenTooltip = { await expect(canvas.getByRole('tab', { name: /Addons/ })).toBeInTheDocument(); }); - const addonsTab = await canvas.findByRole('tab', { name: /Addons/ }); - await waitFor(async () => { + const addonsTab = await canvas.findByRole('tab', { name: /Addons/ }); const tooltip = await screen.queryByTestId('tooltip'); if (!tooltip) { @@ -236,14 +217,14 @@ export const StatefulDynamicWithOpenTooltip = { if (!tooltip) { throw new Error('Tooltip not found'); } - }); - expect(screen.queryByTestId('tooltip')).toBeInTheDocument(); + await expect(screen.queryByTestId('tooltip')).toBeInTheDocument(); + }); }, render: (args) => ( <TabsState initial="test1" {...args}> {Object.entries(panels).map(([k, v]) => ( - <div key={k} id={k} title={v.title}> + <div key={k} id={k} title={v.title as any}> {v.render} </div> ))} @@ -252,20 +233,18 @@ export const StatefulDynamicWithOpenTooltip = { } satisfies Story; export const StatefulDynamicWithSelectedAddon = { - parameters: { - viewport: { - defaultViewport: 'chromatic', - viewports: customViewports, - }, - chromatic: { viewports: [380] }, - }, + ...StatefulDynamicWithOpenTooltip, play: async (context) => { await StatefulDynamicWithOpenTooltip.play(context); + const canvas = within(context.canvasElement); - const popperContainer = screen.getByTestId('tooltip'); - const tab4 = getByText(popperContainer, 'Tab title #4', {}); - fireEvent(tab4, new MouseEvent('click', { bubbles: true })); - await waitFor(() => screen.getByText('CONTENT 4')); + await waitFor(async () => { + const popperContainer = await screen.findByTestId('tooltip'); + const tab4 = await findByText(popperContainer, 'Tab title #4', {}); + fireEvent(tab4, new MouseEvent('click', { bubbles: true })); + const content4 = await canvas.findByText('CONTENT 4'); + await expect(content4).toBeVisible(); + }); // reopen the tooltip await StatefulDynamicWithOpenTooltip.play(context); @@ -273,7 +252,7 @@ export const StatefulDynamicWithSelectedAddon = { render: (args) => ( <TabsState initial="test1" {...args}> {Object.entries(panels).map(([k, v]) => ( - <div key={k} id={k} title={v.title}> + <div key={k} id={k} title={v.title as any}> {v.render} </div> ))} @@ -305,6 +284,7 @@ export const StatelessBordered = { export const StatelessWithTools = { render: (args) => ( <Tabs + bordered selected="test3" menuName="Addons" actions={{ @@ -312,12 +292,12 @@ export const StatelessWithTools = { }} tools={ <Fragment> - <button type="button" onClick={() => logger.log('1')}> - 1 - </button> - <button type="button" onClick={() => logger.log('2')}> - 2 - </button> + <IconButton title="Tool 1"> + <Icons icon="memory" /> + </IconButton> + <IconButton title="Tool 2"> + <Icons icon="cpu" /> + </IconButton> </Fragment> } {...args} @@ -328,6 +308,9 @@ export const StatelessWithTools = { } satisfies Story; export const StatelessAbsolute = { + parameters: { + layout: 'fullscreen', + }, render: (args) => ( <Tabs absolute @@ -344,6 +327,9 @@ export const StatelessAbsolute = { } satisfies Story; export const StatelessAbsoluteBordered = { + parameters: { + layout: 'fullscreen', + }, render: (args) => ( <Tabs absolute @@ -361,6 +347,9 @@ export const StatelessAbsoluteBordered = { } satisfies Story; export const StatelessEmpty = { + parameters: { + layout: 'fullscreen', + }, render: (args) => ( <Tabs actions={{ diff --git a/code/ui/components/src/tabs/tabs.tsx b/code/ui/components/src/legacy/tabs/tabs.tsx similarity index 89% rename from code/ui/components/src/tabs/tabs.tsx rename to code/ui/components/src/legacy/tabs/tabs.tsx index 454a92376d83..c8a18bf29c06 100644 --- a/code/ui/components/src/tabs/tabs.tsx +++ b/code/ui/components/src/legacy/tabs/tabs.tsx @@ -1,12 +1,12 @@ -import type { FC, MouseEvent, ReactNode } from 'react'; +import type { FC, MouseEvent, ReactElement, ReactNode } from 'react'; import React, { useMemo, Component, Fragment, memo } from 'react'; import { styled } from '@storybook/theming'; import { sanitize } from '@storybook/csf'; +import type { Addon_RenderOptions } from '@storybook/types'; import { Placeholder } from '../placeholder/placeholder'; import { TabButton } from '../bar/button'; import { FlexBar } from '../bar/bar'; -import type { ChildrenList } from './tabs.helpers'; import { childrenToList, VisuallyHidden } from './tabs.helpers'; import { useList } from './tabs.hooks'; @@ -113,7 +113,10 @@ export const TabWrapper: FC<TabWrapperProps> = ({ active, render, children }) => export const panelProps = {}; export interface TabsProps { - children?: FuncChildren[] | ReactNode; + children?: ReactElement<{ + children: FC<Addon_RenderOptions>; + title: ReactNode | FC; + }>[]; id?: string; tools?: ReactNode; selected?: string; @@ -138,9 +141,14 @@ export const Tabs: FC<TabsProps> = memo( id: htmlId, menuName, }) => { - const list = useMemo<ChildrenList>( - () => childrenToList(children, selected), - [children, selected] + const idList = childrenToList(children).map((i) => i.id); + const list = useMemo( + () => + childrenToList(children).map((i, index) => ({ + ...i, + active: selected ? i.id === selected : index === 0, + })), + [selected, ...idList] ); const { visibleList, tabBarRef, tabRefs, AddonTab } = useList(list); @@ -169,7 +177,7 @@ export const Tabs: FC<TabsProps> = memo( }} role="tab" > - {title} + {typeof title === 'function' ? <title /> : title} </TabButton> ); })} @@ -178,7 +186,9 @@ export const Tabs: FC<TabsProps> = memo( {tools} </FlexBar> <Content id="panel-tab-content" bordered={bordered} absolute={absolute}> - {list.map(({ id, active, render }) => render({ key: id, active }))} + {list.map(({ id, active, render }) => { + return React.createElement(render, { key: id, active }, null); + })} </Content> </Wrapper> ) : ( @@ -199,10 +209,8 @@ Tabs.defaultProps = { menuName: 'Tabs', }; -type FuncChildren = ({ active }: { active: boolean }) => JSX.Element; - export interface TabsStateProps { - children: FuncChildren[] | ReactNode; + children: TabsProps['children']; initial: string; absolute: boolean; bordered: boolean; diff --git a/code/ui/components/src/tooltip/ListItem.stories.tsx b/code/ui/components/src/legacy/tooltip/ListItem.stories.tsx similarity index 100% rename from code/ui/components/src/tooltip/ListItem.stories.tsx rename to code/ui/components/src/legacy/tooltip/ListItem.stories.tsx diff --git a/code/ui/components/src/tooltip/ListItem.tsx b/code/ui/components/src/legacy/tooltip/ListItem.tsx similarity index 100% rename from code/ui/components/src/tooltip/ListItem.tsx rename to code/ui/components/src/legacy/tooltip/ListItem.tsx diff --git a/code/ui/components/src/tooltip/Tooltip.stories.tsx b/code/ui/components/src/legacy/tooltip/Tooltip.stories.tsx similarity index 100% rename from code/ui/components/src/tooltip/Tooltip.stories.tsx rename to code/ui/components/src/legacy/tooltip/Tooltip.stories.tsx diff --git a/code/ui/components/src/tooltip/Tooltip.tsx b/code/ui/components/src/legacy/tooltip/Tooltip.tsx similarity index 100% rename from code/ui/components/src/tooltip/Tooltip.tsx rename to code/ui/components/src/legacy/tooltip/Tooltip.tsx diff --git a/code/ui/components/src/tooltip/TooltipLinkList.stories.tsx b/code/ui/components/src/legacy/tooltip/TooltipLinkList.stories.tsx similarity index 100% rename from code/ui/components/src/tooltip/TooltipLinkList.stories.tsx rename to code/ui/components/src/legacy/tooltip/TooltipLinkList.stories.tsx diff --git a/code/ui/components/src/tooltip/TooltipLinkList.tsx b/code/ui/components/src/legacy/tooltip/TooltipLinkList.tsx similarity index 100% rename from code/ui/components/src/tooltip/TooltipLinkList.tsx rename to code/ui/components/src/legacy/tooltip/TooltipLinkList.tsx diff --git a/code/ui/components/src/tooltip/TooltipMessage.stories.tsx b/code/ui/components/src/legacy/tooltip/TooltipMessage.stories.tsx similarity index 100% rename from code/ui/components/src/tooltip/TooltipMessage.stories.tsx rename to code/ui/components/src/legacy/tooltip/TooltipMessage.stories.tsx diff --git a/code/ui/components/src/tooltip/TooltipMessage.tsx b/code/ui/components/src/legacy/tooltip/TooltipMessage.tsx similarity index 100% rename from code/ui/components/src/tooltip/TooltipMessage.tsx rename to code/ui/components/src/legacy/tooltip/TooltipMessage.tsx diff --git a/code/ui/components/src/tooltip/TooltipNote.stories.tsx b/code/ui/components/src/legacy/tooltip/TooltipNote.stories.tsx similarity index 100% rename from code/ui/components/src/tooltip/TooltipNote.stories.tsx rename to code/ui/components/src/legacy/tooltip/TooltipNote.stories.tsx diff --git a/code/ui/components/src/tooltip/TooltipNote.tsx b/code/ui/components/src/legacy/tooltip/TooltipNote.tsx similarity index 100% rename from code/ui/components/src/tooltip/TooltipNote.tsx rename to code/ui/components/src/legacy/tooltip/TooltipNote.tsx diff --git a/code/ui/components/src/tooltip/WithTooltip.stories.tsx b/code/ui/components/src/legacy/tooltip/WithTooltip.stories.tsx similarity index 100% rename from code/ui/components/src/tooltip/WithTooltip.stories.tsx rename to code/ui/components/src/legacy/tooltip/WithTooltip.stories.tsx diff --git a/code/ui/components/src/tooltip/WithTooltip.tsx b/code/ui/components/src/legacy/tooltip/WithTooltip.tsx similarity index 100% rename from code/ui/components/src/tooltip/WithTooltip.tsx rename to code/ui/components/src/legacy/tooltip/WithTooltip.tsx diff --git a/code/ui/components/src/tooltip/assets/ellipse.png b/code/ui/components/src/legacy/tooltip/assets/ellipse.png similarity index 100% rename from code/ui/components/src/tooltip/assets/ellipse.png rename to code/ui/components/src/legacy/tooltip/assets/ellipse.png diff --git a/code/ui/components/src/tooltip/lazy-WithTooltip.tsx b/code/ui/components/src/legacy/tooltip/lazy-WithTooltip.tsx similarity index 100% rename from code/ui/components/src/tooltip/lazy-WithTooltip.tsx rename to code/ui/components/src/legacy/tooltip/lazy-WithTooltip.tsx diff --git a/code/ui/components/src/typography/DocumentFormatting.tsx b/code/ui/components/src/legacy/typography/DocumentFormatting.tsx similarity index 100% rename from code/ui/components/src/typography/DocumentFormatting.tsx rename to code/ui/components/src/legacy/typography/DocumentFormatting.tsx diff --git a/code/ui/components/src/typography/DocumentFormattingSample.mdx b/code/ui/components/src/legacy/typography/DocumentFormattingSample.mdx similarity index 100% rename from code/ui/components/src/typography/DocumentFormattingSample.mdx rename to code/ui/components/src/legacy/typography/DocumentFormattingSample.mdx diff --git a/code/ui/components/src/typography/DocumentWrapper.stories.tsx b/code/ui/components/src/legacy/typography/DocumentWrapper.stories.tsx similarity index 100% rename from code/ui/components/src/typography/DocumentWrapper.stories.tsx rename to code/ui/components/src/legacy/typography/DocumentWrapper.stories.tsx diff --git a/code/ui/components/src/typography/DocumentWrapper.tsx b/code/ui/components/src/legacy/typography/DocumentWrapper.tsx similarity index 100% rename from code/ui/components/src/typography/DocumentWrapper.tsx rename to code/ui/components/src/legacy/typography/DocumentWrapper.tsx diff --git a/code/ui/components/src/typography/ResetWrapper.tsx b/code/ui/components/src/legacy/typography/ResetWrapper.tsx similarity index 100% rename from code/ui/components/src/typography/ResetWrapper.tsx rename to code/ui/components/src/legacy/typography/ResetWrapper.tsx diff --git a/code/ui/components/src/typography/components.tsx b/code/ui/components/src/legacy/typography/components.tsx similarity index 100% rename from code/ui/components/src/typography/components.tsx rename to code/ui/components/src/legacy/typography/components.tsx diff --git a/code/ui/components/src/typography/elements/A.tsx b/code/ui/components/src/legacy/typography/elements/A.tsx similarity index 100% rename from code/ui/components/src/typography/elements/A.tsx rename to code/ui/components/src/legacy/typography/elements/A.tsx diff --git a/code/ui/components/src/typography/elements/Blockquote.tsx b/code/ui/components/src/legacy/typography/elements/Blockquote.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Blockquote.tsx rename to code/ui/components/src/legacy/typography/elements/Blockquote.tsx diff --git a/code/ui/components/src/typography/elements/Code.tsx b/code/ui/components/src/legacy/typography/elements/Code.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Code.tsx rename to code/ui/components/src/legacy/typography/elements/Code.tsx diff --git a/code/ui/components/src/typography/elements/DL.tsx b/code/ui/components/src/legacy/typography/elements/DL.tsx similarity index 100% rename from code/ui/components/src/typography/elements/DL.tsx rename to code/ui/components/src/legacy/typography/elements/DL.tsx diff --git a/code/ui/components/src/typography/elements/Div.tsx b/code/ui/components/src/legacy/typography/elements/Div.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Div.tsx rename to code/ui/components/src/legacy/typography/elements/Div.tsx diff --git a/code/ui/components/src/typography/elements/H1.tsx b/code/ui/components/src/legacy/typography/elements/H1.tsx similarity index 100% rename from code/ui/components/src/typography/elements/H1.tsx rename to code/ui/components/src/legacy/typography/elements/H1.tsx diff --git a/code/ui/components/src/typography/elements/H2.tsx b/code/ui/components/src/legacy/typography/elements/H2.tsx similarity index 100% rename from code/ui/components/src/typography/elements/H2.tsx rename to code/ui/components/src/legacy/typography/elements/H2.tsx diff --git a/code/ui/components/src/typography/elements/H3.tsx b/code/ui/components/src/legacy/typography/elements/H3.tsx similarity index 100% rename from code/ui/components/src/typography/elements/H3.tsx rename to code/ui/components/src/legacy/typography/elements/H3.tsx diff --git a/code/ui/components/src/typography/elements/H4.tsx b/code/ui/components/src/legacy/typography/elements/H4.tsx similarity index 100% rename from code/ui/components/src/typography/elements/H4.tsx rename to code/ui/components/src/legacy/typography/elements/H4.tsx diff --git a/code/ui/components/src/typography/elements/H5.tsx b/code/ui/components/src/legacy/typography/elements/H5.tsx similarity index 100% rename from code/ui/components/src/typography/elements/H5.tsx rename to code/ui/components/src/legacy/typography/elements/H5.tsx diff --git a/code/ui/components/src/typography/elements/H6.tsx b/code/ui/components/src/legacy/typography/elements/H6.tsx similarity index 100% rename from code/ui/components/src/typography/elements/H6.tsx rename to code/ui/components/src/legacy/typography/elements/H6.tsx diff --git a/code/ui/components/src/typography/elements/HR.tsx b/code/ui/components/src/legacy/typography/elements/HR.tsx similarity index 100% rename from code/ui/components/src/typography/elements/HR.tsx rename to code/ui/components/src/legacy/typography/elements/HR.tsx diff --git a/code/ui/components/src/typography/elements/Img.tsx b/code/ui/components/src/legacy/typography/elements/Img.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Img.tsx rename to code/ui/components/src/legacy/typography/elements/Img.tsx diff --git a/code/ui/components/src/typography/elements/LI.tsx b/code/ui/components/src/legacy/typography/elements/LI.tsx similarity index 100% rename from code/ui/components/src/typography/elements/LI.tsx rename to code/ui/components/src/legacy/typography/elements/LI.tsx diff --git a/code/ui/components/src/typography/elements/Link.tsx b/code/ui/components/src/legacy/typography/elements/Link.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Link.tsx rename to code/ui/components/src/legacy/typography/elements/Link.tsx diff --git a/code/ui/components/src/typography/elements/OL.tsx b/code/ui/components/src/legacy/typography/elements/OL.tsx similarity index 100% rename from code/ui/components/src/typography/elements/OL.tsx rename to code/ui/components/src/legacy/typography/elements/OL.tsx diff --git a/code/ui/components/src/typography/elements/P.tsx b/code/ui/components/src/legacy/typography/elements/P.tsx similarity index 100% rename from code/ui/components/src/typography/elements/P.tsx rename to code/ui/components/src/legacy/typography/elements/P.tsx diff --git a/code/ui/components/src/typography/elements/Pre.tsx b/code/ui/components/src/legacy/typography/elements/Pre.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Pre.tsx rename to code/ui/components/src/legacy/typography/elements/Pre.tsx diff --git a/code/ui/components/src/typography/elements/Span.tsx b/code/ui/components/src/legacy/typography/elements/Span.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Span.tsx rename to code/ui/components/src/legacy/typography/elements/Span.tsx diff --git a/code/ui/components/src/typography/elements/TT.tsx b/code/ui/components/src/legacy/typography/elements/TT.tsx similarity index 100% rename from code/ui/components/src/typography/elements/TT.tsx rename to code/ui/components/src/legacy/typography/elements/TT.tsx diff --git a/code/ui/components/src/typography/elements/Table.tsx b/code/ui/components/src/legacy/typography/elements/Table.tsx similarity index 100% rename from code/ui/components/src/typography/elements/Table.tsx rename to code/ui/components/src/legacy/typography/elements/Table.tsx diff --git a/code/ui/components/src/typography/elements/UL.tsx b/code/ui/components/src/legacy/typography/elements/UL.tsx similarity index 100% rename from code/ui/components/src/typography/elements/UL.tsx rename to code/ui/components/src/legacy/typography/elements/UL.tsx diff --git a/code/ui/components/src/typography/lib/common.tsx b/code/ui/components/src/legacy/typography/lib/common.tsx similarity index 100% rename from code/ui/components/src/typography/lib/common.tsx rename to code/ui/components/src/legacy/typography/lib/common.tsx diff --git a/code/ui/components/src/typography/lib/isReactChildString.tsx b/code/ui/components/src/legacy/typography/lib/isReactChildString.tsx similarity index 100% rename from code/ui/components/src/typography/lib/isReactChildString.tsx rename to code/ui/components/src/legacy/typography/lib/isReactChildString.tsx diff --git a/code/ui/components/src/typography/link/link.stories.tsx b/code/ui/components/src/legacy/typography/link/link.stories.tsx similarity index 100% rename from code/ui/components/src/typography/link/link.stories.tsx rename to code/ui/components/src/legacy/typography/link/link.stories.tsx diff --git a/code/ui/components/src/typography/link/link.test.tsx b/code/ui/components/src/legacy/typography/link/link.test.tsx similarity index 100% rename from code/ui/components/src/typography/link/link.test.tsx rename to code/ui/components/src/legacy/typography/link/link.test.tsx diff --git a/code/ui/components/src/typography/link/link.tsx b/code/ui/components/src/legacy/typography/link/link.tsx similarity index 100% rename from code/ui/components/src/typography/link/link.tsx rename to code/ui/components/src/legacy/typography/link/link.tsx diff --git a/code/ui/components/src/typography/typography.stories.mdx b/code/ui/components/src/legacy/typography/typography.stories.mdx similarity index 100% rename from code/ui/components/src/typography/typography.stories.mdx rename to code/ui/components/src/legacy/typography/typography.stories.mdx diff --git a/code/ui/components/src/utils/getStoryHref.ts b/code/ui/components/src/legacy/utils/getStoryHref.ts similarity index 100% rename from code/ui/components/src/utils/getStoryHref.ts rename to code/ui/components/src/legacy/utils/getStoryHref.ts diff --git a/code/ui/components/src/new/Button/Button.stories.tsx b/code/ui/components/src/new/Button/Button.stories.tsx new file mode 100644 index 000000000000..9366f5af32fa --- /dev/null +++ b/code/ui/components/src/new/Button/Button.stories.tsx @@ -0,0 +1,175 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import React from 'react'; + +import { Button } from './Button'; + +const meta: Meta<typeof Button> = { + title: 'Button', + component: Button, + tags: ['autodocs'], +}; + +export default meta; +type Story = StoryObj<typeof Button>; + +export const Base = { + args: { children: 'Button' }, +}; + +const Icon = () => ( + <svg + xmlns="http://www.w3.org/2000/svg" + width={14} + height={14} + viewBox="0 0 14 14" + fill="currentColor" + > + <path d="M3.97 8.75a.5.5 0 0 0-.87.5 4.5 4.5 0 0 0 7.8 0 .5.5 0 1 0-.87-.5 3.5 3.5 0 0 1-6.06 0ZM5.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9.5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" /> + <path + fillRule="evenodd" + d="M14 7A7 7 0 1 1 0 7a7 7 0 0 1 14 0Zm-1 0A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" + /> + </svg> +); + +export const Types: Story = { + render: () => ( + <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> + <Button variant="primary">Primary</Button> + <Button variant="secondary">Secondary</Button> + <Button variant="tertiary">Tertiary</Button> + </div> + ), +}; + +export const Active: Story = { + render: () => ( + <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> + <Button variant="primary" active> + Primary + </Button> + <Button variant="secondary" active> + Secondary + </Button> + <Button variant="tertiary" active> + Tertiary + </Button> + </div> + ), +}; + +export const WithIcon: Story = { + render: () => ( + <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> + <Button variant="primary" icon={<Icon />}> + Primary + </Button> + <Button variant="secondary" icon={<Icon />}> + Secondary + </Button> + <Button variant="tertiary" icon={<Icon />}> + Tertiary + </Button> + </div> + ), +}; + +export const Sizes: Story = { + render: () => ( + <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> + <Button size="small" icon={<Icon />}> + Small Button + </Button> + <Button size="small" icon={<Icon />} iconOnly> + Small Button + </Button> + <Button size="medium" icon={<Icon />}> + Medium Button + </Button> + <Button size="medium" icon={<Icon />} iconOnly> + Medium Button + </Button> + </div> + ), +}; + +export const IconOnly: Story = { + parameters: { + docs: { + description: { + story: 'This is a story that shows how to use the `iconOnly` prop.', + }, + source: { + type: 'dynamic', + }, + }, + }, + render: () => ( + <> + <Button size="small" variant="primary" iconOnly icon={<Icon />}> + Primary + </Button> + <Button size="small" variant="secondary" iconOnly icon={<Icon />}> + Secondary + </Button> + <Button size="small" variant="tertiary" iconOnly icon={<Icon />}> + Tertiary + </Button> + <Button size="medium" variant="primary" iconOnly icon={<Icon />}> + Primary + </Button> + <Button size="medium" variant="secondary" iconOnly icon={<Icon />}> + Secondary + </Button> + <Button size="medium" variant="tertiary" iconOnly icon={<Icon />}> + Tertiary + </Button> + </> + ), + decorators: [ + (Story) => <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}>{Story()}</div>, + ], +}; + +export const IconOnlyActive: Story = { + render: () => ( + <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> + <Button size="small" variant="primary" iconOnly icon={<Icon />} active> + Primary + </Button> + <Button size="small" variant="secondary" iconOnly icon={<Icon />} active> + Secondary + </Button> + <Button size="small" variant="tertiary" iconOnly icon={<Icon />} active> + Tertiary + </Button> + <Button size="medium" variant="primary" iconOnly icon={<Icon />} active> + Primary + </Button> + <Button size="medium" variant="secondary" iconOnly icon={<Icon />} active> + Secondary + </Button> + <Button size="medium" variant="tertiary" iconOnly icon={<Icon />} active> + Tertiary + </Button> + </div> + ), +}; + +export const Disabled: Story = { + args: { + disabled: true, + children: 'Disabled Button', + }, +}; + +export const WithHref: Story = { + render: () => ( + <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> + <Button onClick={() => console.log('Hello')}>I am a button using onClick</Button> + <Button as="a" href="https://storybook.js.org/"> + I am an anchor using Href + </Button> + </div> + ), +}; diff --git a/code/ui/components/src/new/Button/Button.tsx b/code/ui/components/src/new/Button/Button.tsx new file mode 100644 index 000000000000..a769bdf079e2 --- /dev/null +++ b/code/ui/components/src/new/Button/Button.tsx @@ -0,0 +1,123 @@ +import type { ReactNode } from 'react'; +import React, { forwardRef } from 'react'; +import { styled } from '@storybook/theming'; +import { darken, lighten, rgba, transparentize } from 'polished'; +import type { PropsOf } from '../utils/types'; + +export interface ButtonProps<T extends React.ElementType = React.ElementType> { + as?: T; + children: string; + size?: 'small' | 'medium'; + variant?: 'primary' | 'secondary' | 'tertiary'; + icon?: ReactNode; + iconOnly?: boolean; + onClick?: () => void; + disabled?: boolean; + active?: boolean; +} + +export const Button: { + <E extends React.ElementType = 'button'>( + props: ButtonProps<E> & Omit<PropsOf<E>, keyof ButtonProps> + ): JSX.Element; + displayName?: string; +} = forwardRef( + ({ as, children, icon, ...props }: ButtonProps, ref: React.Ref<HTMLButtonElement>) => { + return ( + <StyledButton as={as} ref={ref} {...props}> + {icon} + {!props.iconOnly && children} + </StyledButton> + ); + } +); + +Button.displayName = 'Button'; + +const StyledButton = styled.button<Omit<ButtonProps, 'children'>>( + ({ + theme, + variant = 'primary', + size = 'medium', + disabled = false, + active = false, + iconOnly = false, + }) => ({ + border: 0, + cursor: disabled ? 'not-allowed' : 'pointer', + display: 'inline-flex', + gap: '6px', + alignItems: 'center', + justifyContent: 'center', + overflow: 'hidden', + padding: `${(() => { + if (!iconOnly && size === 'small') return '0 10px'; + if (!iconOnly && size === 'medium') return '0 12px'; + return 0; + })()}`, + width: `${(() => { + if (iconOnly && size === 'small') return '28px'; + if (iconOnly && size === 'medium') return '32px'; + return 'auto'; + })()}`, + height: size === 'small' ? '28px' : '32px', + position: 'relative', + textAlign: 'center', + textDecoration: 'none', + transitionProperty: 'background, box-shadow', + transitionDuration: '150ms', + transitionTimingFunction: 'ease-out', + verticalAlign: 'top', + whiteSpace: 'nowrap', + userSelect: 'none', + opacity: disabled ? 0.5 : 1, + margin: 0, + fontSize: `${theme.typography.size.s1}px`, + fontWeight: theme.typography.weight.bold, + lineHeight: '1', + background: `${(() => { + if (variant === 'primary') return theme.color.secondary; + if (variant === 'secondary') return theme.button.background; + if (variant === 'tertiary' && active) return theme.background.hoverable; + return 'transparent'; + })()}`, + color: `${(() => { + if (variant === 'primary') return theme.color.lightest; + if (variant === 'secondary') return theme.input.color; + if (variant === 'tertiary' && active) return theme.color.secondary; + if (variant === 'tertiary') return theme.color.mediumdark; + return theme.input.color; + })()}`, + boxShadow: variant === 'secondary' ? `${theme.button.border} 0 0 0 1px inset` : 'none', + borderRadius: theme.input.borderRadius, + + '&:hover': { + color: variant === 'tertiary' ? theme.color.secondary : null, + background: `${(() => { + let bgColor = theme.color.secondary; + if (variant === 'primary') bgColor = theme.color.secondary; + if (variant === 'secondary') bgColor = theme.button.background; + + if (variant === 'tertiary') return transparentize(0.86, theme.color.secondary); + return theme.base === 'light' ? darken(0.02, bgColor) : lighten(0.03, bgColor); + })()}`, + }, + + '&:active': { + color: variant === 'tertiary' ? theme.color.secondary : null, + background: `${(() => { + let bgColor = theme.color.secondary; + if (variant === 'primary') bgColor = theme.color.secondary; + if (variant === 'secondary') bgColor = theme.button.background; + + if (variant === 'tertiary') return theme.background.hoverable; + return theme.base === 'light' ? darken(0.02, bgColor) : lighten(0.03, bgColor); + })()}`, + }, + + '&:focus': { + boxShadow: `${rgba(theme.color.secondary, 1)} 0 0 0 1px inset`, + outline: 'none', + }, + }) +); diff --git a/code/ui/components/src/new/Input/Input.stories.tsx b/code/ui/components/src/new/Input/Input.stories.tsx new file mode 100644 index 000000000000..8130f39aa72d --- /dev/null +++ b/code/ui/components/src/new/Input/Input.stories.tsx @@ -0,0 +1,32 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { Input } from './Input'; + +const meta: Meta<typeof Input> = { + title: 'Input', + component: Input, + tags: ['autodocs'], +}; + +export default meta; +type Story = StoryObj<typeof Input>; + +export const Base: Story = { + args: { + placeholder: 'Hello World', + }, +}; + +export const Filled: Story = { + args: { + ...Base.args, + value: 'Hello World', + }, +}; + +export const Disabled: Story = { + args: { + ...Base.args, + disabled: true, + }, +}; diff --git a/code/ui/components/src/new/Input/Input.tsx b/code/ui/components/src/new/Input/Input.tsx new file mode 100644 index 000000000000..da10006c960e --- /dev/null +++ b/code/ui/components/src/new/Input/Input.tsx @@ -0,0 +1,55 @@ +import React, { forwardRef } from 'react'; +import { styled } from '@storybook/theming'; + +interface InputProps { + disabled?: boolean; + placeholder?: string; + value?: string; +} + +export const Input = forwardRef<HTMLInputElement, InputProps>(({ ...props }, ref) => { + return <StyledInput ref={ref} {...props} />; +}); + +Input.displayName = 'Input'; + +const StyledInput = styled.input(({ theme }) => ({ + // resets + appearance: 'none', + border: '0 none', + display: 'block', + margin: ' 0', + position: 'relative', + + // styles + width: '100%', + height: '32px', + transition: 'box-shadow 200ms ease-out, opacity 200ms ease-out', + color: theme.input.color, + background: theme.input.background, + boxShadow: `${theme.input.border} 0 0 0 1px inset`, + borderRadius: theme.input.borderRadius, + fontSize: theme.typography.size.s2 - 1, + padding: '6px 10px', + boxSizing: 'border-box', + lineHeight: '20px', + + '&:focus': { + boxShadow: `${theme.color.secondary} 0 0 0 1px inset`, + outline: 'none', + }, + + '&[disabled]': { + cursor: 'not-allowed', + opacity: 0.5, + }, + + '&:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 3em ${theme.color.lightest} inset`, + }, + + '&::placeholder': { + color: theme.textMutedColor, + opacity: 1, + }, +})); diff --git a/code/ui/components/src/new/Select/Select.stories.tsx b/code/ui/components/src/new/Select/Select.stories.tsx new file mode 100644 index 000000000000..452fe113fba4 --- /dev/null +++ b/code/ui/components/src/new/Select/Select.stories.tsx @@ -0,0 +1,91 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import React from 'react'; + +import { Select } from './Select'; + +const meta: Meta<typeof Select.Root> = { + title: 'Select', + component: Select.Root, + tags: ['autodocs'], + parameters: { + layout: 'centered', + }, +}; + +export default meta; +type Story = StoryObj<typeof Select.Root>; + +export const Base: Story = { + args: {}, + render: (_, { args }) => ( + <div style={{ width: 400 }}> + <Select.Root {...args}> + <Select.Trigger> + <Select.Value placeholder="Select a fruit…" /> + </Select.Trigger> + <Select.Content> + <Select.Item value="Avocado">Avocado</Select.Item> + <Select.Item value="Banana">Banana</Select.Item> + <Select.Item value="Bilberry">Bilberry</Select.Item> + <Select.Item value="Blackberry">Blackberry</Select.Item> + <Select.Item value="Blackcurrant">Blackcurrant</Select.Item> + <Select.Item value="Black sapote">Black sapote</Select.Item> + <Select.Item value="Blueberry">Blueberry</Select.Item> + <Select.Item value="Boysenberry">Boysenberry</Select.Item> + <Select.Item value="Breadfruit">Breadfruit</Select.Item> + <Select.Item value="Cacao">Cacao</Select.Item> + <Select.Item value="Cactus pear">Cactus pear</Select.Item> + <Select.Item value="Canistel">Canistel</Select.Item> + <Select.Item value="Catmon">Catmon</Select.Item> + <Select.Item value="Cempedak">Cempedak</Select.Item> + <Select.Item value="Cherimoya">Cherimoya</Select.Item> + <Select.Item value="Cherry">Cherry</Select.Item> + <Select.Item value="Chico fruit">Chico fruit</Select.Item> + <Select.Item value="Cloudberry">Cloudberry</Select.Item> + <Select.Item value="Coco de mer">Coco de mer</Select.Item> + <Select.Item value="Coconut">Coconut</Select.Item> + <Select.Item value="Crab apple">Crab apple</Select.Item> + <Select.Item value="Cranberry">Cranberry</Select.Item> + <Select.Item value="Currant">Currant</Select.Item> + <Select.Item value="Damson">Damson</Select.Item> + <Select.Item value="Date">Date</Select.Item> + <Select.Item value="Dragonfruit">Dragonfruit</Select.Item> + <Select.Item value="Durian">Durian</Select.Item> + <Select.Item value="Elderberry">Elderberry</Select.Item> + <Select.Item value="Feijoa">Feijoa</Select.Item> + <Select.Item value="Fig">Fig</Select.Item> + <Select.Item value="Finger Lime">Finger Lime</Select.Item> + <Select.Item value="Gac Fruit">Gac Fruit</Select.Item> + <Select.Item value="Goji berry">Goji berry</Select.Item> + <Select.Item value="Gooseberry">Gooseberry</Select.Item> + <Select.Item value="Grape">Grape</Select.Item> + <Select.Item value="Raisin">Raisin</Select.Item> + <Select.Item value="Grapefruit">Grapefruit</Select.Item> + <Select.Item value="Grewia asiatica">Grewia asiatica</Select.Item> + <Select.Item value="Guava">Guava</Select.Item> + <Select.Item value="Guyabano">Guyabano</Select.Item> + <Select.Item value="Hala Fruit">Hala Fruit</Select.Item> + <Select.Item value="Honeyberry">Honeyberry</Select.Item> + <Select.Item value="Huckleberry">Huckleberry</Select.Item> + <Select.Item value="Jabuticaba">Jabuticaba</Select.Item> + <Select.Item value="Jackfruit">Jackfruit</Select.Item> + <Select.Item value="Jambul">Jambul</Select.Item> + <Select.Item value="Japanese plum">Japanese plum</Select.Item> + <Select.Item value="Jostaberry">Jostaberry</Select.Item> + <Select.Item value="Jujube">Jujube</Select.Item> + <Select.Item value="Juniper berry">Juniper berry</Select.Item> + <Select.Item value="Kaffir Lime">Kaffir Lime</Select.Item> + <Select.Item value="Kiwano">Kiwano</Select.Item> + <Select.Item value="Kiwifruit">Kiwifruit</Select.Item> + <Select.Item value="Kumquat">Kumquat</Select.Item> + <Select.Item value="Lanzones">Lanzones</Select.Item> + <Select.Item value="Lemon">Lemon</Select.Item> + <Select.Item value="Lime">Lime</Select.Item> + <Select.Item value="Loganberry">Loganberry</Select.Item> + <Select.Item value="Longan">Longan</Select.Item> + <Select.Item value="Loquat">Loquat</Select.Item> + </Select.Content> + </Select.Root> + </div> + ), +}; diff --git a/code/ui/components/src/new/Select/Select.tsx b/code/ui/components/src/new/Select/Select.tsx new file mode 100644 index 000000000000..0ae606877434 --- /dev/null +++ b/code/ui/components/src/new/Select/Select.tsx @@ -0,0 +1,180 @@ +import * as React from 'react'; +import * as SelectPrimitive from '@radix-ui/react-select'; +import { styled } from '@storybook/theming'; +import { ExpandAlt } from './icons/ExpandAlt'; +import { Arrowup } from './icons/Arrowup'; +import { Arrowdown } from './icons/Arrowdown'; +import { Check } from './icons/Check'; + +const SelectTrigger = React.forwardRef< + React.ElementRef<typeof SelectPrimitive.Trigger>, + React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> +>(({ className, children, ...props }, ref) => ( + <StyledTrigger ref={ref} {...props}> + {children} + <SelectPrimitive.Icon asChild> + <ExpandAlt size={12} /> + </SelectPrimitive.Icon> + </StyledTrigger> +)); +SelectTrigger.displayName = SelectPrimitive.Trigger.displayName; + +const SelectContent = React.forwardRef< + React.ElementRef<typeof SelectPrimitive.Content>, + React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> +>(({ className, children, ...props }, ref) => ( + <SelectPrimitive.Portal> + <StyledContent ref={ref} {...props}> + <StyledScrollUpButton> + <Arrowup size={12} /> + </StyledScrollUpButton> + <StyledViewport>{children}</StyledViewport> + <StyledScrollDownButton> + <Arrowdown size={12} /> + </StyledScrollDownButton> + </StyledContent> + </SelectPrimitive.Portal> +)); +SelectContent.displayName = SelectPrimitive.Content.displayName; + +const SelectLabel = React.forwardRef< + React.ElementRef<typeof SelectPrimitive.Label>, + React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label> +>(({ className, ...props }, ref) => <SelectPrimitive.Label ref={ref} {...props} />); +SelectLabel.displayName = SelectPrimitive.Label.displayName; + +const SelectItem = React.forwardRef< + React.ElementRef<typeof SelectPrimitive.Item>, + React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> +>(({ className, children, ...props }, ref) => ( + <StyledItem ref={ref} {...props}> + <StyledItemIndicator> + <Check size={12} /> + </StyledItemIndicator> + <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText> + </StyledItem> +)); +SelectItem.displayName = SelectPrimitive.Item.displayName; + +const SelectSeparator = React.forwardRef< + React.ElementRef<typeof SelectPrimitive.Separator>, + React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator> +>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} {...props} />); +SelectSeparator.displayName = SelectPrimitive.Separator.displayName; + +export const Select = { + Root: SelectPrimitive.Root, + Group: SelectPrimitive.Group, + Value: SelectPrimitive.Value, + Trigger: SelectTrigger, + Content: SelectContent, + Label: SelectLabel, + Item: SelectItem, + Separator: SelectSeparator, +}; + +const StyledTrigger = styled(SelectPrimitive.Trigger)(({ theme }) => ({ + all: 'unset', + display: 'flex', + width: '100%', + height: '32px', + alignItems: 'center', + justifyContent: 'space-between', + transition: 'box-shadow 200ms ease-out, opacity 200ms ease-out', + color: theme.input.color, + background: theme.input.background, + boxShadow: `${theme.input.border} 0 0 0 1px inset`, + borderRadius: theme.input.borderRadius, + fontSize: theme.typography.size.s2 - 1, + padding: '6px 10px', + boxSizing: 'border-box', + lineHeight: '20px', + + '&:focus': { + boxShadow: `${theme.color.secondary} 0 0 0 1px inset`, + outline: 'none', + }, + + '&[disabled]': { + cursor: 'not-allowed', + opacity: 0.5, + }, + + '&[data-placeholder]': { + color: theme.textMutedColor, + }, + + '&:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 3em ${theme.color.lightest} inset`, + }, +})); + +const StyledContent = styled(SelectPrimitive.Content)(({ theme }) => ({ + boxSizing: 'border-box', + overflow: 'hidden', + backgroundColor: theme.input.background, + borderRadius: '6px', + border: theme.base === 'dark' ? `1px solid ${theme.input.border}` : '1px solid transparent', + width: '100%', + boxShadow: + '0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2)', +})); + +const StyledViewport = styled(SelectPrimitive.Viewport)(() => ({ + boxSizing: 'border-box', + width: '100%', + padding: '5px', +})); + +const StyledScrollUpButton = styled(SelectPrimitive.ScrollUpButton)(({ theme }) => ({ + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + height: '25px', + backgroundColor: theme.input.background, + color: theme.input.color, + cursor: 'default', +})); + +const StyledScrollDownButton = styled(SelectPrimitive.ScrollDownButton)(({ theme }) => ({ + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + height: '25px', + backgroundColor: theme.input.background, + color: theme.input.color, + cursor: 'default', +})); + +const StyledItem = styled(SelectPrimitive.Item)(({ theme }) => ({ + fontSize: '13px', + lineHeight: 1, + color: theme.input.color, + borderRadius: '3px', + display: 'flex', + alignItems: 'center', + height: '25px', + padding: '0 35px 0 25px', + position: 'relative', + userSelect: 'none', + + '&[data-disabled]': { + color: 'red', + pointerEvents: 'none', + }, + + '&[data-highlighted]': { + outline: 'none', + backgroundColor: theme.barSelectedColor, + color: theme.barBg, + }, +})); + +const StyledItemIndicator = styled(SelectPrimitive.ItemIndicator)(() => ({ + position: 'absolute', + left: 0, + width: '25px', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', +})); diff --git a/code/ui/components/src/new/Select/SelectItem.tsx b/code/ui/components/src/new/Select/SelectItem.tsx new file mode 100644 index 000000000000..6206e76095ca --- /dev/null +++ b/code/ui/components/src/new/Select/SelectItem.tsx @@ -0,0 +1,62 @@ +import * as RadixSelect from '@radix-ui/react-select'; +import React, { forwardRef } from 'react'; +import { styled } from '@storybook/theming'; + +interface SelectItemProps { + children: React.ReactNode; + value: string; +} + +const FakeIcon = styled.div(({ theme }) => ({ + width: 12, + height: 12, + backgroundColor: theme.color.mediumdark, +})); + +export const SelectItem = forwardRef<HTMLDivElement, SelectItemProps>( + ({ children, ...props }, forwardedRef) => { + return ( + <StyledItem {...props} ref={forwardedRef}> + <RadixSelect.ItemText>{children}</RadixSelect.ItemText> + <StyledItemIndicator className="SelectItemIndicator"> + <FakeIcon /> + </StyledItemIndicator> + </StyledItem> + ); + } +); + +SelectItem.displayName = 'SelectItem'; + +const StyledItem = styled(RadixSelect.Item)(() => ({ + fontSize: '13px', + lineHeight: 1, + color: 'blue', + borderRadius: '3px', + display: 'flex', + alignItems: 'center', + height: '25px', + padding: '0 35px 0 25px', + position: 'relative', + userSelect: 'none', + + '&[data-disabled]': { + color: 'red', + pointerEvents: 'none', + }, + + '&[data-highlighted]': { + outline: 'none', + backgroundColor: 'green', + color: 'white', + }, +})); + +const StyledItemIndicator = styled(RadixSelect.ItemIndicator)(() => ({ + position: 'absolute', + left: 0, + width: '25px', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', +})); diff --git a/code/ui/components/src/new/Select/icons/Arrowdown.tsx b/code/ui/components/src/new/Select/icons/Arrowdown.tsx new file mode 100644 index 000000000000..d8437ca5d122 --- /dev/null +++ b/code/ui/components/src/new/Select/icons/Arrowdown.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import type { IconProps } from './types'; +import { IconWrapper } from './IconWrapper'; + +export const Arrowdown = (allProps: IconProps) => { + const { svgProps: props, ...restProps } = allProps; + return ( + <IconWrapper + icon={ + <svg + width="inherit" + height="inherit" + viewBox="0 0 14 14" + fill="none" + xmlns="http://www.w3.org/2000/svg" + {...props} + > + <path + d="M1.146 5.604l5.5 5.5a.5.5 0 00.708 0l5.5-5.5a.5.5 0 00-.708-.708L7 10.043 1.854 4.896a.5.5 0 10-.708.708z" + fill="currentColor" + /> + </svg> + } + {...restProps} + /> + ); +}; + +export default Arrowdown; diff --git a/code/ui/components/src/new/Select/icons/Arrowup.tsx b/code/ui/components/src/new/Select/icons/Arrowup.tsx new file mode 100644 index 000000000000..24f722e410a6 --- /dev/null +++ b/code/ui/components/src/new/Select/icons/Arrowup.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import type { IconProps } from './types'; +import { IconWrapper } from './IconWrapper'; + +export const Arrowup = (allProps: IconProps) => { + const { svgProps: props, ...restProps } = allProps; + return ( + <IconWrapper + icon={ + <svg + width="inherit" + height="inherit" + viewBox="0 0 14 14" + fill="none" + xmlns="http://www.w3.org/2000/svg" + {...props} + > + <path + d="M7.354 2.896l5.5 5.5a.5.5 0 01-.708.708L7 3.957 1.854 9.104a.5.5 0 11-.708-.708l5.5-5.5a.5.5 0 01.708 0z" + fill="currentColor" + /> + </svg> + } + {...restProps} + /> + ); +}; + +export default Arrowup; diff --git a/code/ui/components/src/new/Select/icons/Check.tsx b/code/ui/components/src/new/Select/icons/Check.tsx new file mode 100644 index 000000000000..4d5beb1531a3 --- /dev/null +++ b/code/ui/components/src/new/Select/icons/Check.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import type { IconProps } from './types'; +import { IconWrapper } from './IconWrapper'; + +export const Check = (allProps: IconProps) => { + const { svgProps: props, ...restProps } = allProps; + return ( + <IconWrapper + icon={ + <svg + width="inherit" + height="inherit" + viewBox="0 0 14 14" + fill="none" + xmlns="http://www.w3.org/2000/svg" + {...props} + > + <path + d="M13.854 3.354a.5.5 0 00-.708-.708L5 10.793.854 6.646a.5.5 0 10-.708.708l4.5 4.5a.5.5 0 00.708 0l8.5-8.5z" + fill="currentColor" + /> + </svg> + } + {...restProps} + /> + ); +}; + +export default Check; diff --git a/code/ui/components/src/new/Select/icons/ExpandAlt.tsx b/code/ui/components/src/new/Select/icons/ExpandAlt.tsx new file mode 100644 index 000000000000..7f0626adcbea --- /dev/null +++ b/code/ui/components/src/new/Select/icons/ExpandAlt.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import type { IconProps } from './types'; +import { IconWrapper } from './IconWrapper'; + +export const ExpandAlt = (allProps: IconProps) => { + const { svgProps: props, ...restProps } = allProps; + return ( + <IconWrapper + icon={ + <svg + width="inherit" + height="inherit" + viewBox="0 0 14 14" + fill="none" + xmlns="http://www.w3.org/2000/svg" + {...props} + > + <path + d="M7.354.146l4 4a.5.5 0 01-.708.708L7 1.207 3.354 4.854a.5.5 0 11-.708-.708l4-4a.5.5 0 01.708 0zM11.354 9.146a.5.5 0 010 .708l-4 4a.5.5 0 01-.708 0l-4-4a.5.5 0 11.708-.708L7 12.793l3.646-3.647a.5.5 0 01.708 0z" + fill="currentColor" + /> + </svg> + } + {...restProps} + /> + ); +}; + +export default ExpandAlt; diff --git a/code/ui/components/src/new/Select/icons/IconWrapper.tsx b/code/ui/components/src/new/Select/icons/IconWrapper.tsx new file mode 100644 index 000000000000..a4c60d6709f8 --- /dev/null +++ b/code/ui/components/src/new/Select/icons/IconWrapper.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import type { IconProps } from './types'; + +export const IconWrapper: React.FC<{ icon: React.ReactNode } & IconProps> = ({ + icon, + color: colorProp, + size: sizeProp, + ...restProps +}) => { + const color = colorProp || 'currentColor'; + const size = sizeProp || '14px'; + + return ( + <span + role="img" + aria-hidden="true" + style={{ + color, + width: size, + height: size, + display: 'inline-flex', + fontSize: 'inherit', + }} + {...restProps} + > + {icon} + </span> + ); +}; diff --git a/code/ui/components/src/new/Select/icons/types.ts b/code/ui/components/src/new/Select/icons/types.ts new file mode 100644 index 000000000000..142493c5ee59 --- /dev/null +++ b/code/ui/components/src/new/Select/icons/types.ts @@ -0,0 +1,10 @@ +import type React from 'react'; + +export type IconProps = { + /** Set icon fill color from design system */ + color?: string; + /** Set width and height of icon in pixels */ + size?: number; + /** Props to pass directly to svg element */ + svgProps?: React.SVGProps<SVGSVGElement>; +} & Omit<React.HTMLProps<HTMLSpanElement>, 'color' | 'size'>; diff --git a/code/ui/components/src/new/Textarea/Textarea.stories.tsx b/code/ui/components/src/new/Textarea/Textarea.stories.tsx new file mode 100644 index 000000000000..b23516d8f2bd --- /dev/null +++ b/code/ui/components/src/new/Textarea/Textarea.stories.tsx @@ -0,0 +1,33 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { Textarea } from './Textarea'; + +const meta: Meta<typeof Textarea> = { + title: 'Textarea', + component: Textarea, + tags: ['autodocs'], +}; + +export default meta; +type Story = StoryObj<typeof Textarea>; + +export const Base: Story = { + args: { + placeholder: 'Hello World', + }, +}; + +export const Filled: Story = { + args: { + ...Base.args, + value: + 'Self ocean ultimate reason faith virtues evil eternal-return moral strong superiority. Society will christian god holiest evil virtues ultimate salvation aversion victorious strong eternal-return. Ascetic pious hope selfish battle pinnacle revaluation passion ocean passion chaos reason intentions. Hope hatred pious superiority ascetic chaos ultimate mountains ideal. Superiority good abstract hatred holiest passion ultimate evil inexpedient joy. Salvation war salvation ideal decieve good law ascetic hatred transvaluation horror good. Zarathustra aversion pious truth burying evil inexpedient spirit virtues virtues hope salvation transvaluation. Enlightenment chaos ascetic salvation god holiest play marvelous oneself ocean. Enlightenment faithful dead truth insofar fearful madness love.Inexpedient war hatred superiority disgust justice superiority. Chaos justice contradict christian decieve god. Revaluation suicide hope enlightenment decrepit truth hatred insofar gains sexuality merciful ocean revaluation depths. Revaluation ocean superiority endless of evil horror. Ultimate salvation joy good good endless will horror aversion superiority depths. Evil hatred ideal pious joy reason.', + }, +}; + +export const Disabled: Story = { + args: { + ...Base.args, + disabled: true, + }, +}; diff --git a/code/ui/components/src/new/Textarea/Textarea.tsx b/code/ui/components/src/new/Textarea/Textarea.tsx new file mode 100644 index 000000000000..15a156bf8b1f --- /dev/null +++ b/code/ui/components/src/new/Textarea/Textarea.tsx @@ -0,0 +1,58 @@ +import React, { forwardRef } from 'react'; +import { styled } from '@storybook/theming'; +import TextareaAutoResize from 'react-textarea-autosize'; + +interface TextareaProps { + disabled?: boolean; + placeholder?: string; + value?: string; +} + +export const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(({ ...props }, ref) => { + return <StyledTextarea ref={ref} {...props} />; +}); + +Textarea.displayName = 'Textarea'; + +const StyledTextarea = styled(TextareaAutoResize)(({ theme }) => ({ + // resets + appearance: 'none', + border: '0 none', + margin: ' 0', + position: 'relative', + + // styles + display: 'flex', + alignItems: 'center', + width: '100%', + height: '32px', + transition: 'box-shadow 200ms ease-out, opacity 200ms ease-out', + color: theme.input.color, + background: theme.input.background, + boxShadow: `${theme.input.border} 0 0 0 1px inset`, + borderRadius: theme.input.borderRadius, + fontSize: theme.typography.size.s2 - 1, + padding: '6px 10px', + boxSizing: 'border-box', + minHeight: 32, + lineHeight: '20px', + + '&:focus': { + boxShadow: `${theme.color.secondary} 0 0 0 1px inset`, + outline: 'none', + }, + + '&[disabled]': { + cursor: 'not-allowed', + opacity: 0.5, + }, + + '&:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 3em ${theme.color.lightest} inset`, + }, + + '&::placeholder': { + color: theme.textMutedColor, + opacity: 1, + }, +})); diff --git a/code/ui/components/src/new/utils/types.ts b/code/ui/components/src/new/utils/types.ts new file mode 100644 index 000000000000..f5713d0b3479 --- /dev/null +++ b/code/ui/components/src/new/utils/types.ts @@ -0,0 +1,4 @@ +import type React from 'react'; + +export type PropsOf<T extends keyof JSX.IntrinsicElements | React.JSXElementConstructor<any>> = + JSX.LibraryManagedAttributes<T, React.ComponentPropsWithRef<T>>; diff --git a/code/ui/components/src/tabs/tabs.helpers.tsx b/code/ui/components/src/tabs/tabs.helpers.tsx deleted file mode 100644 index b92d38733077..000000000000 --- a/code/ui/components/src/tabs/tabs.helpers.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { styled } from '@storybook/theming'; -import type { ReactElement } from 'react'; -import React, { Children } from 'react'; - -export interface VisuallyHiddenProps { - active?: boolean; -} - -export const VisuallyHidden = styled.div<VisuallyHiddenProps>(({ active }) => - active ? { display: 'block' } : { display: 'none' } -); - -export const childrenToList = (children: any, selected: string) => - Children.toArray(children).map( - ({ props: { title, id, color, children: childrenOfChild } }: ReactElement, index) => { - const content = Array.isArray(childrenOfChild) ? childrenOfChild[0] : childrenOfChild; - return { - active: selected ? id === selected : index === 0, - title, - id, - color, - render: - typeof content === 'function' - ? content - : ({ active, key }: any) => ( - <VisuallyHidden key={key} active={active} role="tabpanel"> - {content} - </VisuallyHidden> - ), - }; - } - ); - -export type ChildrenList = ReturnType<typeof childrenToList>; diff --git a/code/ui/components/tsconfig.json b/code/ui/components/tsconfig.json index 8ee47dbfcd6e..a2bea817d943 100644 --- a/code/ui/components/tsconfig.json +++ b/code/ui/components/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "types": ["react-syntax-highlighter", "jest", "testing-library__jest-dom"], + "skipLibCheck": true, "strict": false }, "include": ["src/**/*"] diff --git a/code/ui/manager/package.json b/code/ui/manager/package.json index dacb0055889d..45ac1d41e38c 100644 --- a/code/ui/manager/package.json +++ b/code/ui/manager/package.json @@ -46,15 +46,13 @@ "*.d.ts" ], "scripts": { - "check": "../../../scripts/node_modules/.bin/tsc --noEmit", + "check": "../../../scripts/prepare/check.ts", "prep": "../../../scripts/prepare/esm-bundle.ts" }, "devDependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", "@storybook/addon-designs": "^7.0.0", "@storybook/addons": "7.1.0", - "@storybook/api": "7.1.0", - "@storybook/channel-postmessage": "7.1.0", "@storybook/channels": "7.1.0", "@storybook/client-logger": "7.1.0", "@storybook/components": "7.1.0", diff --git a/code/ui/manager/src/app.stories.tsx b/code/ui/manager/src/app.stories.tsx index 8709f9c60038..aef6a9133aa0 100644 --- a/code/ui/manager/src/app.stories.tsx +++ b/code/ui/manager/src/app.stories.tsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; -import { Provider as ManagerProvider, useStorybookApi } from '@storybook/manager-api'; -import { LocationProvider } from '@storybook/router'; +import { useStorybookApi, Provider as ManagerProvider } from '@storybook/manager-api'; +import { BaseLocationProvider } from '@storybook/router'; import { HelmetProvider } from 'react-helmet-async'; import { styled } from '@storybook/theming'; import App from './app'; @@ -11,25 +11,41 @@ export default { component: App, parameters: { layout: 'fullscreen', + theme: 'light', + viewport: { + viewports: { + tablet: { + name: 'Tablet', + styles: { + height: '1112px', + width: '834px', + }, + type: 'tablet', + }, + }, + defaultViewport: 'tablet', + defaultOrientation: 'landscape', + }, + chromatic: { viewports: [1112] }, }, decorators: [ (StoryFn: any) => ( <HelmetProvider key="helmet.Provider"> - <LocationProvider> - <ThemeStack> + <BaseLocationProvider location="/?path=/story/my-id" navigator={{} as any}> + <Background> <StoryFn /> - </ThemeStack> - </LocationProvider> + </Background> + </BaseLocationProvider> </HelmetProvider> ), ], }; -const ThemeStack = styled.div( +const Background = styled.div( { position: 'relative', - minHeight: '50vh', - height: '100%', + minHeight: '100vh', + height: '100vw', }, ({ theme }) => ({ background: theme.background.app, @@ -53,6 +69,7 @@ export const Default = () => { key="manager" provider={provider} path="/story/ui-app--loading-state" + viewMode="story" storyId="ui-app--loading-state" location={{ search: '' }} navigate={() => {}} @@ -63,7 +80,7 @@ export const Default = () => { key="app" viewMode="story" layout={{ - initialActive: 'addons', + initialActive: 'sidebar', isFullscreen: false, showToolbar: true, panelPosition: 'right', @@ -71,6 +88,7 @@ export const Default = () => { showPanel: true, showTabs: true, }} + pages={[]} panelCount={0} /> </ManagerProvider> @@ -91,7 +109,7 @@ export const LoadingState = () => ( key="app" viewMode="story" layout={{ - initialActive: 'addons', + initialActive: 'sidebar', isFullscreen: false, showToolbar: true, panelPosition: 'right', @@ -99,7 +117,32 @@ export const LoadingState = () => ( showPanel: true, showTabs: true, }} + pages={[]} panelCount={0} /> </ManagerProvider> ); + +export const Dark = () => LoadingState(); +Dark.parameters = { + theme: 'dark', +}; +export const Mobile = () => LoadingState(); +Mobile.parameters = { + theme: 'light', + viewport: { + viewports: { + mobile1: { + name: 'Small mobile', + styles: { + height: '568px', + width: '320px', + }, + type: 'mobile', + }, + }, + defaultViewport: 'mobile1', + defaultOrientation: 'portrait', + }, + chromatic: { viewports: [320] }, +}; diff --git a/code/ui/manager/src/app.tsx b/code/ui/manager/src/app.tsx index 3935126f4674..607661b56a28 100644 --- a/code/ui/manager/src/app.tsx +++ b/code/ui/manager/src/app.tsx @@ -1,12 +1,11 @@ -import type { FC } from 'react'; import React, { useMemo } from 'react'; import { useResizeDetector } from 'react-resize-detector'; import { type State } from '@storybook/manager-api'; import { Symbols } from '@storybook/components'; -import { Route } from '@storybook/router'; import { Global, createGlobal, styled } from '@storybook/theming'; +import type { Addon_PageType } from '@storybook/types'; import { Mobile } from './components/layout/mobile'; import { Desktop } from './components/layout/desktop'; import Sidebar from './containers/sidebar'; @@ -14,8 +13,6 @@ import Preview from './containers/preview'; import Panel from './containers/panel'; import Notifications from './containers/notifications'; -import SettingsPages from './settings'; - const View = styled.div({ position: 'fixed', overflow: 'hidden', @@ -27,9 +24,10 @@ export interface AppProps { viewMode: State['viewMode']; layout: State['layout']; panelCount: number; + pages: Addon_PageType[]; } -const App: React.FC<AppProps> = ({ viewMode, layout, panelCount }) => { +const App: React.FC<AppProps> = ({ viewMode, layout, panelCount, pages }) => { const { width, height, ref } = useResizeDetector(); let content; @@ -39,17 +37,6 @@ const App: React.FC<AppProps> = ({ viewMode, layout, panelCount }) => { Preview, Panel, Notifications, - pages: [ - { - key: 'settings', - render: () => <SettingsPages />, - route: (({ children }) => ( - <Route path="/settings/" startsWith> - {children} - </Route> - )) as FC, - }, - ], }), [] ); @@ -57,7 +44,7 @@ const App: React.FC<AppProps> = ({ viewMode, layout, panelCount }) => { if (!width || !height) { content = <div />; } else if (width < 600) { - content = <Mobile {...props} viewMode={viewMode} options={layout} />; + content = <Mobile {...props} viewMode={viewMode} options={layout} pages={pages} />; } else { content = ( <Desktop @@ -67,6 +54,7 @@ const App: React.FC<AppProps> = ({ viewMode, layout, panelCount }) => { width={width} height={height} panelCount={panelCount} + pages={pages} /> ); } diff --git a/code/ui/manager/src/components/layout/app.mockdata.tsx b/code/ui/manager/src/components/layout/app.mockdata.tsx index 48e2696d3306..32b22148adfb 100644 --- a/code/ui/manager/src/components/layout/app.mockdata.tsx +++ b/code/ui/manager/src/components/layout/app.mockdata.tsx @@ -2,7 +2,8 @@ import { global } from '@storybook/global'; import type { FC } from 'react'; import React, { Component } from 'react'; import { styled } from '@storybook/theming'; -import type { Addon_Collection } from '@storybook/types'; +import type { Addon_BaseType, Addon_Collection } from '@storybook/types'; +import { Addon_TypesEnum } from '@storybook/types'; import type { State } from '@storybook/manager-api'; import type { SidebarProps } from '../sidebar/Sidebar'; import { Sidebar } from '../sidebar/Sidebar'; @@ -37,9 +38,10 @@ export const shortcuts: State['shortcuts'] = { remount: ['alt', 'R'], }; -export const panels: Addon_Collection = { +export const panels: Addon_Collection<Addon_BaseType> = { test1: { title: 'Test 1', + type: Addon_TypesEnum.PANEL, render: ({ active, key }) => active ? ( <div id="test1" key={key}> @@ -49,6 +51,7 @@ export const panels: Addon_Collection = { }, test2: { title: 'Test 2', + type: Addon_TypesEnum.PANEL, render: ({ active, key }) => active ? ( <div id="test2" key={key}> @@ -62,6 +65,7 @@ const realSidebarProps: SidebarProps = { index: mockDataset.withRoot as SidebarProps['index'], menu: [], refs: {}, + status: {}, previewInitialized: true, }; @@ -162,8 +166,8 @@ export const mockProps: DesktopProps = { }, viewMode: 'story', panelCount: 2, - width: 900, - height: 600, + width: 1112, + height: 834, }; export const realProps: DesktopProps = { diff --git a/code/ui/manager/src/components/layout/desktop.stories.tsx b/code/ui/manager/src/components/layout/desktop.stories.tsx index ae70cbc0da1a..780a844d6a31 100644 --- a/code/ui/manager/src/components/layout/desktop.stories.tsx +++ b/code/ui/manager/src/components/layout/desktop.stories.tsx @@ -1,8 +1,10 @@ -import React, { Fragment } from 'react'; +import React from 'react'; import type { DecoratorFn } from '@storybook/react'; import isChromatic from 'chromatic/isChromatic'; +import { BaseLocationProvider } from '@storybook/router'; +import { types } from '@storybook/manager-api'; import type { DesktopProps } from './desktop'; import { Desktop } from './desktop'; @@ -12,7 +14,27 @@ import { mockProps, realProps, MockPage } from './app.mockdata'; export default { title: 'Layout/Desktop', component: Desktop, - parameters: { passArgsFirst: false }, + parameters: { + passArgsFirst: false, + path: 'story/my-id', + layout: 'fullscreen', + viewport: { + viewports: { + tablet: { + name: 'Tablet', + styles: { + height: '1112px', + width: '834px', + }, + type: 'tablet', + }, + }, + defaultViewport: 'tablet', + defaultOrientation: 'landscape', + }, + theme: 'light', + chromatic: { viewports: [1112] }, + }, decorators: [ ((StoryFn, c) => { const mocked = true; @@ -24,9 +46,11 @@ export default { const props = mocked ? mockProps : realProps; return ( - <div style={{ minHeight: 900, minWidth: 1200 }}> - <StoryFn props={props} {...c} />; - </div> + <BaseLocationProvider location={`/?path=/${c.parameters.path}`} navigator={{} as any}> + <div style={{ height: '100vh', width: '100vw', position: 'absolute', top: 0, left: 0 }}> + <StoryFn props={props} {...c} /> + </div> + </BaseLocationProvider> ); }) as DecoratorFn, ], @@ -56,11 +80,13 @@ export const Page = ({ props }: { props: DesktopProps }) => ( {...props} pages={[ { - key: 'settings', - route: ({ children }) => <Fragment>{children}</Fragment>, + id: '/settings/', + title: 'Settings', + url: '/settings/', + type: types.experimental_PAGE, render: () => <MockPage />, }, ]} - viewMode="settings" /> ); +Page.parameters = { path: '/settings/' }; diff --git a/code/ui/manager/src/components/layout/desktop.tsx b/code/ui/manager/src/components/layout/desktop.tsx index 2ff78c25d149..2004f3817ef5 100644 --- a/code/ui/manager/src/components/layout/desktop.tsx +++ b/code/ui/manager/src/components/layout/desktop.tsx @@ -1,7 +1,9 @@ -import type { ComponentType, FC } from 'react'; +import type { ComponentType } from 'react'; import React, { Fragment } from 'react'; import type { State } from '@storybook/manager-api'; +import { Route } from '@storybook/router'; +import type { Addon_PageType } from '@storybook/types'; import * as S from './container'; export interface DesktopProps { @@ -12,11 +14,7 @@ export interface DesktopProps { Preview: ComponentType<any>; Panel: ComponentType<any>; Notifications: ComponentType<any>; - pages: { - key: string; - route: FC; - render: ComponentType; - }[]; + pages: Addon_PageType[]; options: State['layout']; viewMode: string; } @@ -56,18 +54,22 @@ const Desktop = Object.assign( <Sidebar /> </S.Sidebar> <S.Main {...mainProps} isFullscreen={!!mainProps.isFullscreen}> - <S.Preview {...previewProps} hidden={viewMode === 'settings'}> - <Preview id="main" /> - </S.Preview> + <Route path={/(^\/story|docs|onboarding\/|^\/$)/} hideOnly> + <S.Preview {...previewProps} hidden={false}> + <Preview id="main" /> + </S.Preview> - <S.Panel {...panelProps} hidden={viewMode !== 'story'}> - <Panel /> - </S.Panel> + <Route path="/story/" startsWith hideOnly> + <S.Panel {...panelProps} hidden={false}> + <Panel /> + </S.Panel> + </Route> + </Route> - {pages.map(({ key, route: Route, render: Content }) => ( - <Route key={key}> + {pages.map(({ id, render: Content }) => ( + <Fragment key={id}> <Content /> - </Route> + </Fragment> ))} </S.Main> </Fragment> diff --git a/code/ui/manager/src/components/layout/mobile.stories.tsx b/code/ui/manager/src/components/layout/mobile.stories.tsx index e1a1942a7c62..2e9966d6e8fc 100644 --- a/code/ui/manager/src/components/layout/mobile.stories.tsx +++ b/code/ui/manager/src/components/layout/mobile.stories.tsx @@ -1,7 +1,9 @@ -import React, { Fragment } from 'react'; +import React from 'react'; import { ActiveTabs } from '@storybook/manager-api'; import type { DecoratorFn } from '@storybook/react'; +import { BaseLocationProvider } from '@storybook/router'; +import { Addon_TypesEnum } from '@storybook/types'; import type { MobileProps } from './mobile'; import { Mobile } from './mobile'; @@ -10,16 +12,40 @@ import { mockProps, realProps, MockPage } from './app.mockdata'; export default { title: 'Layout/Mobile', component: Mobile, - parameters: { passArgsFirst: false }, + parameters: { + passArgsFirst: false, + path: 'story/my-id', + layout: 'fullscreen', + viewport: { + viewports: { + mobile1: { + name: 'Small mobile', + styles: { + height: '568px', + width: '320px', + }, + type: 'mobile', + }, + }, + defaultViewport: 'mobile1', + defaultOrientation: 'portrait', + }, + theme: 'light', + chromatic: { viewports: [320] }, + }, decorators: [ - ((storyFn, c) => { + ((StoryFn, c) => { const mocked = true; - const props = { - ...(mocked ? mockProps : realProps), - }; + const props = mocked ? mockProps : realProps; - return storyFn({ props, ...c }); + return ( + <BaseLocationProvider location={`/?path=/${c.parameters.path}`} navigator={{} as any}> + <div style={{ height: '100vh', width: '100vw', position: 'absolute', top: 0, left: 0 }}> + <StoryFn props={props} {...c} /> + </div> + </BaseLocationProvider> + ); }) as DecoratorFn, ], }; @@ -50,11 +76,16 @@ export const Page = ({ props }: { props: MobileProps }) => ( options={{ ...props.options, initialActive: ActiveTabs.CANVAS }} pages={[ { - key: 'settings', - route: ({ children }) => <Fragment>{children}</Fragment>, + id: 'settings', + url: '/settings', + title: 'Settings', + type: Addon_TypesEnum.experimental_PAGE, render: () => <MockPage />, }, ]} viewMode="settings" /> ); +Page.parameters = { + path: '/settings/', +}; diff --git a/code/ui/manager/src/components/layout/mobile.tsx b/code/ui/manager/src/components/layout/mobile.tsx index 6b14ebad793b..2f2ef7d1e31c 100644 --- a/code/ui/manager/src/components/layout/mobile.tsx +++ b/code/ui/manager/src/components/layout/mobile.tsx @@ -1,9 +1,11 @@ import type { ComponentType, FC, ReactNode } from 'react'; -import React, { Component, Children } from 'react'; -import { type State, ActiveTabs } from '@storybook/manager-api'; +import React, { Fragment, Children, useCallback, useState } from 'react'; +import { type State, ActiveTabs, useStorybookApi } from '@storybook/manager-api'; import { styled } from '@storybook/theming'; import { TabButton } from '@storybook/components'; +import { Location } from '@storybook/router'; +import type { Addon_PageType } from '@storybook/types'; import { Root } from './Root'; export type ActiveTabsType = 'sidebar' | 'canvas' | 'addons'; @@ -127,12 +129,6 @@ const Bar = styled.nav( }) ); -export interface Page { - key: string; - route: FC; - render: FC; -} - export interface MobileProps { options: Pick<State['layout'], 'isFullscreen' | 'showPanel' | 'initialActive' | 'showToolbar'>; Sidebar: ComponentType<any>; @@ -140,79 +136,107 @@ export interface MobileProps { Panel: ComponentType<any>; Notifications: ComponentType<any>; viewMode: State['viewMode']; - pages: Page[]; + pages: Addon_PageType[]; } export interface MobileState { active: ActiveTabsType; } -class Mobile extends Component<MobileProps, MobileState> { - constructor(props: MobileProps) { - super(props); - - const { options } = props; - this.state = { - active: options.isFullscreen ? CANVAS : options.initialActive || SIDEBAR, - }; - } - - render() { - const { Sidebar, Preview, Panel, Notifications, pages, viewMode, options } = this.props; - - const { active } = this.state; - return ( - <Root> - <Notifications - placement={{ - position: 'fixed', - bottom: 60, - left: 20, - right: 20, - }} - /> - - <Panels active={active} isFullscreen={options.isFullscreen}> - <Sidebar /> - <div> - <div hidden={!viewMode}> - <Preview showToolbar={options.showToolbar} id="main" viewMode={viewMode} /> - </div> - {pages.map(({ key, route: Route, render: Content }) => ( - <Route key={key}> - <Content /> - </Route> - ))} +export const Mobile = ({ + Sidebar, + Preview, + Panel, + Notifications, + pages, + viewMode, + options, +}: MobileProps) => { + const [{ active }, setState] = useState({ + active: options.isFullscreen ? CANVAS : options.initialActive || SIDEBAR, + }); + const api = useStorybookApi(); + const handleCanvasClick = useCallback(() => { + setState({ active: CANVAS }); + const id = api.retrieveSelection(); + if (id) { + api.selectStory(id); + } else { + api.selectFirstStory(); + } + }, []); + + const handleSideBarClick = useCallback(() => { + setState({ active: SIDEBAR }); + const id = api.retrieveSelection(); + if (id) { + api.selectStory(id); + } else { + api.selectFirstStory(); + } + }, []); + + return ( + <Root> + <Notifications + placement={{ + position: 'fixed', + bottom: 60, + left: 20, + right: 20, + }} + /> + + <Panels active={active} isFullscreen={options.isFullscreen}> + <Sidebar /> + <div> + <div hidden={viewMode !== 'docs' && viewMode !== 'story'}> + <Preview showToolbar={options.showToolbar} id="main" viewMode={viewMode} /> </div> - <Panel hidden={!viewMode} /> - </Panels> - {!options.isFullscreen && ( - <Bar> - <TabButton - onClick={() => this.setState({ active: SIDEBAR })} - active={active === SIDEBAR} - > - Sidebar - </TabButton> - <TabButton onClick={() => this.setState({ active: CANVAS })} active={active === CANVAS}> - {viewMode ? 'Canvas' : null} - {pages.map(({ key, route: Route }) => ( - <Route key={key}>{key}</Route> - ))} + {pages.map(({ id, render: Content }) => ( + <Fragment key={id}> + <Content /> + </Fragment> + ))} + </div> + <Panel hidden={viewMode !== 'story'} /> + </Panels> + {!options.isFullscreen && ( + <Bar> + <TabButton onClick={handleSideBarClick} active={active === SIDEBAR}> + Sidebar + </TabButton> + <TabButton + onClick={handleCanvasClick} + active={active === CANVAS && (viewMode === 'docs' || viewMode === 'story')} + > + Canvas + </TabButton> + <Location> + {({ path }) => ( + <> + {pages.map(({ id, title, url }) => ( + <TabButton + key={id} + onClick={() => { + setState({ active: CANVAS }); + api.navigateUrl(url, { plain: false }); + }} + active={active === CANVAS && path.startsWith(url)} + > + {title} + </TabButton> + ))} + </> + )} + </Location> + {viewMode === 'story' && options.showPanel ? ( + <TabButton onClick={() => setState({ active: ADDONS })} active={active === ADDONS}> + Addons </TabButton> - {viewMode && options.showPanel ? ( - <TabButton - onClick={() => this.setState({ active: ADDONS })} - active={active === ADDONS} - > - Addons - </TabButton> - ) : null} - </Bar> - )} - </Root> - ); - } -} - -export { Mobile }; + ) : null} + </Bar> + )} + </Root> + ); +}; diff --git a/code/ui/manager/src/components/panel/panel.stories.tsx b/code/ui/manager/src/components/panel/panel.stories.tsx index 75a66c60942d..1b31eacd21e7 100644 --- a/code/ui/manager/src/components/panel/panel.stories.tsx +++ b/code/ui/manager/src/components/panel/panel.stories.tsx @@ -1,5 +1,7 @@ -import React, { useState } from 'react'; +import React, { useCallback, useRef, useState } from 'react'; import { action } from '@storybook/addon-actions'; +import { Badge, Icons, Spaced } from '@storybook/components'; +import { Addon_TypesEnum } from '@storybook/types'; import Panel from './panel'; import { panels, shortcuts } from '../layout/app.mockdata'; @@ -25,6 +27,119 @@ export const Default = () => { ); }; +export const JSXTitles = () => { + const [selectedPanel, setSelectedPanel] = useState('function-string'); + return ( + <Panel + absolute={false} + panels={{ + 'function-string': { + type: Addon_TypesEnum.PANEL, + title: () => 'Test 1', + render: ({ active, key }) => + active ? ( + <div id="test1" key={key}> + TEST as string + </div> + ) : null, + }, + 'function-jsx': { + type: Addon_TypesEnum.PANEL, + title: () => ( + <div> + <Spaced col={1}> + <div style={{ display: 'inline-block', verticalAlign: 'middle' }}>Test 1</div> + <Badge status="critical">4</Badge> + </Spaced> + </div> + ), + render: ({ active, key }) => + active ? ( + <div id="test1" key={key}> + TEST with label + </div> + ) : null, + }, + 'function-jsx-icon': { + type: Addon_TypesEnum.PANEL, + title: () => ( + <div> + <Spaced col={1}> + <div style={{ display: 'inline-block', verticalAlign: 'middle' }}>Alert!</div> + <Icons icon="bell" /> + </Spaced> + </div> + ), + render: ({ active, key }) => + active ? ( + <div id="test1" key={key}> + TEST with label + </div> + ) : null, + }, + 'function-jsx-state': { + type: Addon_TypesEnum.PANEL, + title: () => { + const MAX = 10; + const [count, setCount] = useState(0); + const timer = useRef(null); + + const startTimer = useCallback((event) => { + event.stopPropagation(); + if (timer.current) { + return; + } + timer.current = setInterval(() => { + setCount((c) => { + if (c === MAX) { + clearInterval(timer.current); + timer.current = null; + return c; + } + return c + 1; + }); + }, 1000); + }, []); + const stopTimer = useCallback((event) => { + event.stopPropagation(); + if (timer.current) { + clearInterval(timer.current); + timer.current = null; + } + }, []); + + return ( + <div + onMouseEnter={startTimer} + onMouseLeave={stopTimer} + onBlur={stopTimer} + tabIndex={-1} + > + <Spaced col={1}> + <div style={{ display: 'inline-block' }}>Hover over me!</div> + {count ? ( + <Badge status={count > 8 ? 'critical' : 'warning'}>{count}</Badge> + ) : null} + </Spaced> + </div> + ); + }, + render: ({ active, key }) => { + return active ? ( + <div id="test1" key={key}> + TEST with timer + </div> + ) : null; + }, + }, + }} + actions={{ onSelect: setSelectedPanel, toggleVisibility, togglePosition }} + selectedPanel={selectedPanel} + shortcuts={shortcuts} + /> + ); +}; + export const NoPanels = () => ( <Panel panels={{}} diff --git a/code/ui/manager/src/components/panel/panel.tsx b/code/ui/manager/src/components/panel/panel.tsx index 6519ee9d9219..6abcce50f0e9 100644 --- a/code/ui/manager/src/components/panel/panel.tsx +++ b/code/ui/manager/src/components/panel/panel.tsx @@ -1,20 +1,16 @@ -import type { ReactElement } from 'react'; import React, { Component, Fragment } from 'react'; import { Tabs, Icons, IconButton } from '@storybook/components'; import type { State } from '@storybook/manager-api'; import { shortcutToHumanString } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; import useMediaQuery from '../hooks/useMedia'; export interface SafeTabProps { - title: (() => string) | string; + title: Addon_BaseType['title']; id: string; - children: ReactElement; + children: Addon_BaseType['render']; } -const SafeTabContent = React.memo<SafeTabProps>(function SafeTabContent({ children }) { - return children; -}); - class SafeTab extends Component<SafeTabProps, { hasError: boolean }> { constructor(props: SafeTabProps) { super(props); @@ -29,22 +25,18 @@ class SafeTab extends Component<SafeTabProps, { hasError: boolean }> { render() { const { hasError } = this.state; - const { children, title, id } = this.props; + const { children } = this.props; if (hasError) { return <h1>Something went wrong.</h1>; } - return ( - <SafeTabContent id={id} title={title}> - {children} - </SafeTabContent> - ); + return children; } } const AddonPanel = React.memo<{ selectedPanel?: string; actions: { onSelect: (id: string) => void } & Record<string, any>; - panels: Record<string, any>; + panels: Record<string, Addon_BaseType>; shortcuts: State['shortcuts']; panelPosition?: 'bottom' | 'right'; absolute?: boolean; @@ -89,7 +81,7 @@ const AddonPanel = React.memo<{ id="storybook-panel-root" > {Object.entries(panels).map(([k, v]) => ( - <SafeTab key={k} id={k} title={typeof v.title === 'function' ? v.title() : v.title}> + <SafeTab key={k} id={k} title={typeof v.title === 'function' ? <v.title /> : v.title}> {v.render} </SafeTab> ))} diff --git a/code/ui/manager/src/components/preview/iframe.stories.tsx b/code/ui/manager/src/components/preview/iframe.stories.tsx index 4c4efe5853fb..5b9e9f65946c 100644 --- a/code/ui/manager/src/components/preview/iframe.stories.tsx +++ b/code/ui/manager/src/components/preview/iframe.stories.tsx @@ -6,13 +6,28 @@ import { IFrame } from './iframe'; export default { component: IFrame, title: 'Iframe', + parameters: { + layout: 'fullscreen', + viewport: { + defaultViewport: 'sized', + viewports: { + sized: { + name: 'Sized', + styles: { + width: '700px', + height: '700px', + }, + }, + }, + }, + theme: 'light', + chromatic: { viewports: [700] }, + }, }; const style: CSSProperties = { maxWidth: '700px', - height: '500px', - border: '2px solid hotpink', - position: 'relative', + height: '700px', }; export const WorkingStory = () => ( @@ -20,7 +35,7 @@ export const WorkingStory = () => ( active id="iframe" title="Missing" - src="/iframe.html?id=ui-panel--default" + src="/iframe.html?id=storybook-components-loader--infinite-state" allowFullScreen style={style} scale={1.0} diff --git a/code/ui/manager/src/components/preview/iframe.tsx b/code/ui/manager/src/components/preview/iframe.tsx index 65e84ae2ee7e..58b0c8c0dc8f 100644 --- a/code/ui/manager/src/components/preview/iframe.tsx +++ b/code/ui/manager/src/components/preview/iframe.tsx @@ -11,7 +11,7 @@ const StyledIframe = styled.iframe({ height: '100%', width: '100%', border: '0 none', - transition: 'all .3s, background-position 0s, visibility 0s', + transition: 'background-position 0s, visibility 0s', backgroundPosition: '-1px -1px, -1px -1px, -1px -1px, -1px -1px', }); diff --git a/code/ui/manager/src/components/preview/preview.mockdata.tsx b/code/ui/manager/src/components/preview/preview.mockdata.tsx index f466b170deec..3129c92bbc72 100644 --- a/code/ui/manager/src/components/preview/preview.mockdata.tsx +++ b/code/ui/manager/src/components/preview/preview.mockdata.tsx @@ -1,28 +1,29 @@ import { types } from '@storybook/manager-api'; -import type { API, State, Addon } from '@storybook/manager-api'; +import type { API, State } from '@storybook/manager-api'; +import type { Addon_BaseType, Addon_Collection } from '@storybook/types'; import type { PreviewProps } from './utils/types'; +const addonNotes: Addon_BaseType = { + id: 'notes', + type: types.TAB, + title: 'Notes', + route: ({ storyId }) => `/info/${storyId}`, + match: ({ viewMode }) => viewMode === 'info', + render: () => null, +}; + +const mockAPI: Partial<API> = { + on: (a, b) => () => {}, + emit: () => {}, + off: () => {}, + getElements: (type) => + type === types.TAB ? ({ notes: addonNotes } as Addon_Collection<any>) : {}, +}; + export const previewProps: PreviewProps = { id: 'string', storyId: 'story--id', - api: { - on: () => {}, - emit: () => {}, - off: () => {}, - getElements: ((type) => - type === types.TAB - ? [ - { - id: 'notes', - type: types.TAB, - title: 'Notes', - route: ({ storyId }) => `/info/${storyId}`, - match: ({ viewMode }) => viewMode === 'info', - render: () => null, - } as Addon, - ] - : []) as API['getElements'], - } as any as API, + api: mockAPI as API, entry: { tags: [], type: 'story', diff --git a/code/ui/manager/src/components/preview/preview.tsx b/code/ui/manager/src/components/preview/preview.tsx index 9d01ed28eaf5..57572a3949dd 100644 --- a/code/ui/manager/src/components/preview/preview.tsx +++ b/code/ui/manager/src/components/preview/preview.tsx @@ -1,16 +1,10 @@ +import type { FC } from 'react'; import React, { Fragment, useMemo, useEffect, useRef, useState } from 'react'; import { Helmet } from 'react-helmet-async'; import { global } from '@storybook/global'; -import { - type API, - Consumer, - type Combo, - merge, - addons, - types, - type Addon, -} from '@storybook/manager-api'; +import { type API, Consumer, type Combo, merge, addons, types } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; import { PREVIEW_BUILDER_PROGRESS, SET_CURRENT_STORY } from '@storybook/core-events'; import { Loader } from '@storybook/components'; @@ -26,8 +20,8 @@ import type { PreviewProps } from './utils/types'; const { FEATURES } = global; -const getWrappers = (getFn: API['getElements']) => Object.values(getFn<Addon>(types.PREVIEW)); -const getTabs = (getFn: API['getElements']) => Object.values(getFn<Addon>(types.TAB)); +const getWrappers = (getFn: API['getElements']) => Object.values(getFn(types.PREVIEW)); +const getTabs = (getFn: API['getElements']) => Object.values(getFn(types.TAB)); const canvasMapper = ({ state, api }: Combo) => ({ storyId: state.storyId, @@ -42,117 +36,26 @@ const canvasMapper = ({ state, api }: Combo) => ({ active: !!(state.viewMode && state.viewMode.match(/^(story|docs)$/)), }); -const createCanvas = (id: string, baseUrl = 'iframe.html', withLoader = true): Addon => ({ +const createCanvasTab = (): Addon_BaseType => ({ id: 'canvas', + type: types.TAB, title: 'Canvas', route: ({ storyId, refId }) => (refId ? `/story/${refId}_${storyId}` : `/story/${storyId}`), match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)), - render: () => { - return ( - <Consumer filter={canvasMapper}> - {({ - entry, - refs, - customCanvas, - storyId, - refId, - viewMode, - queryParams, - getElements, - previewInitialized, - active, - }) => { - const wrappers = useMemo( - () => [...defaultWrappers, ...getWrappers(getElements)], - [getElements, ...defaultWrappers] - ); - - const [progress, setProgress] = useState(undefined); - useEffect(() => { - if (FEATURES?.storyStoreV7 && global.CONFIG_TYPE === 'DEVELOPMENT') { - try { - const channel = addons.getServerChannel(); - - channel.on(PREVIEW_BUILDER_PROGRESS, (options) => { - setProgress(options); - }); - } catch { - // - } - } - }, []); - // A ref simply depends on its readiness - const refLoading = !!refs[refId] && !refs[refId].previewInitialized; - // The root also might need to wait on webpack - const isBuilding = !(progress?.value === 1 || progress === undefined); - const rootLoading = !refId && (!previewInitialized || isBuilding); - const isLoading = entry ? refLoading || rootLoading : rootLoading; - - return ( - <ZoomConsumer> - {({ value: scale }) => { - return ( - <> - {withLoader && isLoading && ( - <S.LoaderWrapper> - <Loader id="preview-loader" role="progressbar" progress={progress} /> - </S.LoaderWrapper> - )} - <ApplyWrappers - id={id} - storyId={storyId} - viewMode={viewMode} - active={active} - wrappers={wrappers} - > - {customCanvas ? ( - customCanvas(storyId, viewMode, id, baseUrl, scale, queryParams) - ) : ( - <FramesRenderer - baseUrl={baseUrl} - refs={refs} - scale={scale} - entry={entry} - viewMode={viewMode} - refId={refId} - queryParams={queryParams} - storyId={storyId} - /> - )} - </ApplyWrappers> - </> - ); - }} - </ZoomConsumer> - ); - }} - </Consumer> - ); - }, + render: () => null, }); -const useTabs = ( - id: PreviewProps['id'], - baseUrl: PreviewProps['baseUrl'], - withLoader: PreviewProps['withLoader'], - getElements: API['getElements'], - entry: PreviewProps['entry'] -) => { - const canvas = useMemo(() => { - return createCanvas(id, baseUrl, withLoader); - }, [id, baseUrl, withLoader]); - - const tabsFromConfig = useMemo(() => { - return getTabs(getElements); - }, [getElements]); +const useTabs = (getElements: API['getElements'], entry: PreviewProps['entry']) => { + const canvasTab = useMemo(() => createCanvasTab(), []); + const tabsFromConfig = useMemo(() => getTabs(getElements), [getElements]); return useMemo(() => { if (entry?.type === 'story' && entry.parameters) { - return filterTabs([canvas, ...tabsFromConfig], entry.parameters); + return filterTabs([canvasTab, ...tabsFromConfig], entry.parameters); } - return [canvas, ...tabsFromConfig]; - }, [entry, canvas, ...tabsFromConfig]); + return [canvasTab, ...tabsFromConfig]; + }, [entry, ...tabsFromConfig]); }; const Preview = React.memo<PreviewProps>(function Preview(props) { @@ -169,7 +72,7 @@ const Preview = React.memo<PreviewProps>(function Preview(props) { } = props; const { getElements } = api; - const tabs = useTabs(previewId, baseUrl, withLoader, getElements, entry); + const tabs = useTabs(getElements, entry); const shouldScale = viewMode === 'story'; const { showToolbar, showTabs = true } = options; @@ -211,6 +114,7 @@ const Preview = React.memo<PreviewProps>(function Preview(props) { tabs={visibleTabsInToolbar} /> <S.FrameWrap key="frame" offset={showToolbar ? 40 : 0}> + <Canvas {...{ withLoader, baseUrl }} /> {tabs.map(({ render: Render, match, ...t }, i) => { // @ts-expect-error (Converted from ts-ignore) const key = t.id || t.key || i; @@ -228,7 +132,94 @@ const Preview = React.memo<PreviewProps>(function Preview(props) { export { Preview }; -function filterTabs(panels: Addon[], parameters: Record<string, any>) { +const Canvas: FC<{ withLoader: boolean; baseUrl: string; children?: never }> = ({ + baseUrl, + withLoader, +}) => { + return ( + <Consumer filter={canvasMapper}> + {({ + entry, + refs, + customCanvas, + storyId, + refId, + viewMode, + queryParams, + getElements, + previewInitialized, + active, + }) => { + const id = 'canvas'; + const wrappers = useMemo( + () => [...defaultWrappers, ...getWrappers(getElements)], + [getElements, ...defaultWrappers] + ); + + const [progress, setProgress] = useState(undefined); + useEffect(() => { + if (FEATURES?.storyStoreV7 && global.CONFIG_TYPE === 'DEVELOPMENT') { + try { + const channel = addons.getServerChannel(); + + channel.on(PREVIEW_BUILDER_PROGRESS, (options) => { + setProgress(options); + }); + } catch { + // + } + } + }, []); + // A ref simply depends on its readiness + const refLoading = !!refs[refId] && !refs[refId].previewInitialized; + // The root also might need to wait on webpack + const isBuilding = !(progress?.value === 1 || progress === undefined); + const rootLoading = !refId && (!previewInitialized || isBuilding); + const isLoading = entry ? refLoading || rootLoading : rootLoading; + + return ( + <ZoomConsumer> + {({ value: scale }) => { + return ( + <> + {withLoader && isLoading && ( + <S.LoaderWrapper> + <Loader id="preview-loader" role="progressbar" progress={progress} /> + </S.LoaderWrapper> + )} + <ApplyWrappers + id={id} + storyId={storyId} + viewMode={viewMode} + active={active} + wrappers={wrappers} + > + {customCanvas ? ( + customCanvas(storyId, viewMode, id, baseUrl, scale, queryParams) + ) : ( + <FramesRenderer + baseUrl={baseUrl} + refs={refs} + scale={scale} + entry={entry} + viewMode={viewMode} + refId={refId} + queryParams={queryParams} + storyId={storyId} + /> + )} + </ApplyWrappers> + </> + ); + }} + </ZoomConsumer> + ); + }} + </Consumer> + ); +}; + +function filterTabs(panels: Addon_BaseType[], parameters: Record<string, any>) { const { previewTabs } = addons.getConfig(); const parametersTabs = parameters ? parameters.previewTabs : undefined; @@ -245,7 +236,7 @@ function filterTabs(panels: Addon[], parameters: Record<string, any>) { const t = arrTabs.find((tab) => tab.id === panel.id); return t === undefined || t.id === 'canvas' || !t.hidden; }) - .map((panel, index) => ({ ...panel, index } as Addon)) + .map((panel, index) => ({ ...panel, index } as Addon_BaseType)) .sort((p1, p2) => { /* eslint-disable @typescript-eslint/naming-convention */ const tab_1 = arrTabs.find((tab) => tab.id === p1.id); @@ -265,7 +256,7 @@ function filterTabs(panels: Addon[], parameters: Record<string, any>) { title: t.title || panel.title, disabled: t.disabled, hidden: t.hidden, - } as Addon; + } as Addon_BaseType; } return panel; }); diff --git a/code/ui/manager/src/components/preview/toolbar.tsx b/code/ui/manager/src/components/preview/toolbar.tsx index 454ee5d1f4f0..b82e5cb2eb38 100644 --- a/code/ui/manager/src/components/preview/toolbar.tsx +++ b/code/ui/manager/src/components/preview/toolbar.tsx @@ -13,11 +13,11 @@ import { merge, type LeafEntry, addons, - type Addon, types, } from '@storybook/manager-api'; import { Location, type RenderData } from '@storybook/router'; +import type { Addon_BaseType } from '@storybook/types'; import { zoomTool } from './tools/zoom'; import * as S from './utils/components'; @@ -29,10 +29,8 @@ import { menuTool } from './tools/menu'; import { addonsTool } from './tools/addons'; import { remountTool } from './tools/remount'; -export const getTools = (getFn: API['getElements']) => Object.values(getFn<Addon>(types.TOOL)); - -export const getToolsExtra = (getFn: API['getElements']) => - Object.values(getFn<Addon>(types.TOOLEXTRA)); +export const getTools = (getFn: API['getElements']) => Object.values(getFn(types.TOOL)); +export const getToolsExtra = (getFn: API['getElements']) => Object.values(getFn(types.TOOLEXTRA)); const Bar: FunctionComponent<{ shown: boolean } & Record<string, any>> = ({ shown, ...props }) => ( <FlexBar {...props} /> @@ -59,9 +57,10 @@ const fullScreenMapper = ({ api, state }: Combo) => ({ singleStory: state.singleStory, }); -export const fullScreenTool: Addon = { +export const fullScreenTool: Addon_BaseType = { title: 'fullscreen', id: 'fullscreen', + type: types.TOOL, match: (p) => ['story', 'docs'].includes(p.viewMode), render: () => ( <Consumer filter={fullScreenMapper}> @@ -88,9 +87,10 @@ const tabsMapper = ({ state }: Combo) => ({ refId: state.refId, }); -export const createTabsTool = (tabs: Addon[]): Addon => ({ +export const createTabsTool = (tabs: Addon_BaseType[]): Addon_BaseType => ({ title: 'title', id: 'title', + type: types.TOOL, render: () => ( <Consumer filter={tabsMapper}> {(rp) => ( @@ -117,12 +117,17 @@ export const createTabsTool = (tabs: Addon[]): Addon => ({ ), }); -export const defaultTools: Addon[] = [remountTool, zoomTool]; -export const defaultToolsExtra: Addon[] = [addonsTool, fullScreenTool, ejectTool, copyTool]; +export const defaultTools: Addon_BaseType[] = [remountTool, zoomTool]; +export const defaultToolsExtra: Addon_BaseType[] = [ + addonsTool, + fullScreenTool, + ejectTool, + copyTool, +]; const useTools = ( getElements: API['getElements'], - tabs: Addon[], + tabs: Addon_BaseType[], viewMode: PreviewProps['viewMode'], entry: PreviewProps['entry'], location: PreviewProps['location'], @@ -154,7 +159,7 @@ const useTools = ( export interface ToolData { isShown: boolean; - tabs: Addon[]; + tabs: Addon_BaseType[]; api: API; entry: LeafEntry; } @@ -180,7 +185,7 @@ export const ToolbarComp = React.memo<ToolData>(function ToolbarComp(props) { ); }); -export const Tools = React.memo<{ list: Addon[] }>(function Tools({ list }) { +export const Tools = React.memo<{ list: Addon_BaseType[] }>(function Tools({ list }) { return ( <> {list.filter(Boolean).map(({ render: Render, id, ...t }, index) => ( @@ -191,7 +196,7 @@ export const Tools = React.memo<{ list: Addon[] }>(function Tools({ list }) { ); }); -function toolbarItemHasBeenExcluded(item: Partial<Addon>, entry: LeafEntry) { +function toolbarItemHasBeenExcluded(item: Partial<Addon_BaseType>, entry: LeafEntry) { const parameters = entry.type === 'story' && entry.prepared ? entry.parameters : {}; const toolbarItemsFromStoryParameters = 'toolbar' in parameters ? parameters.toolbar : undefined; const { toolbar: toolbarItemsFromAddonsConfig } = addons.getConfig(); @@ -202,9 +207,9 @@ function toolbarItemHasBeenExcluded(item: Partial<Addon>, entry: LeafEntry) { } export function filterTools( - tools: Addon[], - toolsExtra: Addon[], - tabs: Addon[], + tools: Addon_BaseType[], + toolsExtra: Addon_BaseType[], + tabs: Addon_BaseType[], { viewMode, entry, @@ -224,7 +229,7 @@ export function filterTools( ]; const toolsRight = [...toolsExtra]; - const filter = (item: Partial<Addon>) => + const filter = (item: Partial<Addon_BaseType>) => item && (!item.match || item.match({ diff --git a/code/ui/manager/src/components/preview/tools/addons.tsx b/code/ui/manager/src/components/preview/tools/addons.tsx index 9fc35f6de659..53fe821ae4af 100644 --- a/code/ui/manager/src/components/preview/tools/addons.tsx +++ b/code/ui/manager/src/components/preview/tools/addons.tsx @@ -1,7 +1,8 @@ import React from 'react'; import { IconButton, Icons } from '@storybook/components'; -import { Consumer } from '@storybook/manager-api'; -import type { Addon, Combo } from '@storybook/manager-api'; +import { Consumer, types } from '@storybook/manager-api'; +import type { Combo } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; const menuMapper = ({ api, state }: Combo) => ({ isVisible: state.layout.showPanel, @@ -10,9 +11,10 @@ const menuMapper = ({ api, state }: Combo) => ({ toggle: () => api.togglePanel(), }); -export const addonsTool: Addon = { +export const addonsTool: Addon_BaseType = { title: 'addons', id: 'addons', + type: types.TOOL, match: ({ viewMode }) => viewMode === 'story', render: () => ( <Consumer filter={menuMapper}> diff --git a/code/ui/manager/src/components/preview/tools/copy.tsx b/code/ui/manager/src/components/preview/tools/copy.tsx index 857f8a82761e..0b0084aae857 100644 --- a/code/ui/manager/src/components/preview/tools/copy.tsx +++ b/code/ui/manager/src/components/preview/tools/copy.tsx @@ -2,8 +2,9 @@ import { global } from '@storybook/global'; import React from 'react'; import copy from 'copy-to-clipboard'; import { getStoryHref, IconButton, Icons } from '@storybook/components'; -import { Consumer } from '@storybook/manager-api'; -import type { Addon, Combo } from '@storybook/manager-api'; +import { Consumer, types } from '@storybook/manager-api'; +import type { Combo } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; const { PREVIEW_URL, document } = global; @@ -22,9 +23,10 @@ const copyMapper = ({ state }: Combo) => { }; }; -export const copyTool: Addon = { +export const copyTool: Addon_BaseType = { title: 'copy', id: 'copy', + type: types.TOOL, match: ({ viewMode }) => viewMode === 'story', render: () => ( <Consumer filter={copyMapper}> diff --git a/code/ui/manager/src/components/preview/tools/eject.tsx b/code/ui/manager/src/components/preview/tools/eject.tsx index 6a08419f3077..65688038b859 100644 --- a/code/ui/manager/src/components/preview/tools/eject.tsx +++ b/code/ui/manager/src/components/preview/tools/eject.tsx @@ -1,8 +1,9 @@ import { global } from '@storybook/global'; import React from 'react'; import { getStoryHref, IconButton, Icons } from '@storybook/components'; -import { Consumer } from '@storybook/manager-api'; -import type { Addon, Combo } from '@storybook/manager-api'; +import { Consumer, types } from '@storybook/manager-api'; +import type { Combo } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; const { PREVIEW_URL } = global; @@ -18,9 +19,10 @@ const ejectMapper = ({ state }: Combo) => { }; }; -export const ejectTool: Addon = { +export const ejectTool: Addon_BaseType = { title: 'eject', id: 'eject', + type: types.TOOL, match: ({ viewMode }) => viewMode === 'story', render: () => ( <Consumer filter={ejectMapper}> diff --git a/code/ui/manager/src/components/preview/tools/menu.tsx b/code/ui/manager/src/components/preview/tools/menu.tsx index 6edb1366f77d..8512e9e16abc 100644 --- a/code/ui/manager/src/components/preview/tools/menu.tsx +++ b/code/ui/manager/src/components/preview/tools/menu.tsx @@ -1,7 +1,8 @@ import React from 'react'; import { IconButton, Icons, Separator } from '@storybook/components'; -import { Consumer } from '@storybook/manager-api'; -import type { Addon, Combo } from '@storybook/manager-api'; +import { Consumer, types } from '@storybook/manager-api'; +import type { Combo } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; const menuMapper = ({ api, state }: Combo) => ({ isVisible: state.layout.showNav, @@ -9,9 +10,10 @@ const menuMapper = ({ api, state }: Combo) => ({ toggle: () => api.toggleNav(), }); -export const menuTool: Addon = { +export const menuTool: Addon_BaseType = { title: 'menu', id: 'menu', + type: types.TOOL, match: ({ viewMode }) => ['story', 'docs'].includes(viewMode), render: () => ( <Consumer filter={menuMapper}> diff --git a/code/ui/manager/src/components/preview/tools/remount.tsx b/code/ui/manager/src/components/preview/tools/remount.tsx index b095c6f431c1..6bf4c1f7553e 100644 --- a/code/ui/manager/src/components/preview/tools/remount.tsx +++ b/code/ui/manager/src/components/preview/tools/remount.tsx @@ -1,10 +1,11 @@ import type { ComponentProps } from 'react'; import React, { useState } from 'react'; import { IconButton, Icons } from '@storybook/components'; -import { Consumer } from '@storybook/manager-api'; -import type { Addon, Combo } from '@storybook/manager-api'; +import { Consumer, types } from '@storybook/manager-api'; +import type { Combo } from '@storybook/manager-api'; import { styled } from '@storybook/theming'; import { FORCE_REMOUNT } from '@storybook/core-events'; +import type { Addon_BaseType } from '@storybook/types'; interface AnimatedButtonProps { animating?: boolean; @@ -28,9 +29,10 @@ const menuMapper = ({ api, state }: Combo) => { }; }; -export const remountTool: Addon = { +export const remountTool: Addon_BaseType = { title: 'remount', id: 'remount', + type: types.TOOL, match: ({ viewMode }) => viewMode === 'story', render: () => ( <Consumer filter={menuMapper}> diff --git a/code/ui/manager/src/components/preview/tools/zoom.tsx b/code/ui/manager/src/components/preview/tools/zoom.tsx index fe6530b96d17..84e0f72bafae 100644 --- a/code/ui/manager/src/components/preview/tools/zoom.tsx +++ b/code/ui/manager/src/components/preview/tools/zoom.tsx @@ -2,7 +2,8 @@ import type { SyntheticEvent, MouseEventHandler } from 'react'; import React, { Component, useCallback } from 'react'; import { Icons, IconButton, Separator } from '@storybook/components'; -import type { Addon } from '@storybook/manager-api'; +import type { Addon_BaseType } from '@storybook/types'; +import { types } from '@storybook/manager-api'; const initialZoom = 1 as const; @@ -78,9 +79,10 @@ const ZoomWrapper = React.memo<{ set: (zoomLevel: number) => void; value: number } ); -export const zoomTool: Addon = { +export const zoomTool: Addon_BaseType = { title: 'zoom', id: 'zoom', + type: types.TOOL, match: ({ viewMode }) => viewMode === 'story', render: React.memo(function ZoomToolRenderer() { return ( diff --git a/code/ui/manager/src/components/preview/utils/types.tsx b/code/ui/manager/src/components/preview/utils/types.tsx index efe259cc61b1..9d8158514864 100644 --- a/code/ui/manager/src/components/preview/utils/types.tsx +++ b/code/ui/manager/src/components/preview/utils/types.tsx @@ -1,12 +1,10 @@ -import type { FunctionComponent, ReactNode } from 'react'; +import type { ReactElement } from 'react'; import type { State, API, LeafEntry } from '@storybook/manager-api'; -import type { StoryId } from '@storybook/types'; - -export type ViewMode = State['viewMode']; +import type { Addon_WrapperType, API_ViewMode, StoryId } from '@storybook/types'; export interface PreviewProps { api: API; - viewMode: ViewMode; + viewMode: API_ViewMode; refs: State['refs']; storyId: StoryId; entry: LeafEntry; @@ -25,20 +23,8 @@ export interface PreviewProps { withLoader: boolean; } -export interface WrapperProps { - index: number; - children: ReactNode; - id: string; - storyId: StoryId; - active: boolean; -} - -export interface Wrapper { - render: FunctionComponent<WrapperProps>; -} - export interface ApplyWrappersProps { - wrappers: Wrapper[]; + wrappers: Addon_WrapperType[]; viewMode: State['viewMode']; id: string; storyId: StoryId; @@ -52,7 +38,7 @@ export type CustomCanvasRenderer = ( baseUrl: string, scale: number, queryParams: Record<string, any> -) => ReactNode; +) => ReactElement<any, any> | null; export interface FramesRendererProps { entry: LeafEntry; @@ -60,7 +46,7 @@ export interface FramesRendererProps { refId: string; baseUrl: string; scale: number; - viewMode: ViewMode; + viewMode: API_ViewMode; queryParams: State['customQueryParams']; refs: State['refs']; } diff --git a/code/ui/manager/src/components/preview/wrappers.tsx b/code/ui/manager/src/components/preview/wrappers.tsx index 52da844cd01a..a88404e6d515 100644 --- a/code/ui/manager/src/components/preview/wrappers.tsx +++ b/code/ui/manager/src/components/preview/wrappers.tsx @@ -1,6 +1,8 @@ import type { FC } from 'react'; import React, { Fragment } from 'react'; -import type { ApplyWrappersProps, Wrapper } from './utils/types'; +import type { Addon_WrapperType } from '@storybook/types'; +import { Addon_TypesEnum } from '@storybook/types'; +import type { ApplyWrappersProps } from './utils/types'; import { IframeWrapper } from './utils/components'; export const ApplyWrappers: FC<ApplyWrappersProps> = ({ @@ -13,19 +15,23 @@ export const ApplyWrappers: FC<ApplyWrappersProps> = ({ return ( <Fragment> {wrappers.reduceRight( - (acc, wrapper, index) => wrapper.render({ index, children: acc, id, storyId, active }), + (acc, wrapper, index) => ( + <wrapper.render {...{ index, children: acc, id, storyId, active }} /> + ), children )} </Fragment> ); }; -export const defaultWrappers = [ +export const defaultWrappers: Addon_WrapperType[] = [ { + id: 'iframe-wrapper', + type: Addon_TypesEnum.PREVIEW, render: (p) => ( <IframeWrapper id="storybook-preview-wrapper" hidden={!p.active}> {p.children} </IframeWrapper> ), - } as Wrapper, + }, ]; diff --git a/code/ui/manager/src/components/sidebar/RefIndicator.tsx b/code/ui/manager/src/components/sidebar/RefIndicator.tsx index d9c81f6398c4..a46ba2c89642 100644 --- a/code/ui/manager/src/components/sidebar/RefIndicator.tsx +++ b/code/ui/manager/src/components/sidebar/RefIndicator.tsx @@ -10,7 +10,7 @@ import { useStorybookApi } from '@storybook/manager-api'; import type { RefType } from './types'; -import type { getStateType } from './utils'; +import type { getStateType } from '../../utils/tree'; const { document, window: globalWindow } = global; diff --git a/code/ui/manager/src/components/sidebar/Refs.tsx b/code/ui/manager/src/components/sidebar/Refs.tsx index b2c69b27f99c..a7696ee696ca 100644 --- a/code/ui/manager/src/components/sidebar/Refs.tsx +++ b/code/ui/manager/src/components/sidebar/Refs.tsx @@ -1,5 +1,6 @@ import type { FC, MutableRefObject } from 'react'; import React, { useMemo, useState, useRef, useCallback } from 'react'; +import type { State } from '@storybook/manager-api'; import { useStorybookApi, useStorybookState } from '@storybook/manager-api'; import { styled } from '@storybook/theming'; import { transparentize } from 'polished'; @@ -7,6 +8,7 @@ import { transparentize } from 'polished'; import { AuthBlock, ErrorBlock, LoaderBlock, EmptyBlock } from './RefBlocks'; import { RefIndicator } from './RefIndicator'; + // eslint-disable-next-line import/no-cycle import { Tree } from './Tree'; import { CollapseIcon } from './TreeNode'; @@ -14,7 +16,7 @@ import { CollapseIcon } from './TreeNode'; import { DEFAULT_REF_ID } from './Sidebar'; import type { Highlight, RefType } from './types'; -import { getStateType } from './utils'; +import { getStateType } from '../../utils/tree'; export interface RefProps { isLoading: boolean; @@ -95,7 +97,9 @@ const CollapseButton = styled.button(({ theme }) => ({ }, })); -export const Ref: FC<RefType & RefProps> = React.memo(function Ref(props) { +export const Ref: FC<RefType & RefProps & { status?: State['status'] }> = React.memo(function Ref( + props +) { const { docsOptions } = useStorybookState(); const api = useStorybookApi(); const { @@ -161,6 +165,7 @@ export const Ref: FC<RefType & RefProps> = React.memo(function Ref(props) { {state === 'empty' && <EmptyBlock isMain={isMain} />} {state === 'ready' && ( <Tree + status={props.status} isBrowsing={isBrowsing} isMain={isMain} refId={refId} diff --git a/code/ui/manager/src/components/sidebar/Search.tsx b/code/ui/manager/src/components/sidebar/Search.tsx index 9bd4b6839954..af2c858efdf5 100644 --- a/code/ui/manager/src/components/sidebar/Search.tsx +++ b/code/ui/manager/src/components/sidebar/Search.tsx @@ -20,7 +20,8 @@ import type { } from './types'; import { isSearchResult, isExpandType, isClearType, isCloseType } from './types'; -import { scrollIntoView, searchItem } from './utils'; +import { scrollIntoView, searchItem } from '../../utils/tree'; +import { getGroupStatus, getHighestStatus } from '../../utils/status'; const { document } = global; @@ -169,7 +170,9 @@ export const Search = React.memo<{ const selectStory = useCallback( (id: string, refId: string) => { - if (api) api.selectStory(id, undefined, { ref: refId !== DEFAULT_REF_ID && refId }); + if (api) { + api.selectStory(id, undefined, { ref: refId !== DEFAULT_REF_ID && refId }); + } inputRef.current.blur(); showAllComponents(false); }, @@ -177,9 +180,22 @@ export const Search = React.memo<{ ); const list: SearchItem[] = useMemo(() => { - return dataset.entries.reduce((acc: SearchItem[], [refId, { index }]) => { + return dataset.entries.reduce<SearchItem[]>((acc, [refId, { index, status }]) => { + const groupStatus = getGroupStatus(index || {}, status); + if (index) { - acc.push(...Object.values(index).map((item) => searchItem(item, dataset.hash[refId]))); + acc.push( + ...Object.values(index).map((item) => { + const statusValue = + status && status[item.id] + ? getHighestStatus(Object.values(status[item.id] || {}).map((s) => s.status)) + : null; + return { + ...searchItem(item, dataset.hash[refId]), + status: statusValue || groupStatus[item.id] || null, + }; + }) + ); } return acc; }, []); diff --git a/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx b/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx index d2c72e0c721f..c92ef644cc48 100644 --- a/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx +++ b/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx @@ -4,7 +4,7 @@ import type { StoriesHash } from '@storybook/manager-api'; import { mockDataset } from './mockdata'; import { SearchResults } from './SearchResults'; import type { CombinedDataset, Refs, SearchItem } from './types'; -import { searchItem } from './utils'; +import { searchItem } from '../../utils/tree'; export default { component: SearchResults, diff --git a/code/ui/manager/src/components/sidebar/SearchResults.tsx b/code/ui/manager/src/components/sidebar/SearchResults.tsx index 882d77a6f1f5..8cca81f84cb1 100644 --- a/code/ui/manager/src/components/sidebar/SearchResults.tsx +++ b/code/ui/manager/src/components/sidebar/SearchResults.tsx @@ -11,8 +11,9 @@ import { ComponentNode, DocumentNode, Path, RootNode, StoryNode } from './TreeNo import type { Match, DownshiftItem, SearchResult } from './types'; import { isCloseType, isClearType, isExpandType } from './types'; // eslint-disable-next-line import/no-cycle -import { getLink } from './utils'; +import { getLink } from '../../utils/tree'; import { matchesKeyCode, matchesModifiers } from '../../keybinding'; +import { statusMapping } from '../../utils/status'; const { document } = global; @@ -25,14 +26,18 @@ const ResultsList = styled.ol({ }); const ResultRow = styled.li<{ isHighlighted: boolean }>(({ theme, isHighlighted }) => ({ - display: 'block', + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', margin: 0, padding: 0, + paddingRight: 20, background: isHighlighted ? theme.background.hoverable : 'transparent', cursor: 'pointer', 'a:hover, button:hover': { background: 'transparent', }, + gap: 10, })); const NoResults = styled.div(({ theme }) => ({ @@ -109,7 +114,11 @@ const Highlight: FC<{ match?: Match }> = React.memo(function Highlight({ childre }); const Result: FC< - SearchResult & { icon: string; isHighlighted: boolean; onClick: MouseEventHandler } + SearchResult & { + icon: string; + isHighlighted: boolean; + onClick: MouseEventHandler; + } > = React.memo(function Result({ item, matches, icon, onClick, ...props }) { const click: MouseEventHandler = useCallback( (event) => { @@ -163,7 +172,16 @@ const Result: FC< node = <DocumentNode href={getLink(item, item.refId)} {...nodeProps} />; } - return <ResultRow {...props}>{node}</ResultRow>; + const [i, iconColor] = item.status ? statusMapping[item.status] : []; + + return ( + <ResultRow {...props}> + {node} + {item.status ? ( + <Icons width="8px" height="8px" icon={i} style={{ color: iconColor }} /> + ) : null} + </ResultRow> + ); }); export const SearchResults: FC<{ @@ -202,6 +220,9 @@ export const SearchResults: FC<{ }, [closeMenu, enableShortcuts, isLoading]); const mouseOverHandler = useCallback((event: MouseEvent) => { + if (!api) { + return; + } const currentTarget = event.currentTarget as HTMLElement; const storyId = currentTarget.getAttribute('data-id'); const refId = currentTarget.getAttribute('data-refid'); diff --git a/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx b/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx index 936789d0cde0..66fe63fbe43b 100644 --- a/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx +++ b/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx @@ -1,26 +1,33 @@ import React from 'react'; -import type { IndexHash } from 'lib/manager-api/src'; +import type { IndexHash, State } from 'lib/manager-api/src'; +import type { StoryObj, Meta } from '@storybook/react'; +import { within, userEvent } from '@storybook/testing-library'; import { Sidebar, DEFAULT_REF_ID } from './Sidebar'; import { standardData as standardHeaderData } from './Heading.stories'; import * as ExplorerStories from './Explorer.stories'; import { mockDataset } from './mockdata'; import type { RefType } from './types'; -export default { +const wait = (ms: number) => + new Promise<void>((resolve) => { + setTimeout(resolve, ms); + }); + +const meta = { component: Sidebar, title: 'Sidebar/Sidebar', excludeStories: /.*Data$/, parameters: { layout: 'fullscreen', withSymbols: true }, - decorators: [ - ExplorerStories.default.decorators[0], - (storyFn: any) => <div style={{ padding: '0 20px', maxWidth: '230px' }}>{storyFn()}</div>, - ], -}; + decorators: [ExplorerStories.default.decorators[0]], +} as Meta<typeof Sidebar>; + +export default meta; + +type Story = StoryObj<typeof meta>; const { menu } = standardHeaderData; const index = mockDataset.withRoot as IndexHash; -const refId = DEFAULT_REF_ID; const storyId = 'root-1-child-a2--grandchild-a1-1'; export const simpleData = { menu, index, storyId }; @@ -47,57 +54,171 @@ const refsError = { }, }; -export const Simple = () => ( - <Sidebar - previewInitialized - menu={menu} - index={index as any} - storyId={storyId} - refId={refId} - refs={{}} - /> -); - -export const Loading = () => ( - <Sidebar previewInitialized={false} menu={menu} storyId={storyId} refId={refId} refs={{}} /> -); - -export const Empty = () => ( - <Sidebar previewInitialized menu={menu} index={{}} storyId={storyId} refId={refId} refs={{}} /> -); - -export const IndexError = () => ( - <Sidebar - previewInitialized - indexError={indexError} - menu={menu} - storyId={storyId} - refId={refId} - refs={{}} - /> -); - -export const WithRefs = () => ( - <Sidebar - previewInitialized - menu={menu} - index={index as any} - storyId={storyId} - refId={refId} - refs={refs} - /> -); - -export const LoadingWithRefs = () => ( - <Sidebar previewInitialized={false} menu={menu} storyId={storyId} refId={refId} refs={refs} /> -); - -export const LoadingWithRefError = () => ( - <Sidebar - previewInitialized={false} - menu={menu} - storyId={storyId} - refId={refId} - refs={refsError} - /> -); +export const Simple: Story = { + args: { previewInitialized: true }, + render: (args) => ( + <Sidebar + {...args} + menu={menu} + index={index as any} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={{}} + status={{}} + /> + ), +}; + +export const Loading: Story = { + args: { previewInitialized: false }, + render: (args) => ( + <Sidebar {...args} menu={menu} storyId={storyId} refId={DEFAULT_REF_ID} refs={{}} status={{}} /> + ), +}; + +export const Empty: Story = { + args: { + previewInitialized: true, + }, + render: (args) => ( + <Sidebar + {...args} + menu={menu} + index={{}} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={{}} + status={{}} + /> + ), +}; + +export const IndexError: Story = { + args: { + previewInitialized: true, + }, + render: (args) => ( + <Sidebar + {...args} + indexError={indexError} + menu={menu} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={{}} + status={{}} + /> + ), +}; + +export const WithRefs: Story = { + args: { + previewInitialized: true, + }, + render: (args) => ( + <Sidebar + {...args} + menu={menu} + index={index as any} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={refs} + status={{}} + /> + ), +}; + +export const LoadingWithRefs: Story = { + args: { + previewInitialized: false, + }, + render: (args) => ( + <Sidebar + {...args} + menu={menu} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={refs} + status={{}} + /> + ), +}; + +export const LoadingWithRefError: Story = { + args: { + previewInitialized: false, + }, + render: (args) => ( + <Sidebar + {...args} + menu={menu} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={refsError} + status={{}} + /> + ), +}; + +export const StatusesCollapsed: Story = { + args: { + previewInitialized: true, + status: Object.entries(index).reduce<State['status']>((acc, [id, item]) => { + if (item.type !== 'story') { + return acc; + } + + if (item.name.includes('B')) { + return { + ...acc, + [id]: { + addonA: { status: 'warn', title: 'Addon A', description: 'We just wanted you to know' }, + addonB: { status: 'error', title: 'Addon B', description: 'This is a big deal!' }, + }, + }; + } + return acc; + }, {}), + }, + render: (args) => ( + <Sidebar + {...args} + menu={menu} + index={index as any} + storyId={storyId} + refId={DEFAULT_REF_ID} + refs={{}} + /> + ), +}; + +export const StatusesOpen: Story = { + ...StatusesCollapsed, + args: { + ...StatusesCollapsed.args, + status: Object.entries(index).reduce<State['status']>((acc, [id, item]) => { + if (item.type !== 'story') { + return acc; + } + + return { + ...acc, + [id]: { + addonA: { status: 'warn', title: 'Addon A', description: 'We just wanted you to know' }, + addonB: { status: 'error', title: 'Addon B', description: 'This is a big deal!' }, + }, + }; + }, {}), + }, +}; + +export const Searching: Story = { + ...StatusesOpen, + parameters: { theme: 'light', chromatic: { delay: 2200 } }, + play: async ({ canvasElement, step }) => { + await step('wait 2000ms', () => wait(2000)); + const canvas = await within(canvasElement); + const search = await canvas.findByPlaceholderText('Find components'); + userEvent.clear(search); + userEvent.type(search, 'B2'); + }, +}; diff --git a/code/ui/manager/src/components/sidebar/Sidebar.tsx b/code/ui/manager/src/components/sidebar/Sidebar.tsx index e6d8ba1ca285..f8daa49b726a 100644 --- a/code/ui/manager/src/components/sidebar/Sidebar.tsx +++ b/code/ui/manager/src/components/sidebar/Sidebar.tsx @@ -59,7 +59,10 @@ const Swap = React.memo(function Swap({ ); }); -const useCombination = (defaultRefData: API_LoadedRefData, refs: Refs): CombinedDataset => { +const useCombination = ( + defaultRefData: API_LoadedRefData & { status: State['status'] }, + refs: Refs +): CombinedDataset => { const hash = useMemo( () => ({ [DEFAULT_REF_ID]: { @@ -77,6 +80,7 @@ const useCombination = (defaultRefData: API_LoadedRefData, refs: Refs): Combined export interface SidebarProps extends API_LoadedRefData { refs: State['refs']; + status: State['status']; menu: any[]; storyId?: string; refId?: string; @@ -89,6 +93,7 @@ export const Sidebar = React.memo(function Sidebar({ refId = DEFAULT_REF_ID, index, indexError, + status, previewInitialized, menu, menuHighlighted = false, @@ -96,8 +101,7 @@ export const Sidebar = React.memo(function Sidebar({ refs = {}, }: SidebarProps) { const selected: Selection = useMemo(() => storyId && { storyId, refId }, [storyId, refId]); - - const dataset = useCombination({ index, indexError, previewInitialized }, refs); + const dataset = useCombination({ index, indexError, previewInitialized, status }, refs); const isLoading = !index && !indexError; const lastViewedProps = useLastViewed(selected); diff --git a/code/ui/manager/src/components/sidebar/Tree.stories.tsx b/code/ui/manager/src/components/sidebar/Tree.stories.tsx index 807b861cccf2..6889d23c56ac 100644 --- a/code/ui/manager/src/components/sidebar/Tree.stories.tsx +++ b/code/ui/manager/src/components/sidebar/Tree.stories.tsx @@ -1,161 +1,237 @@ -/* eslint-disable storybook/use-storybook-testing-library */ // @TODO: use addon-interactions and remove the rule disable above -import React from 'react'; +import React, { useState } from 'react'; import type { ComponentEntry, IndexHash } from '@storybook/manager-api'; -import { screen } from '@testing-library/dom'; +import { action } from '@storybook/addon-actions'; +import type { StoryObj, Meta } from '@storybook/react'; +import { within } from '@storybook/testing-library'; + +import { expect } from '@storybook/jest'; import { Tree } from './Tree'; import { index } from './mockdata.large'; import { DEFAULT_REF_ID } from './Sidebar'; -export default { +const customViewports = { + sized: { + name: 'Sized', + styles: { + width: '380px', + height: '90%', + }, + }, +}; + +const meta = { component: Tree, title: 'Sidebar/Tree', excludeStories: /.*Data$/, - parameters: { layout: 'fullscreen', withSymbols: true }, - decorators: [(storyFn: any) => <div style={{ maxWidth: '230px' }}>{storyFn()}</div>], -}; - -const refId = DEFAULT_REF_ID; -const storyId = Object.values(index).find((story) => story.type === 'story').id; + parameters: { + layout: 'fullscreen', + withSymbols: true, + theme: 'light', + viewport: { + defaultViewport: 'sized', + viewports: customViewports, + }, + chromatic: { viewports: [380] }, + }, +} as Meta<typeof Tree>; -const log = (id: string) => console.log(id); +export default meta; -export const Full = () => { - const [selectedId, setSelectedId] = React.useState(storyId); - return ( - <Tree - docsMode={false} - isBrowsing - isMain - refId={refId} - data={index} - highlightedRef={{ current: { itemId: selectedId, refId } }} - setHighlightedItemId={log} - selectedStoryId={selectedId} - onSelectStoryId={setSelectedId} - /> - ); -}; +const storyId = Object.values(index).find((story) => story.type === 'story').id; -const tooltipStories = Object.keys(index).reduce((acc, key) => { - if (key === 'tooltip-tooltipselect--default') { - acc['tooltip-tooltipselect--tooltipselect'] = { - ...index[key], - id: 'tooltip-tooltipselect--tooltipselect', - name: 'TooltipSelect', - }; - return acc; - } - if (key === 'tooltip-tooltipselect') { - acc[key] = { - ...(index[key] as ComponentEntry), - children: ['tooltip-tooltipselect--tooltipselect'], - }; - return acc; - } - if (key.startsWith('tooltip')) acc[key] = index[key]; - return acc; -}, {} as IndexHash); +type Story = StoryObj<typeof meta>; -const singleStoryComponent: IndexHash = { - // @ts-expect-error (invalid input) - single: { - type: 'component', - name: 'Single', - id: 'single', - parent: null, - depth: 0, - children: ['single--single'], - renderLabel: () => <span>🔥 Single</span>, +export const Full: Story = { + args: { + docsMode: false, + isBrowsing: true, + isMain: true, + refId: DEFAULT_REF_ID, + setHighlightedItemId: action('setHighlightedItemId'), }, - // @ts-expect-error (invalid input) - 'single--single': { - type: 'story', - id: 'single--single', - title: 'Single', - name: 'Single', - prepared: true, - args: {}, - argTypes: {}, - initialArgs: {}, - depth: 1, - parent: 'single', - renderLabel: () => <span>🔥 Single</span>, - importPath: './single.stories.js', + render: (args) => { + const [selectedId, setSelectedId] = useState(storyId); + return ( + <Tree + {...args} + data={index} + selectedStoryId={selectedId} + onSelectStoryId={setSelectedId} + highlightedRef={{ current: { itemId: selectedId, refId: DEFAULT_REF_ID } }} + /> + ); }, }; -export const SingleStoryComponents = () => { - const [selectedId, setSelectedId] = React.useState('tooltip-tooltipbuildlist--default'); - return ( - <Tree - docsMode={false} - isBrowsing - isMain - refId={refId} - data={{ ...singleStoryComponent, ...tooltipStories }} - highlightedRef={{ current: { itemId: selectedId, refId } }} - setHighlightedItemId={log} - selectedStoryId={selectedId} - onSelectStoryId={setSelectedId} - /> - ); +export const Dark: Story = { + ...Full, + parameters: { theme: 'dark' }, }; -const docsOnlySinglesStoryComponent: IndexHash = { - // @ts-expect-error (invalid input) - single: { - type: 'component', - name: 'Single', - id: 'single', - parent: null, - depth: 0, - children: ['single--docs'], +export const SingleStoryComponents: Story = { + args: { + docsMode: false, + isBrowsing: true, + isMain: true, + refId: DEFAULT_REF_ID, + setHighlightedItemId: action('setHighlightedItemId'), }, - // @ts-expect-error (invalid input) - 'single--docs': { - type: 'docs', - id: 'single--docs', - title: 'Single', - name: 'Single', - depth: 1, - parent: 'single', - importPath: './single.stories.js', + render: (args) => { + const [selectedId, setSelectedId] = useState('tooltip-tooltipbuildlist--default'); + return ( + <Tree + {...args} + data={{ + ...{ + single: { + type: 'component', + name: 'Single', + id: 'single', + isRoot: false, + isLeaf: false, + isComponent: true, + parent: null, + depth: 0, + children: ['single--single'], + renderLabel: () => <span>🔥 Single</span>, + }, + 'single--single': { + type: 'story', + id: 'single--single', + title: 'Single', + name: 'Single', + kind: 'single', + tags: [], + isRoot: false, + isLeaf: true, + isComponent: false, + prepared: true, + args: {}, + argTypes: {}, + initialArgs: {}, + depth: 1, + parent: 'single', + renderLabel: () => <span>🔥 Single</span>, + importPath: './single.stories.js', + }, + }, + ...Object.keys(index).reduce((acc, key) => { + if (key === 'tooltip-tooltipselect--default') { + acc['tooltip-tooltipselect--tooltipselect'] = { + ...index[key], + id: 'tooltip-tooltipselect--tooltipselect', + name: 'TooltipSelect', + }; + return acc; + } + if (key === 'tooltip-tooltipselect') { + acc[key] = { + ...(index[key] as ComponentEntry), + children: ['tooltip-tooltipselect--tooltipselect'], + }; + return acc; + } + if (key.startsWith('tooltip')) { + acc[key] = index[key]; + } + return acc; + }, {} as IndexHash), + }} + highlightedRef={{ current: { itemId: selectedId, refId: DEFAULT_REF_ID } }} + selectedStoryId={selectedId} + onSelectStoryId={setSelectedId} + /> + ); }, }; -export const DocsOnlySingleStoryComponents = () => { - const [selectedId, setSelectedId] = React.useState('tooltip-tooltipbuildlist--default'); - return ( - <Tree - docsMode={false} - isBrowsing - isMain - refId={refId} - data={{ ...docsOnlySinglesStoryComponent, ...tooltipStories }} - highlightedRef={{ current: { itemId: selectedId, refId } }} - setHighlightedItemId={log} - selectedStoryId={selectedId} - onSelectStoryId={setSelectedId} - /> - ); + +export const DocsOnlySingleStoryComponents = { + render: () => { + const [selectedId, setSelectedId] = useState('tooltip-tooltipbuildlist--default'); + return ( + <Tree + docsMode={false} + isBrowsing + isMain + refId={DEFAULT_REF_ID} + data={{ + ...{ + single: { + type: 'component', + name: 'Single', + isRoot: false, + isLeaf: false, + isComponent: true, + id: 'single', + parent: null, + depth: 0, + children: ['single--docs'], + }, + 'single--docs': { + type: 'docs', + id: 'single--docs', + title: 'Single', + name: 'Single', + kind: 'single', + tags: [], + isRoot: false, + isLeaf: true, + isComponent: false, + prepared: true, + depth: 1, + parent: 'single', + importPath: './single.stories.js', + }, + }, + ...Object.keys(index).reduce((acc, key) => { + if (key === 'tooltip-tooltipselect--default') { + acc['tooltip-tooltipselect--tooltipselect'] = { + ...index[key], + id: 'tooltip-tooltipselect--tooltipselect', + name: 'TooltipSelect', + }; + return acc; + } + if (key === 'tooltip-tooltipselect') { + acc[key] = { + ...(index[key] as ComponentEntry), + children: ['tooltip-tooltipselect--tooltipselect'], + }; + return acc; + } + if (key.startsWith('tooltip')) { + acc[key] = index[key]; + } + return acc; + }, {} as IndexHash), + }} + highlightedRef={{ current: { itemId: selectedId, refId: DEFAULT_REF_ID } }} + setHighlightedItemId={action('setHighlightedItemId')} + selectedStoryId={selectedId} + onSelectStoryId={setSelectedId} + /> + ); + }, }; -// node must be selected, highlighted, and focused -// in order to tab to 'Skip to canvas' link -export const SkipToCanvasLinkFocused = { - args: { - isBrowsing: true, - isMain: true, - refId, - data: index, - highlightedRef: { current: { itemId: 'tooltip-tooltipbuildlist--default', refId } }, - setHighlightedItemId: log, - selectedStoryId: 'tooltip-tooltipbuildlist--default', - onSelectStoryId: () => {}, +// SkipToCanvas Link only shows on desktop widths +export const SkipToCanvasLinkFocused: Story = { + ...DocsOnlySingleStoryComponents, + parameters: { + chromatic: { disable: true }, + viewport: { + defaultViewport: 'sized', + viewports: customViewports, + defaultOrientation: 'landscape', + }, }, - parameters: { chromatic: { delay: 300 } }, - play: () => { - // focus each instance for chromatic/storybook's stacked theme - screen.getAllByText('Skip to canvas').forEach((x) => x.focus()); + play: async ({ canvasElement }) => { + const screen = await within(canvasElement); + const link = await screen.findByText('Skip to canvas'); + + await link.focus(); + + await expect(link).toBeVisible(); }, }; diff --git a/code/ui/manager/src/components/sidebar/Tree.tsx b/code/ui/manager/src/components/sidebar/Tree.tsx index cd4c1d354bb1..8d5ac50484ea 100644 --- a/code/ui/manager/src/components/sidebar/Tree.tsx +++ b/code/ui/manager/src/components/sidebar/Tree.tsx @@ -1,7 +1,14 @@ import { useStorybookApi } from '@storybook/manager-api'; -import type { StoriesHash, GroupEntry, ComponentEntry, StoryEntry } from '@storybook/manager-api'; +import type { + StoriesHash, + GroupEntry, + ComponentEntry, + StoryEntry, + State, + API, +} from '@storybook/manager-api'; import { styled } from '@storybook/theming'; -import { Button, Icons } from '@storybook/components'; +import { Button, Icons, TooltipLinkList, WithTooltip } from '@storybook/components'; import { transparentize } from 'polished'; import type { MutableRefObject } from 'react'; import React, { useCallback, useMemo, useRef } from 'react'; @@ -21,7 +28,14 @@ import type { ExpandAction, ExpandedState } from './useExpanded'; import { useExpanded } from './useExpanded'; import type { Highlight, Item } from './types'; -import { isStoryHoistable, createId, getAncestorIds, getDescendantIds, getLink } from './utils'; +import { + isStoryHoistable, + createId, + getAncestorIds, + getDescendantIds, + getLink, +} from '../../utils/tree'; +import { statusMapping, getHighestStatus, getGroupStatus } from '../../utils/status'; export const Action = styled.button(({ theme }) => ({ display: 'inline-flex', @@ -104,24 +118,49 @@ const CollapseButton = styled.button(({ theme }) => ({ }, })); -const LeafNodeStyleWrapper = styled.div(({ theme }) => ({ +export const LeafNodeStyleWrapper = styled.div(({ theme }) => ({ position: 'relative', + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + paddingRight: 20, + + color: theme.color.defaultText, + background: 'transparent', + '&:hover, &:focus': { + outline: 'none', + background: theme.background.hoverable, + }, + '&[data-selected="true"]': { + color: theme.color.lightest, + background: theme.color.secondary, + fontWeight: theme.typography.weight.bold, + '&:hover, &:focus': { + background: theme.color.secondary, + }, + svg: { color: theme.color.lightest }, + }, + a: { color: 'currentColor' }, })); const SkipToContentLink = styled(Button)(({ theme }) => ({ display: 'none', '@media (min-width: 600px)': { display: 'block', - zIndex: -1, - position: 'absolute', - top: 1, - right: 20, - height: '20px', fontSize: '10px', - padding: '5px 10px', + overflow: 'hidden', + width: 1, + height: '20px', + boxSizing: 'border-box', + opacity: 0, + padding: 0, + '&:focus': { + opacity: 1, + padding: '5px 10px', background: 'white', - zIndex: 1, + color: theme.color.secondary, + width: 'auto', }, }, })); @@ -132,47 +171,60 @@ interface NodeProps { docsMode: boolean; isOrphan: boolean; isDisplayed: boolean; + color: string | undefined; isSelected: boolean; isFullyExpanded?: boolean; isExpanded: boolean; setExpanded: (action: ExpandAction) => void; setFullyExpanded?: () => void; onSelectStoryId: (itemId: string) => void; + status: State['status'][keyof State['status']]; + api: API; } const Node = React.memo<NodeProps>(function Node({ item, + status, refId, docsMode, isOrphan, isDisplayed, isSelected, isFullyExpanded, + color, setFullyExpanded, isExpanded, setExpanded, onSelectStoryId, + api, }) { - const api = useStorybookApi(); - if (!isDisplayed) return null; + if (!isDisplayed) { + return null; + } const id = createId(item.id, refId); if (item.type === 'story' || item.type === 'docs') { const LeafNode = item.type === 'docs' ? DocumentNode : StoryNode; + + const statusValue = getHighestStatus(Object.values(status || {}).map((s) => s.status)); + const [icon, iconColor, textColor] = statusMapping[statusValue]; + return ( - <LeafNodeStyleWrapper> + <LeafNodeStyleWrapper + data-selected={isSelected} + data-ref-id={refId} + data-item-id={item.id} + data-parent-id={item.parent} + data-nodetype={item.type === 'docs' ? 'document' : 'story'} + data-highlightable={isDisplayed} + className="sidebar-item" + > <LeafNode + style={isSelected ? {} : { color: textColor }} key={id} + href={getLink(item, refId)} id={id} - className="sidebar-item" - data-ref-id={refId} - data-item-id={item.id} - data-parent-id={item.parent} - data-nodetype={item.type === 'docs' ? 'document' : 'story'} - data-selected={isSelected} - data-highlightable={isDisplayed} depth={isOrphan ? item.depth : item.depth - 1} - href={getLink(item, refId)} onClick={(event) => { event.preventDefault(); onSelectStoryId(item.id); @@ -186,6 +238,31 @@ const Node = React.memo<NodeProps>(function Node({ Skip to canvas </SkipToContentLink> )} + {icon ? ( + <WithTooltip + placement="top" + tooltip={() => ( + <TooltipLinkList + links={Object.entries(status || {}).map(([k, v]) => ({ + id: k, + title: v.title, + description: v.description, + right: ( + <Icons + icon={statusMapping[v.status][0]} + style={{ color: statusMapping[v.status][1] }} + /> + ), + }))} + /> + )} + closeOnOutsideClick + > + <Action type="button"> + <Icons icon={icon} style={{ color: isSelected ? 'white' : iconColor }} /> + </Action> + </WithTooltip> + ) : null} </LeafNodeStyleWrapper> ); } @@ -231,40 +308,45 @@ const Node = React.memo<NodeProps>(function Node({ ); } - const BranchNode = item.type === 'component' ? ComponentNode : GroupNode; - return ( - <BranchNode - key={id} - id={id} - className="sidebar-item" - data-ref-id={refId} - data-item-id={item.id} - data-parent-id={item.parent} - data-nodetype={item.type === 'component' ? 'component' : 'group'} - data-highlightable={isDisplayed} - aria-controls={item.children && item.children[0]} - aria-expanded={isExpanded} - depth={isOrphan ? item.depth : item.depth - 1} - isComponent={item.type === 'component'} - isExpandable={item.children && item.children.length > 0} - isExpanded={isExpanded} - onClick={(event) => { - event.preventDefault(); - setExpanded({ ids: [item.id], value: !isExpanded }); - if (item.type === 'component' && !isExpanded) onSelectStoryId(item.id); - }} - onMouseEnter={() => { - if (item.isComponent) { - api.emit(PRELOAD_ENTRIES, { - ids: [item.children[0]], - options: { target: refId }, - }); - } - }} - > - {(item.renderLabel as (i: typeof item) => React.ReactNode)?.(item) || item.name} - </BranchNode> - ); + if (item.type === 'component' || item.type === 'group') { + const BranchNode = item.type === 'component' ? ComponentNode : GroupNode; + return ( + <BranchNode + key={id} + id={id} + style={color ? { color } : {}} + className="sidebar-item" + data-ref-id={refId} + data-item-id={item.id} + data-parent-id={item.parent} + data-nodetype={item.type === 'component' ? 'component' : 'group'} + data-highlightable={isDisplayed} + aria-controls={item.children && item.children[0]} + aria-expanded={isExpanded} + depth={isOrphan ? item.depth : item.depth - 1} + isComponent={item.type === 'component'} + isExpandable={item.children && item.children.length > 0} + isExpanded={isExpanded} + onClick={(event) => { + event.preventDefault(); + setExpanded({ ids: [item.id], value: !isExpanded }); + if (item.type === 'component' && !isExpanded) onSelectStoryId(item.id); + }} + onMouseEnter={() => { + if (item.isComponent) { + api.emit(PRELOAD_ENTRIES, { + ids: [item.children[0]], + options: { target: refId }, + }); + } + }} + > + {(item.renderLabel as (i: typeof item) => React.ReactNode)?.(item) || item.name} + </BranchNode> + ); + } + + return null; }); const Root = React.memo<NodeProps & { expandableDescendants: string[] }>(function Root({ @@ -295,6 +377,7 @@ const Container = styled.div<{ hasOrphans: boolean }>((props) => ({ export const Tree = React.memo<{ isBrowsing: boolean; isMain: boolean; + status?: State['status']; refId: string; data: StoriesHash; docsMode: boolean; @@ -307,6 +390,7 @@ export const Tree = React.memo<{ isMain, refId, data, + status, docsMode, highlightedRef, setHighlightedItemId, @@ -314,6 +398,7 @@ export const Tree = React.memo<{ onSelectStoryId, }) { const containerRef = useRef<HTMLDivElement>(null); + const api = useStorybookApi(); // Find top-level nodes and group them so we can hoist any orphans and expand any roots. const [rootIds, orphanIds, initialExpanded] = useMemo( @@ -366,9 +451,10 @@ export const Tree = React.memo<{ }, [data]); // Omit single-story components from the list of nodes. - const collapsedItems = useMemo(() => { - return Object.keys(data).filter((id) => !singleStoryComponentIds.includes(id)); - }, [singleStoryComponentIds]); + const collapsedItems = useMemo( + () => Object.keys(data).filter((id) => !singleStoryComponentIds.includes(id)), + [singleStoryComponentIds] + ); // Rewrite the dataset to place the child story in place of the component. const collapsedData = useMemo(() => { @@ -414,6 +500,8 @@ export const Tree = React.memo<{ onSelectStoryId, }); + const groupStatus = useMemo(() => getGroupStatus(collapsedData, status), [collapsedData, status]); + return ( <Container ref={containerRef} hasOrphans={isMain && orphanIds.length > 0}> {collapsedItems.map((itemId) => { @@ -442,11 +530,16 @@ export const Tree = React.memo<{ } const isDisplayed = !item.parent || ancestry[itemId].every((a: string) => expanded[a]); + const color = groupStatus[itemId] ? statusMapping[groupStatus[itemId]][2] : null; + return ( <Node + api={api} key={id} item={item} + status={status?.[itemId]} refId={refId} + color={color} docsMode={docsMode} isOrphan={orphanIds.some((oid) => itemId === oid || itemId.startsWith(`${oid}-`))} isDisplayed={isDisplayed} diff --git a/code/ui/manager/src/components/sidebar/TreeNode.stories.tsx b/code/ui/manager/src/components/sidebar/TreeNode.stories.tsx index 28664ea8fef1..78f7de5739fb 100644 --- a/code/ui/manager/src/components/sidebar/TreeNode.stories.tsx +++ b/code/ui/manager/src/components/sidebar/TreeNode.stories.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { HighlightStyles } from './HighlightStyles'; +import { LeafNodeStyleWrapper } from './Tree'; import { ComponentNode, DocumentNode, GroupNode, StoryNode } from './TreeNode'; @@ -53,23 +54,59 @@ export const Nested = () => ( export const Selection = () => ( <> <HighlightStyles refId="foo" itemId="bar" /> - <StoryNode data-ref-id="baz" data-item-id="bar" data-nodetype="story" data-selected="false"> - Default story - </StoryNode> - <StoryNode data-ref-id="baz" data-item-id="bar" data-nodetype="story" data-selected="true"> - Selected story - </StoryNode> - <StoryNode data-ref-id="foo" data-item-id="bar" data-nodetype="story" data-selected="false"> - Highlighted story - </StoryNode> - <StoryNode data-ref-id="foo" data-item-id="bar" data-nodetype="story" data-selected="true"> - Highlighted + Selected story - </StoryNode> - <GroupNode data-ref-id="foo" data-item-id="baz" data-nodetype="group" data-selected="false"> - Default group - </GroupNode> - <GroupNode data-ref-id="foo" data-item-id="bar" data-nodetype="group" data-selected="false"> - Highlighted group - </GroupNode> + <LeafNodeStyleWrapper + data-ref-id="baz" + data-item-id="bar" + data-nodetype="story" + data-selected="false" + className="sidebar-item" + > + <StoryNode>Default story</StoryNode> + </LeafNodeStyleWrapper> + <LeafNodeStyleWrapper + data-ref-id="baz" + data-item-id="bar" + data-nodetype="story" + data-selected="true" + className="sidebar-item" + > + <StoryNode>Selected story</StoryNode> + </LeafNodeStyleWrapper> + <LeafNodeStyleWrapper + data-ref-id="foo" + data-item-id="bar" + data-nodetype="story" + data-selected="false" + className="sidebar-item" + > + <StoryNode>Highlighted story</StoryNode> + </LeafNodeStyleWrapper> + <LeafNodeStyleWrapper + data-ref-id="foo" + data-item-id="bar" + data-nodetype="story" + data-selected="true" + className="sidebar-item" + > + <StoryNode>Highlighted + Selected story</StoryNode> + </LeafNodeStyleWrapper> + <LeafNodeStyleWrapper + data-ref-id="foo" + data-item-id="baz" + data-nodetype="group" + data-selected="false" + className="sidebar-item" + > + <GroupNode>Default group</GroupNode> + </LeafNodeStyleWrapper> + <LeafNodeStyleWrapper + data-ref-id="foo" + data-item-id="bar" + data-nodetype="group" + data-selected="false" + className="sidebar-item" + > + <GroupNode>Highlighted group</GroupNode> + </LeafNodeStyleWrapper> </> ); diff --git a/code/ui/manager/src/components/sidebar/TreeNode.tsx b/code/ui/manager/src/components/sidebar/TreeNode.tsx index f71c7c0e9202..9768c0cf10a7 100644 --- a/code/ui/manager/src/components/sidebar/TreeNode.tsx +++ b/code/ui/manager/src/components/sidebar/TreeNode.tsx @@ -82,27 +82,14 @@ const BranchNode = styled.button<{ const LeafNode = styled.a<{ depth?: number }>(({ theme, depth = 0 }) => ({ cursor: 'pointer', + color: 'inherit', display: 'flex', + flex: 1, alignItems: 'start', padding: 3, paddingLeft: `${18 + depth * 16}px`, fontSize: `${theme.typography.size.s2 - 1}px`, textDecoration: 'none', - color: theme.color.defaultText, - background: 'transparent', - '&:hover, &:focus': { - outline: 'none', - background: theme.background.hoverable, - }, - '&[data-selected="true"]': { - color: theme.color.lightest, - background: theme.color.secondary, - fontWeight: theme.typography.weight.bold, - '&:hover, &:focus': { - background: theme.color.secondary, - }, - svg: { color: theme.color.lightest }, - }, })); export const Path = styled.span(({ theme }) => ({ diff --git a/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx b/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx index 2e409618e8ed..26fd8750f301 100644 --- a/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx +++ b/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx @@ -16,7 +16,7 @@ const factory = (props: Partial<SidebarProps>): RenderResult => { return render( <ThemeProvider theme={theme}> - <Sidebar menu={[]} index={{}} previewInitialized refs={{}} {...props} /> + <Sidebar menu={[]} index={{}} previewInitialized refs={{}} status={{}} {...props} /> </ThemeProvider> ); }; diff --git a/code/ui/manager/src/components/sidebar/mockdata.ts b/code/ui/manager/src/components/sidebar/mockdata.ts index 6aa339ca7198..e8155fb44bd8 100644 --- a/code/ui/manager/src/components/sidebar/mockdata.ts +++ b/code/ui/manager/src/components/sidebar/mockdata.ts @@ -1,6 +1,6 @@ -import type { StoriesHash } from '@storybook/manager-api'; +import type { API_HashEntry } from '@storybook/types'; -export type MockDataSet = Record<string, Record<string, Partial<StoriesHash[0]>>>; +export type MockDataSet = Record<string, Record<string, Partial<API_HashEntry>>>; export const mockDataset: MockDataSet = { withRoot: { diff --git a/code/ui/manager/src/components/sidebar/types.ts b/code/ui/manager/src/components/sidebar/types.ts index c050d30e860c..c0bd12417d66 100644 --- a/code/ui/manager/src/components/sidebar/types.ts +++ b/code/ui/manager/src/components/sidebar/types.ts @@ -1,8 +1,9 @@ import type { StoriesHash, State } from '@storybook/manager-api'; import type { ControllerStateAndHelpers } from 'downshift'; +import type { API_StatusState, API_StatusValue } from 'lib/types/src'; export type Refs = State['refs']; -export type RefType = Refs[keyof Refs]; +export type RefType = Refs[keyof Refs] & { status?: API_StatusState }; export type Item = StoriesHash[keyof StoriesHash]; export type Dataset = Record<string, Item>; @@ -56,7 +57,7 @@ export interface ExpandType { moreCount: number; } -export type SearchItem = Item & { refId: string; path: string[] }; +export type SearchItem = Item & { refId: string; path: string[]; status?: API_StatusValue }; export type SearchResult = Fuse.FuseResultWithMatches<SearchItem> & Fuse.FuseResultWithScore<SearchItem>; diff --git a/code/ui/manager/src/components/sidebar/useExpanded.ts b/code/ui/manager/src/components/sidebar/useExpanded.ts index 854796c317f0..66e654f66a24 100644 --- a/code/ui/manager/src/components/sidebar/useExpanded.ts +++ b/code/ui/manager/src/components/sidebar/useExpanded.ts @@ -3,14 +3,13 @@ import { useStorybookApi } from '@storybook/manager-api'; import { STORIES_COLLAPSE_ALL, STORIES_EXPAND_ALL } from '@storybook/core-events'; import { global } from '@storybook/global'; import throttle from 'lodash/throttle.js'; -import type { Dispatch, MutableRefObject } from 'react'; -import type React from 'react'; +import type { Dispatch, MutableRefObject, Reducer } from 'react'; import { useCallback, useEffect, useReducer } from 'react'; import { matchesKeyCode, matchesModifiers } from '../../keybinding'; import type { Highlight } from './types'; // eslint-disable-next-line import/no-cycle -import { isAncestor, getAncestorIds, getDescendantIds, scrollIntoView } from './utils'; +import { isAncestor, getAncestorIds, getDescendantIds, scrollIntoView } from '../../utils/tree'; const { document } = global; @@ -76,7 +75,7 @@ export const useExpanded = ({ // Track the set of currently expanded nodes within this tree. // Root nodes are expanded by default. const [expanded, setExpanded] = useReducer< - React.Reducer<ExpandedState, ExpandAction>, + Reducer<ExpandedState, ExpandAction>, { refId: string; data: StoriesHash; diff --git a/code/ui/manager/src/components/sidebar/useHighlighted.ts b/code/ui/manager/src/components/sidebar/useHighlighted.ts index 5ee649081a61..ff5d5704d983 100644 --- a/code/ui/manager/src/components/sidebar/useHighlighted.ts +++ b/code/ui/manager/src/components/sidebar/useHighlighted.ts @@ -6,8 +6,9 @@ import { PRELOAD_ENTRIES } from '@storybook/core-events'; import { matchesKeyCode, matchesModifiers } from '../../keybinding'; import type { CombinedDataset, Highlight, Selection } from './types'; + // eslint-disable-next-line import/no-cycle -import { cycle, isAncestor, scrollIntoView } from './utils'; +import { cycle, isAncestor, scrollIntoView } from '../../utils/tree'; const { document, window: globalWindow } = global; diff --git a/code/ui/manager/src/containers/sidebar.tsx b/code/ui/manager/src/containers/sidebar.tsx index 86b9cb71ac6b..c4beb5bda4c4 100755 --- a/code/ui/manager/src/containers/sidebar.tsx +++ b/code/ui/manager/src/containers/sidebar.tsx @@ -17,6 +17,7 @@ const Sidebar = React.memo(function Sideber() { refId, layout: { showToolbar, isFullscreen, showPanel, showNav }, index, + status, indexError, previewInitialized, refs, @@ -40,6 +41,7 @@ const Sidebar = React.memo(function Sideber() { url, index, indexError, + status, previewInitialized, refs, storyId, diff --git a/code/ui/manager/src/globals/exports.ts b/code/ui/manager/src/globals/exports.ts index 43b7c50f5191..b1f66314186a 100644 --- a/code/ui/manager/src/globals/exports.ts +++ b/code/ui/manager/src/globals/exports.ts @@ -114,6 +114,7 @@ export default { 'resetComponents', 'withReset', ], + '@storybook/components/experimental': ['Button'], '@storybook/channels': [ 'Channel', 'PostMessageTransport', diff --git a/code/ui/manager/src/globals/runtime.ts b/code/ui/manager/src/globals/runtime.ts index 5850699f171d..391acebf3e91 100644 --- a/code/ui/manager/src/globals/runtime.ts +++ b/code/ui/manager/src/globals/runtime.ts @@ -2,6 +2,7 @@ import * as REACT from 'react'; import * as REACTDOM from 'react-dom'; import * as STORYBOOKCOMPONENTS from '@storybook/components'; +import * as STORYBOOKCOMPONENTSEXPERIMENTAL from '@storybook/components/experimental'; import * as STORYBOOKCHANNELS from '@storybook/channels'; import * as STORYBOOKEVENTS from '@storybook/core-events'; import * as STORYBOOKROUTER from '@storybook/router'; @@ -16,6 +17,7 @@ export const values: Required<Record<keyof typeof Keys, any>> = { react: REACT as any, 'react-dom': REACTDOM, '@storybook/components': STORYBOOKCOMPONENTS, + '@storybook/components/experimental': STORYBOOKCOMPONENTSEXPERIMENTAL, '@storybook/channels': STORYBOOKCHANNELS, '@storybook/core-events': STORYBOOKEVENTS, '@storybook/router': STORYBOOKROUTER, diff --git a/code/ui/manager/src/globals/types.ts b/code/ui/manager/src/globals/types.ts index 2861e45f632a..a499ea31bfaf 100644 --- a/code/ui/manager/src/globals/types.ts +++ b/code/ui/manager/src/globals/types.ts @@ -5,6 +5,7 @@ export enum Keys { 'react' = '__REACT__', 'react-dom' = '__REACTDOM__', '@storybook/components' = '__STORYBOOKCOMPONENTS__', + '@storybook/components/experimental' = '__STORYBOOKCOMPONENTSEXPERIMENTAL__', '@storybook/channels' = '__STORYBOOKCHANNELS__', '@storybook/core-events' = '__STORYBOOKCOREEVENTS__', '@storybook/router' = '__STORYBOOKROUTER__', diff --git a/code/ui/manager/src/index.tsx b/code/ui/manager/src/index.tsx index 9f843d0069e5..8bf921c005da 100644 --- a/code/ui/manager/src/index.tsx +++ b/code/ui/manager/src/index.tsx @@ -1,18 +1,20 @@ import { global } from '@storybook/global'; import type { FC } from 'react'; -import React from 'react'; +import React, { useMemo } from 'react'; import ReactDOM from 'react-dom'; import { Location, LocationProvider, useNavigate } from '@storybook/router'; -import { Provider as ManagerProvider } from '@storybook/manager-api'; +import { Provider as ManagerProvider, types } from '@storybook/manager-api'; import type { Combo } from '@storybook/manager-api'; import { ThemeProvider, ensure as ensureTheme } from '@storybook/theming'; import { HelmetProvider } from 'react-helmet-async'; +import type { Addon_PageType } from '@storybook/types'; import App from './app'; import Provider from './provider'; +import { settingsPageAddon } from './settings'; // @ts-expect-error (Converted from ts-ignore) ThemeProvider.displayName = 'ThemeProvider'; @@ -45,19 +47,30 @@ const Main: FC<{ provider: Provider }> = ({ provider }) => { docsOptions={global?.DOCS_OPTIONS || {}} > {({ state, api }: Combo) => { - const panelCount = Object.keys(api.getPanels()).length; + const panelCount = Object.keys(api.getElements(types.PANEL)).length; + const pages: Addon_PageType[] = useMemo( + () => [settingsPageAddon, ...Object.values(api.getElements(types.experimental_PAGE))], + [Object.keys(api.getElements(types.experimental_PAGE)).join()] + ); + const story = api.getData(state.storyId, state.refId); const isLoading = story ? !!state.refs[state.refId] && !state.refs[state.refId].previewInitialized : !state.previewInitialized; + const layout = useMemo( + () => (isLoading ? { ...state.layout, showPanel: false } : state.layout), + [isLoading, state.layout] + ); + return ( <ThemeProvider key="theme.provider" theme={ensureTheme(state.theme)}> <App key="app" viewMode={state.viewMode} - layout={isLoading ? { ...state.layout, showPanel: false } : state.layout} + layout={layout} panelCount={panelCount} + pages={pages} /> </ThemeProvider> ); diff --git a/code/ui/manager/src/settings/index.tsx b/code/ui/manager/src/settings/index.tsx index 17afcdfed7d6..24b0b12a8229 100644 --- a/code/ui/manager/src/settings/index.tsx +++ b/code/ui/manager/src/settings/index.tsx @@ -1,4 +1,4 @@ -import { useStorybookApi, useStorybookState } from '@storybook/manager-api'; +import { useStorybookApi, useStorybookState, types } from '@storybook/manager-api'; import { IconButton, Icons, FlexBar, TabBar, TabButton, ScrollArea } from '@storybook/components'; import { Location, Route } from '@storybook/router'; import { styled } from '@storybook/theming'; @@ -6,6 +6,7 @@ import { global } from '@storybook/global'; import type { FC, SyntheticEvent } from 'react'; import React, { Fragment } from 'react'; +import type { Addon_PageType } from '@storybook/types'; import { AboutPage } from './about_page'; import { WhatsNewPage } from './whats_new_page'; import { ShortcutsPage } from './shortcuts_page'; @@ -126,4 +127,14 @@ const SettingsPages: FC = () => { ); }; -export { SettingsPages as default }; +export const settingsPageAddon: Addon_PageType = { + id: 'settings', + url: '/settings/', + title: 'Settings', + type: types.experimental_PAGE, + render: () => ( + <Route path="/settings/" startsWith> + <SettingsPages /> + </Route> + ), +}; diff --git a/code/ui/manager/src/settings/typings.d.ts b/code/ui/manager/src/settings/typings.d.ts deleted file mode 100644 index 95e36ac9fcf9..000000000000 --- a/code/ui/manager/src/settings/typings.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -/* eslint-disable @typescript-eslint/naming-convention */ -declare module '@storybook/components/src/treeview/utils'; - -declare var FEATURES: import('@storybook/types').StorybookConfig['features']; - -declare var __REACT__: any; -declare var __REACTDOM__: any; -declare var __STORYBOOKCOMPONENTS__: any; -declare var __STORYBOOKCHANNELS__: any; -declare var __STORYBOOKCOREEVENTS__: any; -declare var __STORYBOOKROUTER__: any; -declare var __STORYBOOKTHEMING__: any; -declare var __STORYBOOKAPI__: any; -declare var __STORYBOOKADDONS__: any; -declare var __STORYBOOKCLIENTLOGGER__: any; diff --git a/code/ui/manager/src/typings.d.ts b/code/ui/manager/src/typings.d.ts index b458d60aa911..f46c49b91852 100644 --- a/code/ui/manager/src/typings.d.ts +++ b/code/ui/manager/src/typings.d.ts @@ -13,3 +13,15 @@ declare var FEATURES: import('@storybook/types').StorybookConfig['features']; declare var REFS: any; declare var VERSIONCHECK: any; declare var LOGLEVEL: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | undefined; + +declare var __REACT__: any; +declare var __REACTDOM__: any; +declare var __STORYBOOKCOMPONENTS__: any; +declare var __STORYBOOKCOMPONENTSEXPERIMENTAL__: any; +declare var __STORYBOOKCHANNELS__: any; +declare var __STORYBOOKCOREEVENTS__: any; +declare var __STORYBOOKROUTER__: any; +declare var __STORYBOOKTHEMING__: any; +declare var __STORYBOOKAPI__: any; +declare var __STORYBOOKADDONS__: any; +declare var __STORYBOOKCLIENTLOGGER__: any; diff --git a/code/ui/manager/src/utils/status.test.ts b/code/ui/manager/src/utils/status.test.ts new file mode 100644 index 000000000000..294e23caea6d --- /dev/null +++ b/code/ui/manager/src/utils/status.test.ts @@ -0,0 +1,50 @@ +import { getHighestStatus, getGroupStatus } from './status'; +import { mockDataset } from '../components/sidebar/mockdata'; + +describe('getHighestStatus', () => { + test('default value', () => { + expect(getHighestStatus([])).toBe('unknown'); + }); + test('should return the highest status', () => { + expect(getHighestStatus(['success', 'error', 'warn', 'pending'])).toBe('error'); + expect(getHighestStatus(['error', 'error', 'warn', 'pending'])).toBe('error'); + expect(getHighestStatus(['warn', 'pending'])).toBe('warn'); + }); +}); + +describe('getGroupStatus', () => { + test('empty case', () => { + expect(getGroupStatus({}, {})).toEqual({}); + }); + test('should return a color', () => { + expect( + getGroupStatus(mockDataset.withRoot, { + 'group-1--child-b1': { a: { status: 'warn', description: '', title: '' } }, + }) + ).toMatchInlineSnapshot(` + Object { + "group-1": "warn", + "root-1-child-a1": "unknown", + "root-1-child-a2": "unknown", + "root-3-child-a2": "unknown", + } + `); + }); + test('should return the highest status', () => { + expect( + getGroupStatus(mockDataset.withRoot, { + 'group-1--child-b1': { + a: { status: 'warn', description: '', title: '' }, + b: { status: 'error', description: '', title: '' }, + }, + }) + ).toMatchInlineSnapshot(` + Object { + "group-1": "error", + "root-1-child-a1": "unknown", + "root-1-child-a2": "unknown", + "root-3-child-a2": "unknown", + } + `); + }); +}); diff --git a/code/ui/manager/src/utils/status.tsx b/code/ui/manager/src/utils/status.tsx new file mode 100644 index 000000000000..259949d3c1ea --- /dev/null +++ b/code/ui/manager/src/utils/status.tsx @@ -0,0 +1,48 @@ +import type { Icons } from '@storybook/components'; +import type { ComponentProps } from 'react'; +import type { API_HashEntry, API_StatusState, API_StatusValue } from '@storybook/types'; +// eslint-disable-next-line import/no-cycle +import { getDescendantIds } from './tree'; + +export const statusPriority: API_StatusValue[] = ['unknown', 'pending', 'success', 'warn', 'error']; +export const statusMapping: Record< + API_StatusValue, + [ComponentProps<typeof Icons>['icon'] | null, string | null, string | null] +> = { + unknown: [null, null, null], + pending: ['watch', 'currentColor', 'currentColor'], + success: ['circle', 'green', 'currentColor'], + warn: ['circle', 'orange', '#A15C20'], + error: ['circle', 'red', 'brown'], +}; + +export const getHighestStatus = (statuses: API_StatusValue[]): API_StatusValue => { + return statusPriority.reduce( + (acc, status) => (statuses.includes(status) ? status : acc), + 'unknown' + ); +}; + +export function getGroupStatus( + collapsedData: { + [x: string]: Partial<API_HashEntry>; + }, + status: API_StatusState +): Record<string, API_StatusValue> { + return Object.values(collapsedData).reduce<Record<string, API_StatusValue>>((acc, item) => { + if (item.type === 'group' || item.type === 'component') { + const leafs = getDescendantIds(collapsedData as any, item.id, false) + .map((id) => collapsedData[id]) + .filter((i) => i.type === 'story'); + + const combinedStatus = getHighestStatus( + leafs.flatMap((story) => Object.values(status?.[story.id] || {})).map((s) => s.status) + ); + + if (combinedStatus) { + acc[item.id] = combinedStatus; + } + } + return acc; + }, {}); +} diff --git a/code/ui/manager/src/components/sidebar/utils.test.js b/code/ui/manager/src/utils/tree.test.js similarity index 96% rename from code/ui/manager/src/components/sidebar/utils.test.js rename to code/ui/manager/src/utils/tree.test.js index 7be74eb145b6..3481e21f6c29 100644 --- a/code/ui/manager/src/components/sidebar/utils.test.js +++ b/code/ui/manager/src/utils/tree.test.js @@ -1,6 +1,6 @@ -import { mockDataset, mockExpanded, mockSelected } from './mockdata'; +import { mockDataset, mockExpanded, mockSelected } from '../components/sidebar/mockdata'; -import * as utils from './utils'; +import * as utils from './tree'; const noRoot = { dataset: mockDataset.noRoot, diff --git a/code/ui/manager/src/components/sidebar/utils.ts b/code/ui/manager/src/utils/tree.ts similarity index 96% rename from code/ui/manager/src/components/sidebar/utils.ts rename to code/ui/manager/src/utils/tree.ts index e751ef5e9bd8..d650362afcf3 100644 --- a/code/ui/manager/src/components/sidebar/utils.ts +++ b/code/ui/manager/src/utils/tree.ts @@ -4,8 +4,8 @@ import type { SyntheticEvent } from 'react'; import type { HashEntry, IndexHash } from '@storybook/manager-api'; // eslint-disable-next-line import/no-cycle -import { DEFAULT_REF_ID } from './Sidebar'; -import type { Item, RefType, Dataset, SearchItem } from './types'; +import { DEFAULT_REF_ID } from '../components/sidebar/Sidebar'; +import type { Item, RefType, Dataset, SearchItem } from '../components/sidebar/types'; const { document, window: globalWindow } = global; diff --git a/code/ui/manager/tsconfig.json b/code/ui/manager/tsconfig.json index aff8c3b01d62..4bc2c0bffe1f 100644 --- a/code/ui/manager/tsconfig.json +++ b/code/ui/manager/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "types": ["testing-library__jest-dom"], + "skipLibCheck": true, "strict": false }, "include": ["src/**/*"] diff --git a/code/yarn.lock b/code/yarn.lock index 8e8f1530c459..63fd993f2c7d 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8c0 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: 53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f + languageName: node + linkType: hard + "@adobe/css-tools@npm:^4.0.1": version: 4.2.0 resolution: "@adobe/css-tools@npm:4.2.0" @@ -22,50 +29,60 @@ __metadata: languageName: node linkType: hard -"@angular-devkit/architect@npm:0.1600.5, @angular-devkit/architect@npm:^0.1600.0-rc.4": - version: 0.1600.5 - resolution: "@angular-devkit/architect@npm:0.1600.5" +"@angular-devkit/architect@npm:0.1601.4": + version: 0.1601.4 + resolution: "@angular-devkit/architect@npm:0.1601.4" + dependencies: + "@angular-devkit/core": 16.1.4 + rxjs: 7.8.1 + checksum: 001f29854d6fb6344a77c65a4e56e5cf3cc7bf245c02528906b4ff501157cf76567e3972f63f70366a625be0283d7793aa34da0f1782c6c83a4247695995babb + languageName: node + linkType: hard + +"@angular-devkit/architect@npm:^0.1600.0-rc.4": + version: 0.1600.6 + resolution: "@angular-devkit/architect@npm:0.1600.6" dependencies: - "@angular-devkit/core": 16.0.5 + "@angular-devkit/core": 16.0.6 rxjs: 7.8.1 - checksum: fdd619f4f8eb851c2adc16cbcf66c4acca08464e40ae590cb9cd6ea6f008eede1a18e5ff5c0d49d2c1ad17f956a5d446f87b04fcbcf070e60ea06ea240e60626 + checksum: 90bb653590008ef33f398eefde986e03c6992257aabf0c83cdc752727c587ba8d446a9735875d7451334b5dde95bc295f53ea8bd2deed43d0e56bdf9815cf574 languageName: node linkType: hard "@angular-devkit/build-angular@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular-devkit/build-angular@npm:16.0.5" + version: 16.1.4 + resolution: "@angular-devkit/build-angular@npm:16.1.4" dependencies: "@ampproject/remapping": 2.2.1 - "@angular-devkit/architect": 0.1600.5 - "@angular-devkit/build-webpack": 0.1600.5 - "@angular-devkit/core": 16.0.5 - "@babel/core": 7.21.4 - "@babel/generator": 7.21.4 - "@babel/helper-annotate-as-pure": 7.18.6 - "@babel/helper-split-export-declaration": 7.18.6 + "@angular-devkit/architect": 0.1601.4 + "@angular-devkit/build-webpack": 0.1601.4 + "@angular-devkit/core": 16.1.4 + "@babel/core": 7.22.5 + "@babel/generator": 7.22.7 + "@babel/helper-annotate-as-pure": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.5 "@babel/plugin-proposal-async-generator-functions": 7.20.7 - "@babel/plugin-transform-async-to-generator": 7.20.7 - "@babel/plugin-transform-runtime": 7.21.4 - "@babel/preset-env": 7.21.4 - "@babel/runtime": 7.21.0 - "@babel/template": 7.20.7 + "@babel/plugin-transform-async-to-generator": 7.22.5 + "@babel/plugin-transform-runtime": 7.22.5 + "@babel/preset-env": 7.22.5 + "@babel/runtime": 7.22.5 + "@babel/template": 7.22.5 "@discoveryjs/json-ext": 0.5.7 - "@ngtools/webpack": 16.0.5 + "@ngtools/webpack": 16.1.4 "@vitejs/plugin-basic-ssl": 1.0.1 ansi-colors: 4.1.3 autoprefixer: 10.4.14 babel-loader: 9.1.2 babel-plugin-istanbul: 6.1.1 - browserslist: 4.21.5 - cacache: 17.0.6 + browserslist: ^4.21.5 + cacache: 17.1.3 chokidar: 3.5.3 copy-webpack-plugin: 11.0.0 - critters: 0.0.16 - css-loader: 6.7.3 - esbuild: 0.17.18 - esbuild-wasm: 0.17.18 - glob: 8.1.0 + critters: 0.0.19 + css-loader: 6.8.1 + esbuild: 0.17.19 + esbuild-wasm: 0.17.19 + fast-glob: 3.2.12 https-proxy-agent: 5.0.1 inquirer: 8.2.4 jsonc-parser: 3.2.0 @@ -75,31 +92,31 @@ __metadata: license-webpack-plugin: 4.0.2 loader-utils: 3.2.1 magic-string: 0.30.0 - mini-css-extract-plugin: 2.7.5 + mini-css-extract-plugin: 2.7.6 mrmime: 1.0.1 open: 8.4.2 ora: 5.4.1 parse5-html-rewriting-stream: 7.0.0 picomatch: 2.3.1 piscina: 3.2.0 - postcss: 8.4.23 - postcss-loader: 7.2.4 + postcss: 8.4.24 + postcss-loader: 7.3.2 resolve-url-loader: 5.0.0 rxjs: 7.8.1 - sass: 1.62.1 - sass-loader: 13.2.2 - semver: 7.4.0 + sass: 1.63.2 + sass-loader: 13.3.1 + semver: 7.5.3 source-map-loader: 4.0.1 source-map-support: 0.5.21 - terser: 5.17.1 + terser: 5.17.7 text-table: 0.2.0 tree-kill: 1.2.2 - tslib: 2.5.0 + tslib: 2.5.3 vite: 4.3.9 - webpack: 5.80.0 - webpack-dev-middleware: 6.0.2 - webpack-dev-server: 4.13.2 - webpack-merge: 5.8.0 + webpack: 5.86.0 + webpack-dev-middleware: 6.1.1 + webpack-dev-server: 4.15.0 + webpack-merge: 5.9.0 webpack-subresource-integrity: 5.1.0 peerDependencies: "@angular/compiler-cli": ^16.0.0 @@ -112,7 +129,7 @@ __metadata: ng-packagr: ^16.0.0 protractor: ^7.0.0 tailwindcss: ^2.0.0 || ^3.0.0 - typescript: ">=4.9.3 <5.1" + typescript: ">=4.9.3 <5.2" dependenciesMeta: esbuild: optional: true @@ -135,26 +152,26 @@ __metadata: optional: true tailwindcss: optional: true - checksum: 7cf6d140519da1a3c0c1dbe8bf009327f5b4794f6914a53fab745fda017a6254f717e26f81cf05125d94fb337c6a11c1117eb3374a0d1a84310d91af662af75b + checksum: 39f59794114b7e030e19dadfc12684ec619da87dbef091d40d3210ea1afb646c7f7f9543a3136326fefc83c7995c67dd1085d861d087d4853faa384c08764e68 languageName: node linkType: hard -"@angular-devkit/build-webpack@npm:0.1600.5": - version: 0.1600.5 - resolution: "@angular-devkit/build-webpack@npm:0.1600.5" +"@angular-devkit/build-webpack@npm:0.1601.4": + version: 0.1601.4 + resolution: "@angular-devkit/build-webpack@npm:0.1601.4" dependencies: - "@angular-devkit/architect": 0.1600.5 + "@angular-devkit/architect": 0.1601.4 rxjs: 7.8.1 peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^4.0.0 - checksum: e9894b1cc6597a9b50f6661d9f62eb3039516b59793509dbf3755cf980eaebd968e3c621f5b7053e5edea823ae3b970f5d6e09fdeed49d8cffe2db372bfb6fa7 + checksum: 1388f0a01deb40d1180d93abaa2b7e7332cdd6aff0e50e93e679a28272b6bcd98a91d1bec17eb6d04c2f653decb85606fbfb363c9586222380ea5f0121eb6e79 languageName: node linkType: hard -"@angular-devkit/core@npm:16.0.5, @angular-devkit/core@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular-devkit/core@npm:16.0.5" +"@angular-devkit/core@npm:16.0.6": + version: 16.0.6 + resolution: "@angular-devkit/core@npm:16.0.6" dependencies: ajv: 8.12.0 ajv-formats: 2.1.1 @@ -166,79 +183,97 @@ __metadata: peerDependenciesMeta: chokidar: optional: true - checksum: 9db0a096570f05699372b2ef66b49c26fba46488a76ccfded603aeab1ac8c062e158edf0fcb153bac4a44247c4912d740788732dc8d81d99f79240095b0f88d9 + checksum: 5cd28c31a5f39f7493688508e331f3eb41ad40b3deb02958259268b7820ff61750637f22554ad0a6fe05e49134d916b3573741d98dd65d3b5a6546aea4fd0efd languageName: node linkType: hard -"@angular-devkit/schematics@npm:16.0.5": - version: 16.0.5 - resolution: "@angular-devkit/schematics@npm:16.0.5" +"@angular-devkit/core@npm:16.1.4, @angular-devkit/core@npm:^16.0.0-rc.4": + version: 16.1.4 + resolution: "@angular-devkit/core@npm:16.1.4" + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1 + jsonc-parser: 3.2.0 + rxjs: 7.8.1 + source-map: 0.7.4 + peerDependencies: + chokidar: ^3.5.2 + peerDependenciesMeta: + chokidar: + optional: true + checksum: 7e04b073910896514b4ee37b17f45c737b595985c7959de0a0e8ac74f2ff4466b50fa3a3da6a288f5d10fd844b60b8469427c1ac175e0307a116f08cf9b7dc26 + languageName: node + linkType: hard + +"@angular-devkit/schematics@npm:16.1.4": + version: 16.1.4 + resolution: "@angular-devkit/schematics@npm:16.1.4" dependencies: - "@angular-devkit/core": 16.0.5 + "@angular-devkit/core": 16.1.4 jsonc-parser: 3.2.0 magic-string: 0.30.0 ora: 5.4.1 rxjs: 7.8.1 - checksum: 41f5deeb9cf47f5ec73643b67cf8ecd6e2af3c283151d8c3d412aed804a80c0bcd154bda3655bedce3600d1215abe4683de60a7b65c204ea7e77050edf391fe0 + checksum: 06039a1e45d2bcc2bbd1188dd818fdfef6cb85e33e7acbeff5d1ba487982a84b962488dc123676407afd3cfa30a69d320c8dfb7d2cab7a02ef71e0be3f7a4cdc languageName: node linkType: hard "@angular/animations@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/animations@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/animations@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/core": 16.0.5 - checksum: 5672b2408087689a959b656363a59405938ff73848800037183b5c28c2985316b7f7c2e2922e74c4e1300e874edf3820addd673beba7984565847be7ee2eeca2 + "@angular/core": 16.1.5 + checksum: fe5d5c6fec7ce5e432107a4bcb25dc52f0ee4520eefd822d8fb1153fa4cd1b5c19af9c7ca8fb32b4668bb47939065207ab6b19b8d1f5177fd02b33a108a43577 languageName: node linkType: hard "@angular/cli@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/cli@npm:16.0.5" + version: 16.1.4 + resolution: "@angular/cli@npm:16.1.4" dependencies: - "@angular-devkit/architect": 0.1600.5 - "@angular-devkit/core": 16.0.5 - "@angular-devkit/schematics": 16.0.5 - "@schematics/angular": 16.0.5 + "@angular-devkit/architect": 0.1601.4 + "@angular-devkit/core": 16.1.4 + "@angular-devkit/schematics": 16.1.4 + "@schematics/angular": 16.1.4 "@yarnpkg/lockfile": 1.1.0 ansi-colors: 4.1.3 - ini: 4.0.0 + ini: 4.1.1 inquirer: 8.2.4 jsonc-parser: 3.2.0 npm-package-arg: 10.1.0 npm-pick-manifest: 8.0.1 open: 8.4.2 ora: 5.4.1 - pacote: 15.1.3 + pacote: 15.2.0 resolve: 1.22.2 - semver: 7.4.0 + semver: 7.5.3 symbol-observable: 4.0.0 yargs: 17.7.2 bin: ng: bin/ng.js - checksum: 34b5e47b82558e44c6ca1e9a9aa89223463be6dbb2abb5b8b274a8dcf09fa1c259c0a5b1b2e325193865bae1083fe98a27274dd5fb7672ef3da53e3daf04561c + checksum: 084fdbf992ee8935369e2653e484ee72aa296fd7cae22d6dc7410e7fe01e40a1cf95f631872822ad8a156ba4d94ac7b34db24d4cf6fafdec5bb976f8a7fd7c07 languageName: node linkType: hard "@angular/common@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/common@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/common@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/core": 16.0.5 + "@angular/core": 16.1.5 rxjs: ^6.5.3 || ^7.4.0 - checksum: 647fcc58ce8627a861cc1f0613837436f54b51d46813f70fb9634738ed28df59a11a4944fc2fc1b99a41df2448c3607b93dc7071fcde075659e3ee0081246f2b + checksum: b9abab8d12a5ad77d0b8071199dd3b38343a1814b30c841334d2945668895c2f23472f9605dc4cb4aca6f5c31fb516f995595f2714f90deb54a6a3d27e20b899 languageName: node linkType: hard "@angular/compiler-cli@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/compiler-cli@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/compiler-cli@npm:16.1.5" dependencies: - "@babel/core": 7.21.8 + "@babel/core": 7.22.5 "@jridgewell/sourcemap-codec": ^1.4.14 chokidar: ^3.0.0 convert-source-map: ^1.5.1 @@ -247,83 +282,83 @@ __metadata: tslib: ^2.3.0 yargs: ^17.2.1 peerDependencies: - "@angular/compiler": 16.0.5 - typescript: ">=4.9.3 <5.1" + "@angular/compiler": 16.1.5 + typescript: ">=4.9.3 <5.2" bin: ng-xi18n: bundles/src/bin/ng_xi18n.js ngc: bundles/src/bin/ngc.js ngcc: bundles/ngcc/index.js - checksum: 4c6afd44ef8c9d1a0949e82014e95c142e84d40fcf365ff5ef0e0b90eebf5c7c41d8e8530c6c5ae940d4d284774e7e801f364b01b9c82ea1564e5cb9054c1bb2 + checksum: 401d9645d9a5715fcfa9b83fcd99143001eee84276aa09cb1b3aaa214f6786a18bf24f302a5bd89fbca7ad0789aedaac46409a58d7a114e95d3c56bb1a144846 languageName: node linkType: hard "@angular/compiler@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/compiler@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/compiler@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/core": 16.0.5 + "@angular/core": 16.1.5 peerDependenciesMeta: "@angular/core": optional: true - checksum: e5a8aeab364b2a6efd0d3807c1712f6527561756685b1cc57351fe302ab183ee1ae5082c2e0a0013730013467cbb9fb13fc33bd1ecf039b368af3038e0f671d2 + checksum: dbf1b5074927f99b472808b3ddc0a42681f91ffd66d944862e4ad428d86f02e3b8e65ae1912df191dfbfe32cebce0cc1daa76fe0a4f96dfbfb1f465cce96fc4c languageName: node linkType: hard "@angular/core@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/core@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/core@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.13.0 - checksum: 6ada26b9eb9978518461bb5194e9a1db84e3478a31bd26435cfde02f9be6776805aa1a84c3154c2aba18169671e723727c1626fdbd16f82fa0fc7db02525f14e + checksum: 8d01c024320c09facdc4ab51073bbde5eccbfda4dff0763c6a332cc4f7a9aaa1ab0b5e97eda844995507bdd0063f97d1d12d7a2ed5c7d87681a3c9210e3975ca languageName: node linkType: hard "@angular/forms@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/forms@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/forms@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/common": 16.0.5 - "@angular/core": 16.0.5 - "@angular/platform-browser": 16.0.5 + "@angular/common": 16.1.5 + "@angular/core": 16.1.5 + "@angular/platform-browser": 16.1.5 rxjs: ^6.5.3 || ^7.4.0 - checksum: a83e337af462878b8a0f988c4c1676ffac62080fb64ae08742e1fb51ecf1d0d9547d7c6e563ade2d5a0bb13171d982093cc6edbf0359ea74051a8893069ce4a0 + checksum: 441ea82e447fb4c8b053dff2097544eb787e5f95efaaf00d44cccf7accba9a549cdd3973d730a8dd8ba0e1f9b2d01f83fd6ed36a192515a595076fa35ac45c53 languageName: node linkType: hard "@angular/platform-browser-dynamic@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/platform-browser-dynamic@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/platform-browser-dynamic@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/common": 16.0.5 - "@angular/compiler": 16.0.5 - "@angular/core": 16.0.5 - "@angular/platform-browser": 16.0.5 - checksum: 026c366470f989dc59cfd7973ab4b3971fb2719914e94a7a302ce767b59fb96bccce7cd86efbfa6e8755788dca3c60d24154efea711ef5bed8c357c399221b6f + "@angular/common": 16.1.5 + "@angular/compiler": 16.1.5 + "@angular/core": 16.1.5 + "@angular/platform-browser": 16.1.5 + checksum: 87d2dcdb41f7d744aa1d9a0227228b66916e2d5c58710b8b58b4619b14d20f026aca626e25c7c1b14e5b2b6e9414597054e40d7c645f5ea59bc5042e39487f6b languageName: node linkType: hard "@angular/platform-browser@npm:^16.0.0-rc.4": - version: 16.0.5 - resolution: "@angular/platform-browser@npm:16.0.5" + version: 16.1.5 + resolution: "@angular/platform-browser@npm:16.1.5" dependencies: tslib: ^2.3.0 peerDependencies: - "@angular/animations": 16.0.5 - "@angular/common": 16.0.5 - "@angular/core": 16.0.5 + "@angular/animations": 16.1.5 + "@angular/common": 16.1.5 + "@angular/core": 16.1.5 peerDependenciesMeta: "@angular/animations": optional: true - checksum: 1de84d33e14b0e2fb428da858936ae8217c4ed1a86cd37c163f836bec9f9af6cae0be819212c3841745d0c02cc22e491449f88398b8ee298e8b6259ab2f4c989 + checksum: 720afdb71019008cf7adcaef26068bbc2edf53b6f5bcb2ac0e365a355f3d6774574fe234f376ec544ce7f750fac1f8ece0189d47dc456bcb0bbaf1191abdee54 languageName: node linkType: hard @@ -346,17 +381,17 @@ __metadata: linkType: hard "@axe-core/puppeteer@npm:^4.2.0": - version: 4.7.2 - resolution: "@axe-core/puppeteer@npm:4.7.2" + version: 4.7.3 + resolution: "@axe-core/puppeteer@npm:4.7.3" dependencies: axe-core: ^4.7.0 peerDependencies: puppeteer: ">=1.10.0" - checksum: 9d8fb34f40147d4f919abdd5a09bc12e20f135f1ae14517186e70f91dadf4841f60b0b2e4ce66b4ba5b6c71567c91502bb324334ab226ed5d4f33c1fc1054fc2 + checksum: 24161a6c8ee3ab33f09e66f73bb81d70c69feb5c2e8cb1a1ba6a6e06ecb204768dbf443bc76abfa95c3fb637fd21ea4270478591b45a00a939b9b3909c11bc4e languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.22.5, @babel/code-frame@npm:^7.8.3": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.5, @babel/code-frame@npm:^7.8.3": version: 7.22.5 resolution: "@babel/code-frame@npm:7.22.5" dependencies: @@ -365,56 +400,33 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.21.4, @babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": +"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": version: 7.22.9 resolution: "@babel/compat-data@npm:7.22.9" checksum: 1334264b041f8ad4e33036326970c9c26754eb5c04b3af6c223fe6da988cbb8a8542b5526f49ec1ac488210d2f710484a0e4bcd30256294ae3f261d0141febad languageName: node linkType: hard -"@babel/core@npm:7.21.4": - version: 7.21.4 - resolution: "@babel/core@npm:7.21.4" - dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.21.4 - "@babel/generator": ^7.21.4 - "@babel/helper-compilation-targets": ^7.21.4 - "@babel/helper-module-transforms": ^7.21.2 - "@babel/helpers": ^7.21.0 - "@babel/parser": ^7.21.4 - "@babel/template": ^7.20.7 - "@babel/traverse": ^7.21.4 - "@babel/types": ^7.21.4 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.2 - semver: ^6.3.0 - checksum: 0987cf87f277eb19c410ef3a03f9377efec40005a5dd2a67ddd0a5f6f429c9d88fefba25206ccf3378c93814b4c9c06a236bf8fcd3ed6ef1c8089fefaa76af24 - languageName: node - linkType: hard - -"@babel/core@npm:7.21.8": - version: 7.21.8 - resolution: "@babel/core@npm:7.21.8" +"@babel/core@npm:7.22.5": + version: 7.22.5 + resolution: "@babel/core@npm:7.22.5" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.21.4 - "@babel/generator": ^7.21.5 - "@babel/helper-compilation-targets": ^7.21.5 - "@babel/helper-module-transforms": ^7.21.5 - "@babel/helpers": ^7.21.5 - "@babel/parser": ^7.21.8 - "@babel/template": ^7.20.7 - "@babel/traverse": ^7.21.5 - "@babel/types": ^7.21.5 + "@babel/code-frame": ^7.22.5 + "@babel/generator": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.5 + "@babel/helper-module-transforms": ^7.22.5 + "@babel/helpers": ^7.22.5 + "@babel/parser": ^7.22.5 + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.5 + "@babel/types": ^7.22.5 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.2 semver: ^6.3.0 - checksum: bf6bb92bd78fb8b6628bb0612ac0915407b996b179e1404108f92ed32972978340b4457b08f2abf86390a58fb51815cab419edb2dbbc8846efc39eaa61b8cde3 + checksum: c00e1474a41c18b669511dd1a1bd757d854cc8128218421a73c3b1c76b44fb22a57bbbd29a73b7a156cb1460af7a94602f81bed76b8d78c6ffae4de954b32a50 languageName: node linkType: hard @@ -441,7 +453,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.19.6, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.9, @babel/core@npm:^7.3.4, @babel/core@npm:^7.7.5, @babel/core@npm:^7.9.6": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.19.6, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.1, @babel/core@npm:^7.22.9, @babel/core@npm:^7.3.4, @babel/core@npm:^7.7.5": version: 7.22.9 resolution: "@babel/core@npm:7.22.9" dependencies: @@ -464,19 +476,19 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:7.21.4": - version: 7.21.4 - resolution: "@babel/generator@npm:7.21.4" +"@babel/generator@npm:7.22.7": + version: 7.22.7 + resolution: "@babel/generator@npm:7.22.7" dependencies: - "@babel/types": ^7.21.4 + "@babel/types": ^7.22.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 0eb142a5ca8a978981c11de9e0ab033659f7110bc21cd14eaeb80977835b895c3a97e5a1807a2f6e79003682141057f00b4bd5f69fe998b4cf99bf989c361277 + checksum: 7eb106916d782d397d0d4370bb4b23229229481218693a55f3fc0b756d4e9dc39cee41872f1735decb0b34be8dbb98c4488d5f7abbf6e40826d5dcac045b1f12 languageName: node linkType: hard -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.21.4, @babel/generator@npm:^7.21.5, @babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.7.2, @babel/generator@npm:^7.8.7": +"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.22.5, @babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.7.2, @babel/generator@npm:^7.8.7": version: 7.22.9 resolution: "@babel/generator@npm:7.22.9" dependencies: @@ -488,16 +500,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:7.18.6": - version: 7.18.6 - resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" - dependencies: - "@babel/types": ^7.18.6 - checksum: e413cd022e1e21232c1ce98f3e1198ec5f4774c7eceb81155a45f9cb6d8481f3983c52f83252309856668e728c751f0340d29854b604530a694899208df6bcc3 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.22.5": +"@babel/helper-annotate-as-pure@npm:7.22.5, @babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" dependencies: @@ -515,7 +518,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.12.0, @babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.21.4, @babel/helper-compilation-targets@npm:^7.21.5, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9": +"@babel/helper-compilation-targets@npm:^7.12.0, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9": version: 7.22.9 resolution: "@babel/helper-compilation-targets@npm:7.22.9" dependencies: @@ -530,51 +533,35 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.5" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.22.5, @babel/helper-create-class-features-plugin@npm:^7.22.6, @babel/helper-create-class-features-plugin@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-function-name": ^7.22.5 "@babel/helper-member-expression-to-functions": ^7.22.5 "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.9 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 - semver: ^6.3.0 + "@babel/helper-split-export-declaration": ^7.22.6 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: a7a98b73dde9c7b0820f5b56e2b8f4cdeaf1a23ec9ab5bb642a9b6cc7c24154e84d20f6de49761dbc34dc84a4797a87db328e8f4b86867bff004a5809fe9e3d5 + checksum: f383152992996b0b936e555aaef35264852908720216c298f677f4b53ba3c4325b700c6a62ff08a8e1377d76ed6538e1bd5232557266eae777cc06b7eb3dd4ad languageName: node linkType: hard "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 regexpu-core: ^5.3.1 - semver: ^6.3.0 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 134e019881cd985bf329648c2885eee31298e2ef0610ed3ba36dca8dc3a5d17851c61d890acb7904bf72a755182bdca39861079729ca71940f0149ed589c9f85 - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.3.3": - version: 0.3.3 - resolution: "@babel/helper-define-polyfill-provider@npm:0.3.3" - dependencies: - "@babel/helper-compilation-targets": ^7.17.7 - "@babel/helper-plugin-utils": ^7.16.7 - debug: ^4.1.1 - lodash.debounce: ^4.0.8 - resolve: ^1.14.2 - semver: ^6.1.2 - peerDependencies: - "@babel/core": ^7.4.0-0 - checksum: c3668f9ee2b76bfc08398756c504a8823e18bad05d0c2ee039b821c839e2b70f3b6ad8b7a3d3a6be434d981ed2af845a490aafecc50eaefb9b5099f2da156527 + checksum: 056c9913299ba399194d9aef5f4281a81806f66979c3c9c6da19b2e29bc92abad6d6d6be0cd4b3ed5945abbdf2d4c45362ee26a012f75f16de7d26859dfde11d languageName: node linkType: hard @@ -628,7 +615,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.18.6, @babel/helper-module-imports@npm:^7.21.4, @babel/helper-module-imports@npm:^7.22.5, @babel/helper-module-imports@npm:^7.8.3": +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.5, @babel/helper-module-imports@npm:^7.8.3": version: 7.22.5 resolution: "@babel/helper-module-imports@npm:7.22.5" dependencies: @@ -637,7 +624,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.21.2, @babel/helper-module-transforms@npm:^7.21.5, @babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": +"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": version: 7.22.9 resolution: "@babel/helper-module-transforms@npm:7.22.9" dependencies: @@ -661,7 +648,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" checksum: d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d @@ -669,30 +656,28 @@ __metadata: linkType: hard "@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-wrap-function": ^7.22.5 - "@babel/types": ^7.22.5 + "@babel/helper-wrap-function": ^7.22.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: a4ec78db69db61dbc65eb5b07c8ab4e836caf89a3a8b2983c2afcde805c11f5c660e0932739315d9f08d7ac442360822227ce9f9fdd9436993d342de9a043cf5 + checksum: e753f19726846df26a13a304632aff2bc6e437201f27eecc7ba12db04b9175062da307e72512cf4761e659ec82cb71016352acd83fbe5e527f4b881ce1e633e8 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-replace-supers@npm:7.22.5" +"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-replace-supers@npm:7.22.9" dependencies: "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-member-expression-to-functions": ^7.22.5 "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 0590aa037340e069de866f313eca7d7f0031bd95b56e5182bef79c05a97e763a6098fa4ab77fed8e3798e832bb6a3230bea438e669bc4d90112f09e841bff064 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 9ef42e0d1f81d3377c96449c82666d54daea86db9f352915d2aff7540008cd65f23574bc97a74308b6203f7a8c6bf886d1cc1fa24917337d3d12ea93cb2a53a8 languageName: node linkType: hard @@ -714,16 +699,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:7.18.6": - version: 7.18.6 - resolution: "@babel/helper-split-export-declaration@npm:7.18.6" +"@babel/helper-split-export-declaration@npm:7.22.5": + version: 7.22.5 + resolution: "@babel/helper-split-export-declaration@npm:7.22.5" dependencies: - "@babel/types": ^7.18.6 - checksum: 1335b510a9aefcbf60d89648e622715774e56040d72302dc5e176c8d837c9ab81414ccfa9ed771a9f98da7192579bb12ab7a95948bfdc69b03b4a882b3983e48 + "@babel/types": ^7.22.5 + checksum: a1e463086f97778584c44129c5c37282d033bf97867b300ff42e64279df18d41fe0e56ebe6a1b27f907afa66ad2a313558db8d2e83e73384c5b22ac726c9c52a languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.5, @babel/helper-split-export-declaration@npm:^7.22.6": +"@babel/helper-split-export-declaration@npm:^7.22.6": version: 7.22.6 resolution: "@babel/helper-split-export-declaration@npm:7.22.6" dependencies: @@ -746,26 +731,25 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.21.0, @babel/helper-validator-option@npm:^7.22.5": +"@babel/helper-validator-option@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-validator-option@npm:7.22.5" checksum: 23e310bf1b90d085b1ae250f31d423fb6cc004da882f0d3409266e5e4c7fd41ed0a172283a6a9a16083c5f2e11f987b32c815c80c60d9a948e23dd6dcf2e0437 languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-wrap-function@npm:7.22.5" +"@babel/helper-wrap-function@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-wrap-function@npm:7.22.9" dependencies: "@babel/helper-function-name": ^7.22.5 "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 "@babel/types": ^7.22.5 - checksum: 34aa811cc433a3fe2d1bcb7c703ad57c523fd9cad5df8da0651175569cb63dc95b1557305735d922d94a4420e11b2a87d65dbe7f14b49b69e2c7a9c0fdea5647 + checksum: 233c10fe3b38efbf8fcf9bcda8b45b998e963d352beb1966012f4b0be8c221776546a999190c77f0a43524b35c0271691453baf71fe2772fcf7f7938d3621b0d languageName: node linkType: hard -"@babel/helpers@npm:^7.21.0, @babel/helpers@npm:^7.21.5, @babel/helpers@npm:^7.22.6, @babel/helpers@npm:^7.8.4": +"@babel/helpers@npm:^7.22.5, @babel/helpers@npm:^7.22.6, @babel/helpers@npm:^7.8.4": version: 7.22.6 resolution: "@babel/helpers@npm:7.22.6" dependencies: @@ -787,7 +771,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.4, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.8.7, @babel/parser@npm:^7.9.6": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.4, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.8.7, @babel/parser@npm:^7.9.6": version: 7.22.7 resolution: "@babel/parser@npm:7.22.7" bin: @@ -796,7 +780,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6, @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.5": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.5" dependencies: @@ -807,7 +791,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.20.7, @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.5": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.5" dependencies: @@ -820,7 +804,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-async-generator-functions@npm:7.20.7, @babel/plugin-proposal-async-generator-functions@npm:^7.20.7": +"@babel/plugin-proposal-async-generator-functions@npm:7.20.7": version: 7.20.7 resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.20.7" dependencies: @@ -846,43 +830,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-static-block@npm:^7.21.0": - version: 7.21.0 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.21.0" - dependencies: - "@babel/helper-create-class-features-plugin": ^7.21.0 - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - peerDependencies: - "@babel/core": ^7.12.0 - checksum: b46eb08badd7943c7bdf06fa6f1bb171e00f26d3c25e912205f735ccc321d1dbe8d023d97491320017e0e5d083b7aab3104f5a661535597d278a6c833c97eb79 - languageName: node - linkType: hard - "@babel/plugin-proposal-decorators@npm:^7.13.5": - version: 7.22.5 - resolution: "@babel/plugin-proposal-decorators@npm:7.22.5" + version: 7.22.7 + resolution: "@babel/plugin-proposal-decorators@npm:7.22.7" dependencies: - "@babel/helper-create-class-features-plugin": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.22.6 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-replace-supers": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 "@babel/plugin-syntax-decorators": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 31930187a8b3fc58ea92b7b667c7947de70a31c4309122e223cdac7bddaab963f4ed0ca8aaeca730dd313521574f8c34e427c4fadc0ecb2d38522ddd5a7acb5f - languageName: node - linkType: hard - -"@babel/plugin-proposal-dynamic-import@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-proposal-dynamic-import@npm:7.18.6" - dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 99be9865edfd65a46afb97d877ea247a8e881b4d0246a1ea0adf6db04c92f4f0959bd2f6f706d73248a2a7167c34f2464c4863137ddb94deadc5c7cc8bfc3e72 + checksum: 80a0db66b04fb09afb57abcc5dbde89659f076b4579656e4a0670510d9de7c68aa17fff7479f42078d42b00ada546228a55694a9bd6a050bc57997d1f7feb008 languageName: node linkType: hard @@ -898,31 +857,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-json-strings@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-proposal-json-strings@npm:7.18.6" - dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - "@babel/plugin-syntax-json-strings": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 83f2ce41262a538ee43450044b9b0de320002473e4849421a7318c0500f9b0385c03d228f1be777ad71fd358aef13392e3551f0be52b5c423b0c34f7c9e5a06d - languageName: node - linkType: hard - -"@babel/plugin-proposal-logical-assignment-operators@npm:^7.20.7": - version: 7.20.7 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.20.7" - dependencies: - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 436c1ee9f983813fc52788980a7231414351bd34d80b16b83bddb09115386292fe4912cc6d172304eabbaf0c4813625331b9b5bc798acb0e8925cf0d2b394d4d - languageName: node - linkType: hard - -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8": version: 7.18.6 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" dependencies: @@ -961,19 +896,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-catch-binding@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.18.6" - dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ab20153d9e95e0b73004fdf86b6a2d219be2a0ace9ca76cd9eccddb680c913fec173bca54d761b1bc6044edde0a53811f3e515908c3b16d2d81cfec1e2e17391 - languageName: node - linkType: hard - -"@babel/plugin-proposal-optional-chaining@npm:^7.13.12, @babel/plugin-proposal-optional-chaining@npm:^7.21.0": +"@babel/plugin-proposal-optional-chaining@npm:^7.13.12": version: 7.21.0 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0" dependencies: @@ -986,7 +909,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.16.5, @babel/plugin-proposal-private-methods@npm:^7.18.6": +"@babel/plugin-proposal-private-methods@npm:^7.16.5": version: 7.18.6 resolution: "@babel/plugin-proposal-private-methods@npm:7.18.6" dependencies: @@ -1007,7 +930,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-property-in-object@npm:^7.16.5, @babel/plugin-proposal-private-property-in-object@npm:^7.21.0": +"@babel/plugin-proposal-private-property-in-object@npm:^7.16.5": version: 7.21.11 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.11" dependencies: @@ -1021,7 +944,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-unicode-property-regex@npm:^7.18.6, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": version: 7.18.6 resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.18.6" dependencies: @@ -1121,7 +1044,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.20.0, @babel/plugin-syntax-import-assertions@npm:^7.22.5": +"@babel/plugin-syntax-import-assertions@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-syntax-import-assertions@npm:7.22.5" dependencies: @@ -1287,7 +1210,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.20.7, @babel/plugin-transform-arrow-functions@npm:^7.22.5": +"@babel/plugin-transform-arrow-functions@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" dependencies: @@ -1312,20 +1235,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:7.20.7": - version: 7.20.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.20.7" - dependencies: - "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/helper-remap-async-to-generator": ^7.18.9 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c98caeafbffbdb40fd5d9d4c7a835d624ba1ada814e8e675d99a9c83bd40780ab6a52e3b873e81dc7ce045a3990427073e634f07cc2f2681d780faee0717d7e9 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.20.7, @babel/plugin-transform-async-to-generator@npm:^7.22.5": +"@babel/plugin-transform-async-to-generator@npm:7.22.5, @babel/plugin-transform-async-to-generator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5" dependencies: @@ -1338,7 +1248,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.18.6, @babel/plugin-transform-block-scoped-functions@npm:^7.22.5": +"@babel/plugin-transform-block-scoped-functions@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5" dependencies: @@ -1349,7 +1259,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.21.0, @babel/plugin-transform-block-scoping@npm:^7.22.5, @babel/plugin-transform-block-scoping@npm:^7.8.3": +"@babel/plugin-transform-block-scoping@npm:^7.22.5, @babel/plugin-transform-block-scoping@npm:^7.8.3": version: 7.22.5 resolution: "@babel/plugin-transform-block-scoping@npm:7.22.5" dependencies: @@ -1385,7 +1295,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.21.0, @babel/plugin-transform-classes@npm:^7.22.6": +"@babel/plugin-transform-classes@npm:^7.22.6": version: 7.22.6 resolution: "@babel/plugin-transform-classes@npm:7.22.6" dependencies: @@ -1404,7 +1314,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.20.7, @babel/plugin-transform-computed-properties@npm:^7.22.5": +"@babel/plugin-transform-computed-properties@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5" dependencies: @@ -1416,7 +1326,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.21.3, @babel/plugin-transform-destructuring@npm:^7.22.5": +"@babel/plugin-transform-destructuring@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-destructuring@npm:7.22.5" dependencies: @@ -1427,7 +1337,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.18.6, @babel/plugin-transform-dotall-regex@npm:^7.22.5, @babel/plugin-transform-dotall-regex@npm:^7.4.4": +"@babel/plugin-transform-dotall-regex@npm:^7.22.5, @babel/plugin-transform-dotall-regex@npm:^7.4.4": version: 7.22.5 resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5" dependencies: @@ -1439,7 +1349,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.18.9, @babel/plugin-transform-duplicate-keys@npm:^7.22.5": +"@babel/plugin-transform-duplicate-keys@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5" dependencies: @@ -1462,7 +1372,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.18.6, @babel/plugin-transform-exponentiation-operator@npm:^7.22.5": +"@babel/plugin-transform-exponentiation-operator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5" dependencies: @@ -1498,7 +1408,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.21.0, @babel/plugin-transform-for-of@npm:^7.22.5": +"@babel/plugin-transform-for-of@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-for-of@npm:7.22.5" dependencies: @@ -1509,7 +1419,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.18.9, @babel/plugin-transform-function-name@npm:^7.22.5": +"@babel/plugin-transform-function-name@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-function-name@npm:7.22.5" dependencies: @@ -1534,7 +1444,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.18.9, @babel/plugin-transform-literals@npm:^7.22.5": +"@babel/plugin-transform-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-literals@npm:7.22.5" dependencies: @@ -1557,7 +1467,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.18.6, @babel/plugin-transform-member-expression-literals@npm:^7.22.5": +"@babel/plugin-transform-member-expression-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5" dependencies: @@ -1568,7 +1478,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.13.0, @babel/plugin-transform-modules-amd@npm:^7.20.11, @babel/plugin-transform-modules-amd@npm:^7.22.5": +"@babel/plugin-transform-modules-amd@npm:^7.13.0, @babel/plugin-transform-modules-amd@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-amd@npm:7.22.5" dependencies: @@ -1580,7 +1490,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.2.0, @babel/plugin-transform-modules-commonjs@npm:^7.21.2, @babel/plugin-transform-modules-commonjs@npm:^7.22.5": +"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.2.0, @babel/plugin-transform-modules-commonjs@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.5" dependencies: @@ -1593,7 +1503,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.20.11, @babel/plugin-transform-modules-systemjs@npm:^7.22.5": +"@babel/plugin-transform-modules-systemjs@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.22.5" dependencies: @@ -1607,7 +1517,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.18.6, @babel/plugin-transform-modules-umd@npm:^7.22.5": +"@babel/plugin-transform-modules-umd@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5" dependencies: @@ -1619,7 +1529,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.20.5, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" dependencies: @@ -1631,7 +1541,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.18.6, @babel/plugin-transform-new-target@npm:^7.22.5": +"@babel/plugin-transform-new-target@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-new-target@npm:7.22.5" dependencies: @@ -1692,7 +1602,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.18.6, @babel/plugin-transform-object-super@npm:^7.22.5": +"@babel/plugin-transform-object-super@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-object-super@npm:7.22.5" dependencies: @@ -1729,7 +1639,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.21.3, @babel/plugin-transform-parameters@npm:^7.22.5": +"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-parameters@npm:7.22.5" dependencies: @@ -1766,7 +1676,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.18.6, @babel/plugin-transform-property-literals@npm:^7.22.5": +"@babel/plugin-transform-property-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-property-literals@npm:7.22.5" dependencies: @@ -1848,7 +1758,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.20.5, @babel/plugin-transform-regenerator@npm:^7.22.5": +"@babel/plugin-transform-regenerator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-regenerator@npm:7.22.5" dependencies: @@ -1860,7 +1770,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.18.6, @babel/plugin-transform-reserved-words@npm:^7.22.5": +"@babel/plugin-transform-reserved-words@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5" dependencies: @@ -1871,19 +1781,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:7.21.4": - version: 7.21.4 - resolution: "@babel/plugin-transform-runtime@npm:7.21.4" +"@babel/plugin-transform-runtime@npm:7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-runtime@npm:7.22.5" dependencies: - "@babel/helper-module-imports": ^7.21.4 - "@babel/helper-plugin-utils": ^7.20.2 - babel-plugin-polyfill-corejs2: ^0.3.3 - babel-plugin-polyfill-corejs3: ^0.6.0 - babel-plugin-polyfill-regenerator: ^0.4.1 - semver: ^6.3.0 + "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-plugin-utils": ^7.22.5 + babel-plugin-polyfill-corejs2: ^0.4.4 + babel-plugin-polyfill-corejs3: ^0.8.2 + babel-plugin-polyfill-regenerator: ^0.5.1 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0e94e9f0c383a606b9422f3644b06258780b81d1bc5c0d46621de312d46f2601ad864a6801bc04da21a8b8208c10454d152f2e91ad0b92fac80bfa5dab25e167 + checksum: 2dcd59bbf14622c2cc088a311a16073b777e34abe733a940c4df6d48fd58900fb7cb22aa2a4645939162cc717618f8e55e96c227ad61f9ae9bca098078aa7345 languageName: node linkType: hard @@ -1903,7 +1813,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.18.6, @babel/plugin-transform-shorthand-properties@npm:^7.22.5": +"@babel/plugin-transform-shorthand-properties@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5" dependencies: @@ -1914,7 +1824,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.20.7, @babel/plugin-transform-spread@npm:^7.22.5": +"@babel/plugin-transform-spread@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-spread@npm:7.22.5" dependencies: @@ -1926,7 +1836,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.18.6, @babel/plugin-transform-sticky-regex@npm:^7.22.5": +"@babel/plugin-transform-sticky-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5" dependencies: @@ -1937,7 +1847,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.18.9, @babel/plugin-transform-template-literals@npm:^7.22.5": +"@babel/plugin-transform-template-literals@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-template-literals@npm:7.22.5" dependencies: @@ -1948,7 +1858,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.18.9, @babel/plugin-transform-typeof-symbol@npm:^7.22.5": +"@babel/plugin-transform-typeof-symbol@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5" dependencies: @@ -1960,20 +1870,20 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.13.0, @babel/plugin-transform-typescript@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-typescript@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/plugin-transform-typescript@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-create-class-features-plugin": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.22.9 "@babel/helper-plugin-utils": ^7.22.5 "@babel/plugin-syntax-typescript": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1ee79ead40f8a299dd643d433a514e2bc970f954d27c3a92d62f2139a19128c31d76d094df7e1c1789a70528f349ba536f271a0b47117c77ca49cd26f8b1c66d + checksum: dc0623bbb21bffdc3c64bf5f50677ba06c6bd9f17edae08fd40f3e639632a716efce91100a46aeaad064e082ee71dfd35941cb605bf27f5d32363912a86ba07f languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.18.10, @babel/plugin-transform-unicode-escapes@npm:^7.22.5": +"@babel/plugin-transform-unicode-escapes@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.5" dependencies: @@ -1996,7 +1906,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.18.6, @babel/plugin-transform-unicode-regex@npm:^7.22.5": +"@babel/plugin-transform-unicode-regex@npm:^7.22.5": version: 7.22.5 resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5" dependencies: @@ -2030,37 +1940,25 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:7.21.4": - version: 7.21.4 - resolution: "@babel/preset-env@npm:7.21.4" +"@babel/preset-env@npm:7.22.5": + version: 7.22.5 + resolution: "@babel/preset-env@npm:7.22.5" dependencies: - "@babel/compat-data": ^7.21.4 - "@babel/helper-compilation-targets": ^7.21.4 - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/helper-validator-option": ^7.21.0 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.18.6 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.20.7 - "@babel/plugin-proposal-async-generator-functions": ^7.20.7 - "@babel/plugin-proposal-class-properties": ^7.18.6 - "@babel/plugin-proposal-class-static-block": ^7.21.0 - "@babel/plugin-proposal-dynamic-import": ^7.18.6 - "@babel/plugin-proposal-export-namespace-from": ^7.18.9 - "@babel/plugin-proposal-json-strings": ^7.18.6 - "@babel/plugin-proposal-logical-assignment-operators": ^7.20.7 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.18.6 - "@babel/plugin-proposal-numeric-separator": ^7.18.6 - "@babel/plugin-proposal-object-rest-spread": ^7.20.7 - "@babel/plugin-proposal-optional-catch-binding": ^7.18.6 - "@babel/plugin-proposal-optional-chaining": ^7.21.0 - "@babel/plugin-proposal-private-methods": ^7.18.6 - "@babel/plugin-proposal-private-property-in-object": ^7.21.0 - "@babel/plugin-proposal-unicode-property-regex": ^7.18.6 + "@babel/compat-data": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-validator-option": ^7.22.5 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.22.5 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.5 + "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 "@babel/plugin-syntax-class-static-block": ^7.14.5 "@babel/plugin-syntax-dynamic-import": ^7.8.3 "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-import-assertions": ^7.20.0 + "@babel/plugin-syntax-import-assertions": ^7.22.5 + "@babel/plugin-syntax-import-attributes": ^7.22.5 + "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/plugin-syntax-json-strings": ^7.8.3 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 @@ -2070,48 +1968,65 @@ __metadata: "@babel/plugin-syntax-optional-chaining": ^7.8.3 "@babel/plugin-syntax-private-property-in-object": ^7.14.5 "@babel/plugin-syntax-top-level-await": ^7.14.5 - "@babel/plugin-transform-arrow-functions": ^7.20.7 - "@babel/plugin-transform-async-to-generator": ^7.20.7 - "@babel/plugin-transform-block-scoped-functions": ^7.18.6 - "@babel/plugin-transform-block-scoping": ^7.21.0 - "@babel/plugin-transform-classes": ^7.21.0 - "@babel/plugin-transform-computed-properties": ^7.20.7 - "@babel/plugin-transform-destructuring": ^7.21.3 - "@babel/plugin-transform-dotall-regex": ^7.18.6 - "@babel/plugin-transform-duplicate-keys": ^7.18.9 - "@babel/plugin-transform-exponentiation-operator": ^7.18.6 - "@babel/plugin-transform-for-of": ^7.21.0 - "@babel/plugin-transform-function-name": ^7.18.9 - "@babel/plugin-transform-literals": ^7.18.9 - "@babel/plugin-transform-member-expression-literals": ^7.18.6 - "@babel/plugin-transform-modules-amd": ^7.20.11 - "@babel/plugin-transform-modules-commonjs": ^7.21.2 - "@babel/plugin-transform-modules-systemjs": ^7.20.11 - "@babel/plugin-transform-modules-umd": ^7.18.6 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.20.5 - "@babel/plugin-transform-new-target": ^7.18.6 - "@babel/plugin-transform-object-super": ^7.18.6 - "@babel/plugin-transform-parameters": ^7.21.3 - "@babel/plugin-transform-property-literals": ^7.18.6 - "@babel/plugin-transform-regenerator": ^7.20.5 - "@babel/plugin-transform-reserved-words": ^7.18.6 - "@babel/plugin-transform-shorthand-properties": ^7.18.6 - "@babel/plugin-transform-spread": ^7.20.7 - "@babel/plugin-transform-sticky-regex": ^7.18.6 - "@babel/plugin-transform-template-literals": ^7.18.9 - "@babel/plugin-transform-typeof-symbol": ^7.18.9 - "@babel/plugin-transform-unicode-escapes": ^7.18.10 - "@babel/plugin-transform-unicode-regex": ^7.18.6 + "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 + "@babel/plugin-transform-arrow-functions": ^7.22.5 + "@babel/plugin-transform-async-generator-functions": ^7.22.7 + "@babel/plugin-transform-async-to-generator": ^7.22.5 + "@babel/plugin-transform-block-scoped-functions": ^7.22.5 + "@babel/plugin-transform-block-scoping": ^7.22.5 + "@babel/plugin-transform-class-properties": ^7.22.5 + "@babel/plugin-transform-class-static-block": ^7.22.5 + "@babel/plugin-transform-classes": ^7.22.6 + "@babel/plugin-transform-computed-properties": ^7.22.5 + "@babel/plugin-transform-destructuring": ^7.22.5 + "@babel/plugin-transform-dotall-regex": ^7.22.5 + "@babel/plugin-transform-duplicate-keys": ^7.22.5 + "@babel/plugin-transform-dynamic-import": ^7.22.5 + "@babel/plugin-transform-exponentiation-operator": ^7.22.5 + "@babel/plugin-transform-export-namespace-from": ^7.22.5 + "@babel/plugin-transform-for-of": ^7.22.5 + "@babel/plugin-transform-function-name": ^7.22.5 + "@babel/plugin-transform-json-strings": ^7.22.5 + "@babel/plugin-transform-literals": ^7.22.5 + "@babel/plugin-transform-logical-assignment-operators": ^7.22.5 + "@babel/plugin-transform-member-expression-literals": ^7.22.5 + "@babel/plugin-transform-modules-amd": ^7.22.5 + "@babel/plugin-transform-modules-commonjs": ^7.22.5 + "@babel/plugin-transform-modules-systemjs": ^7.22.5 + "@babel/plugin-transform-modules-umd": ^7.22.5 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.5 + "@babel/plugin-transform-new-target": ^7.22.5 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.5 + "@babel/plugin-transform-numeric-separator": ^7.22.5 + "@babel/plugin-transform-object-rest-spread": ^7.22.5 + "@babel/plugin-transform-object-super": ^7.22.5 + "@babel/plugin-transform-optional-catch-binding": ^7.22.5 + "@babel/plugin-transform-optional-chaining": ^7.22.6 + "@babel/plugin-transform-parameters": ^7.22.5 + "@babel/plugin-transform-private-methods": ^7.22.5 + "@babel/plugin-transform-private-property-in-object": ^7.22.5 + "@babel/plugin-transform-property-literals": ^7.22.5 + "@babel/plugin-transform-regenerator": ^7.22.5 + "@babel/plugin-transform-reserved-words": ^7.22.5 + "@babel/plugin-transform-shorthand-properties": ^7.22.5 + "@babel/plugin-transform-spread": ^7.22.5 + "@babel/plugin-transform-sticky-regex": ^7.22.5 + "@babel/plugin-transform-template-literals": ^7.22.5 + "@babel/plugin-transform-typeof-symbol": ^7.22.5 + "@babel/plugin-transform-unicode-escapes": ^7.22.5 + "@babel/plugin-transform-unicode-property-regex": ^7.22.5 + "@babel/plugin-transform-unicode-regex": ^7.22.5 + "@babel/plugin-transform-unicode-sets-regex": ^7.22.5 "@babel/preset-modules": ^0.1.5 - "@babel/types": ^7.21.4 - babel-plugin-polyfill-corejs2: ^0.3.3 - babel-plugin-polyfill-corejs3: ^0.6.0 - babel-plugin-polyfill-regenerator: ^0.4.1 - core-js-compat: ^3.25.1 - semver: ^6.3.0 + "@babel/types": ^7.22.5 + babel-plugin-polyfill-corejs2: ^0.4.4 + babel-plugin-polyfill-corejs3: ^0.8.2 + babel-plugin-polyfill-regenerator: ^0.5.1 + core-js-compat: ^3.31.0 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 20995d58969c4e20fcfd5d80a204008e3312325e002dd353d53811b288b45f9e07d741c9c8935e0298b1ed31b9e6dc1078fdacf78caacda0ebeebf8a50038926 + checksum: dd2b70e96102fc2a64f57c3ab177abeb5aac3f71f47701787b6264d91d7d3ea3d38526d8e1133eb667ca88e87c997ed4a1b8d498ca8be2af07ae4995dfac1b83 languageName: node linkType: hard @@ -2287,12 +2202,12 @@ __metadata: linkType: hard "@babel/runtime-corejs3@npm:^7.10.2": - version: 7.22.5 - resolution: "@babel/runtime-corejs3@npm:7.22.5" + version: 7.22.6 + resolution: "@babel/runtime-corejs3@npm:7.22.6" dependencies: core-js-pure: ^3.30.2 regenerator-runtime: ^0.13.11 - checksum: efd5218f63707b569c01946dc2e88a7ce1f76b1d43bdae0a493b865c56b1d4aa09574463f281b9fc9a46e5abc9f2bea89b6a3e4d2af065931fe703f4daaf6490 + checksum: 5a68532c614dfef051e155460d3090388533871c8180de770e926ee2e01fbc21ef92c0c56d6c5cb6448650068438f6d1eca0e5a5d3ae36269b0ce3b8d2a0f645 languageName: node linkType: hard @@ -2305,12 +2220,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:7.21.0": - version: 7.21.0 - resolution: "@babel/runtime@npm:7.21.0" +"@babel/runtime@npm:7.22.5": + version: 7.22.5 + resolution: "@babel/runtime@npm:7.22.5" dependencies: regenerator-runtime: ^0.13.11 - checksum: 8fc28acf3b353390a8188a63d443719847b24b66028fdc8bb301c08e2ee013b52aaeb9d0e9783fa5dcd72bb3c0172fb647419db32392101001738356bdc1f4ab + checksum: 11dcaeecd2246857ccf22f939fcae28a58d29e410607bfa28b95d9b03e298a3e3df8a530e22637d5bfccfc1661fb39cc50c06b404b5d53454bd93889c7dd3eb8 languageName: node linkType: hard @@ -2323,7 +2238,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": version: 7.22.6 resolution: "@babel/runtime@npm:7.22.6" dependencies: @@ -2341,14 +2256,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:7.20.7": - version: 7.20.7 - resolution: "@babel/template@npm:7.20.7" +"@babel/template@npm:7.22.5, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3, @babel/template@npm:^7.7.0, @babel/template@npm:^7.8.6": + version: 7.22.5 + resolution: "@babel/template@npm:7.22.5" dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - checksum: 1c6dcf9ac92769e6ab5e3d9048975537d26ab00b869646462ab4583d45e419c01db5144715ec0d70548835a3098c5d5416148c4a0b996a95e8e0b9dc8d042dd3 + "@babel/code-frame": ^7.22.5 + "@babel/parser": ^7.22.5 + "@babel/types": ^7.22.5 + checksum: dd8fc1b0bfe0128bace25da0e0a708e26320e8030322d3a53bb6366f199b46a277bfa4281dd370d73ab19087c7e27d166070a0659783b4715f7470448c7342b1 languageName: node linkType: hard @@ -2363,18 +2278,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.20.7, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3, @babel/template@npm:^7.7.0, @babel/template@npm:^7.8.6": - version: 7.22.5 - resolution: "@babel/template@npm:7.22.5" - dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/parser": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: dd8fc1b0bfe0128bace25da0e0a708e26320e8030322d3a53bb6366f199b46a277bfa4281dd370d73ab19087c7e27d166070a0659783b4715f7470448c7342b1 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.21.4, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.22.5, @babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.7.2, @babel/traverse@npm:^7.8.6": +"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.22.5, @babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.8.6": version: 7.22.8 resolution: "@babel/traverse@npm:7.22.8" dependencies: @@ -2392,7 +2296,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.18.6, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.4, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.7.0, @babel/types@npm:^7.7.2, @babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.8.7, @babel/types@npm:^7.9.6": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.4, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.7.0, @babel/types@npm:^7.7.2, @babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.8.7, @babel/types@npm:^7.9.6": version: 7.22.5 resolution: "@babel/types@npm:7.22.5" dependencies: @@ -2717,156 +2621,156 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/android-arm64@npm:0.18.0" +"@esbuild/android-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/android-arm64@npm:0.18.14" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/android-arm@npm:0.18.0" +"@esbuild/android-arm@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/android-arm@npm:0.18.14" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/android-x64@npm:0.18.0" +"@esbuild/android-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/android-x64@npm:0.18.14" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/darwin-arm64@npm:0.18.0" +"@esbuild/darwin-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/darwin-arm64@npm:0.18.14" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/darwin-x64@npm:0.18.0" +"@esbuild/darwin-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/darwin-x64@npm:0.18.14" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/freebsd-arm64@npm:0.18.0" +"@esbuild/freebsd-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/freebsd-arm64@npm:0.18.14" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/freebsd-x64@npm:0.18.0" +"@esbuild/freebsd-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/freebsd-x64@npm:0.18.14" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-arm64@npm:0.18.0" +"@esbuild/linux-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-arm64@npm:0.18.14" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-arm@npm:0.18.0" +"@esbuild/linux-arm@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-arm@npm:0.18.14" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-ia32@npm:0.18.0" +"@esbuild/linux-ia32@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-ia32@npm:0.18.14" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-loong64@npm:0.18.0" +"@esbuild/linux-loong64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-loong64@npm:0.18.14" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-mips64el@npm:0.18.0" +"@esbuild/linux-mips64el@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-mips64el@npm:0.18.14" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-ppc64@npm:0.18.0" +"@esbuild/linux-ppc64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-ppc64@npm:0.18.14" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-riscv64@npm:0.18.0" +"@esbuild/linux-riscv64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-riscv64@npm:0.18.14" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-s390x@npm:0.18.0" +"@esbuild/linux-s390x@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-s390x@npm:0.18.14" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/linux-x64@npm:0.18.0" +"@esbuild/linux-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-x64@npm:0.18.14" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/netbsd-x64@npm:0.18.0" +"@esbuild/netbsd-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/netbsd-x64@npm:0.18.14" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/openbsd-x64@npm:0.18.0" +"@esbuild/openbsd-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/openbsd-x64@npm:0.18.14" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/sunos-x64@npm:0.18.0" +"@esbuild/sunos-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/sunos-x64@npm:0.18.14" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/win32-arm64@npm:0.18.0" +"@esbuild/win32-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/win32-arm64@npm:0.18.14" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/win32-ia32@npm:0.18.0" +"@esbuild/win32-ia32@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/win32-ia32@npm:0.18.14" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.0": - version: 0.18.0 - resolution: "@esbuild/win32-x64@npm:0.18.0" +"@esbuild/win32-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/win32-x64@npm:0.18.14" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2889,27 +2793,27 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.3": - version: 2.0.3 - resolution: "@eslint/eslintrc@npm:2.0.3" +"@eslint/eslintrc@npm:^2.1.0": + version: 2.1.0 + resolution: "@eslint/eslintrc@npm:2.1.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.5.2 + espree: ^9.6.0 globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 46291c33bf580ab12101fb7f20adabaa60326a7de094409ab4a5ca4611552ab2325f8d677d6c1d2d9f45f83f93360b115a0b4488bc48180cca0d0f386804d829 + checksum: 6ffbc3e7867b377754492539af0e2f5b55645a2c67279a70508fe09080bc76d49ba64b579e59a2a04014f84d0768301736fbcdd94c7b3ad4f0e648c32bf21e43 languageName: node linkType: hard -"@eslint/js@npm:8.42.0": - version: 8.42.0 - resolution: "@eslint/js@npm:8.42.0" - checksum: 4ae46df1f32095cf9527d1f6a8a30512151f8eb66dd883a226face17c9e7cfdd2dcb3d4e3124fb67ac5801e0a776b1d7bba368276cfb1e1e4eefb047e38b41d6 +"@eslint/js@npm:8.44.0": + version: 8.44.0 + resolution: "@eslint/js@npm:8.44.0" + checksum: ce7b966f8804228e4d5725d44d3c8fb7fc427176f077401323a02e082f628d207133a25704330e610ebe3254fdf1acb186f779d1242fd145a758fdcc4486a660 languageName: node linkType: hard @@ -2941,6 +2845,34 @@ __metadata: languageName: node linkType: hard +"@floating-ui/core@npm:^1.3.1": + version: 1.3.1 + resolution: "@floating-ui/core@npm:1.3.1" + checksum: 894bc3637c03beda184a4460cb53155fd30c2a0956569e1c714b7df9e3439517b1c34ad9a8114ea15a6c08d1e3f1d40741d259f0f1087fc3ea96fae7dfeb697e + languageName: node + linkType: hard + +"@floating-ui/dom@npm:^1.3.0": + version: 1.4.5 + resolution: "@floating-ui/dom@npm:1.4.5" + dependencies: + "@floating-ui/core": ^1.3.1 + checksum: 2c406920221d99ba585f769c7aea450299cbd4d316b307151a214c861bd4deda3f724589d94b1bc676a9a33958d5a9d40b4b1e1065350e8699cc7a79f74f506e + languageName: node + linkType: hard + +"@floating-ui/react-dom@npm:^2.0.0": + version: 2.0.1 + resolution: "@floating-ui/react-dom@npm:2.0.1" + dependencies: + "@floating-ui/dom": ^1.3.0 + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 856c0c9de0a9117bcc69b1363fd9fa188133b9714394609db937903ab4330e9851becfd2a83453f40834de1a18377caf329b6b71afc1c69d7c5687f87da80ed4 + languageName: node + linkType: hard + "@gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -3456,29 +3388,29 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/console@npm:29.5.0" +"@jest/console@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/console@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 slash: ^3.0.0 - checksum: 59dfbdb6c3c15652f8d7267071f24d6335afbed0b1cf71aed70b6ce8deb1d86e7f4aadb978f639435650107fd22476b59e63a3d3a9ac99b1aca739b795a54410 + checksum: d62b089015f06d2ca277d8bff63a2c19b861b12161f5b8a69207498b980659dedfdcdcdcd1c0d5078a73cba5dd270392c65476ba9a48b795d1276517ba30f7ed languageName: node linkType: hard -"@jest/core@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/core@npm:29.5.0" +"@jest/core@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/core@npm:29.6.1" dependencies: - "@jest/console": ^29.5.0 - "@jest/reporters": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/console": ^29.6.1 + "@jest/reporters": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 @@ -3486,20 +3418,20 @@ __metadata: exit: ^0.1.2 graceful-fs: ^4.2.9 jest-changed-files: ^29.5.0 - jest-config: ^29.5.0 - jest-haste-map: ^29.5.0 - jest-message-util: ^29.5.0 + jest-config: ^29.6.1 + jest-haste-map: ^29.6.1 + jest-message-util: ^29.6.1 jest-regex-util: ^29.4.3 - jest-resolve: ^29.5.0 - jest-resolve-dependencies: ^29.5.0 - jest-runner: ^29.5.0 - jest-runtime: ^29.5.0 - jest-snapshot: ^29.5.0 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 - jest-watcher: ^29.5.0 + jest-resolve: ^29.6.1 + jest-resolve-dependencies: ^29.6.1 + jest-runner: ^29.6.1 + jest-runtime: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 + jest-watcher: ^29.6.1 micromatch: ^4.0.4 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -3507,7 +3439,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: e4b3e0de48614b2c339083b9159f00a024839984bd89b9afa4cfff4c38f6ce485c2009f2efa1c1e3bb3b87386288bc15798c6aebb7937d7820e8048d75461a4d + checksum: dccd83243af657da9af4c7ae578d55267c85e5bf1755a3a3e189c9ec0d23d409956e0eff7c13b81a388940ab9f294b0afc0241288d5832769687d919fae576fe languageName: node linkType: hard @@ -3520,73 +3452,73 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/environment@npm:29.5.0" +"@jest/environment@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/environment@npm:29.6.1" dependencies: - "@jest/fake-timers": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-mock: ^29.5.0 - checksum: 1fbe63cbfb9c3f6c9fc9d8f6917a5aceee1828d589569bbffcf5fb4bb56bc021dc3a6f239cde3099144767c97763ae134904ee522f236cd8c0d071bd7f9ef63b + jest-mock: ^29.6.1 + checksum: 9c9fddcbec02b59b9719ede7d51e23e5dcd2230365a1df45ff782ea18af4b51fa0d9f5a3e76fbee6d0b7403ae4cd3fb9c45e9f86177c9be02bbbf84ae7f778c6 languageName: node linkType: hard -"@jest/expect-utils@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/expect-utils@npm:29.5.0" +"@jest/expect-utils@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/expect-utils@npm:29.6.1" dependencies: jest-get-type: ^29.4.3 - checksum: e7f44de651b5ef71c6e1b7a0350a704258167c20b6e8165b3100346d5c7f8eb4cd2c229ea2c048e9161666d1c086fbbc422f111f3b77da3fb89a99d52d4b3690 + checksum: e04164280c0b47a6285f39e70323b54eafc42367d9304897d55d70abd50324e060cb81efc7df82b1031eb46b82b85ecf343ed50c72654b11f1492b34c5e1a7b9 languageName: node linkType: hard -"@jest/expect@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/expect@npm:29.5.0" +"@jest/expect@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/expect@npm:29.6.1" dependencies: - expect: ^29.5.0 - jest-snapshot: ^29.5.0 - checksum: 447e7450af8ba61ac34d8a2ca11c56c62f6f0fb33ff13130f11a1ec9526a08d756ee72da622316a2c52ecfe726fe14432bdfb46e45aff5676f8d1a8efc8d201c + expect: ^29.6.1 + jest-snapshot: ^29.6.1 + checksum: 7766e9e02eac18edd2dfdf3481083f1a45b42efdc5fb13e3290132a0379d807a8b892ba1055c6917a3a2ed902240c556ac8704e17652b1b8387a58711867ca2f languageName: node linkType: hard -"@jest/fake-timers@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/fake-timers@npm:29.5.0" +"@jest/fake-timers@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/fake-timers@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@sinonjs/fake-timers": ^10.0.2 "@types/node": "*" - jest-message-util: ^29.5.0 - jest-mock: ^29.5.0 - jest-util: ^29.5.0 - checksum: dbf52fd302bf6b3d7ec49499f12835b7d7d4069d61adc62dac233021eba61186bbad3add1ceb3225a23a8745dd04fa0dcc2c38d350ecb0f26eec63f2cf5e6aff + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: 112b1f26f48f16dd8732f9842d480b66545cd5226d674e59c758f56680d234fc4debb77497784bf26130b21caab4d8cd39cf09afbbb2863a0a4ee0ccdb4c6e14 languageName: node linkType: hard -"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/globals@npm:29.5.0" +"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.5.0, @jest/globals@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/globals@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/expect": ^29.5.0 - "@jest/types": ^29.5.0 - jest-mock: ^29.5.0 - checksum: 0c25f07d8125e45cf3c21442e625f6a636eaf7f4cf1cf3f9f66bae059aeb31d3dc61dfff9479eb861a5089dca34c95e231ad88b8925bee42387abecbfe5ecbc2 + "@jest/environment": ^29.6.1 + "@jest/expect": ^29.6.1 + "@jest/types": ^29.6.1 + jest-mock: ^29.6.1 + checksum: 9ee8a6e476b8e74d4aa16150ea0ba0b8ecc25328062762cb46095fdec9638fc525d0e7f06e3aa1413600749c79d02a4db18da9912675843672242ea44763fa49 languageName: node linkType: hard -"@jest/reporters@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/reporters@npm:29.5.0" +"@jest/reporters@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/reporters@npm:29.6.1" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 - "@jridgewell/trace-mapping": ^0.3.15 + "@jest/console": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 + "@jridgewell/trace-mapping": ^0.3.18 "@types/node": "*" chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 @@ -3598,9 +3530,9 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 - jest-worker: ^29.5.0 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 + jest-worker: ^29.6.1 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 @@ -3610,74 +3542,74 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 72b771a7749ac2eb9b671f2a886dc98cbe914dfa1a4266854b040e4cc563bf9f5db02b8ff8654b7bfbc3b28caa6d48ca0dde9707454ea4f79d77bd13b6357929 + checksum: fd6e1eab9afee7eebb0a5f461b447b72d227459ce0e96e3ad4024e8795a36d03e1110c91fae9c61a5da50df42978041455f96bf5b09e5b0cead33fb44c63150b languageName: node linkType: hard -"@jest/schemas@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/schemas@npm:29.4.3" +"@jest/schemas@npm:^29.4.3, @jest/schemas@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/schemas@npm:29.6.0" dependencies: - "@sinclair/typebox": ^0.25.16 - checksum: 8a35967cec454d1de2d5a58ab99b49a0ff798d1dce2d817bdd9960bb2f070493f767fbbf419e6a263860d3b1ef1e50ab609a76ae21b5f8c09bb0859e8f51a098 + "@sinclair/typebox": ^0.27.8 + checksum: 8671b1fb59c4296204d335190e8451e1983d9f2db6dbbd38f838c6c273fd222fc11e4e0df04adfb6169d36acfb9693d525db136653ec04e6884180f45a131d8f languageName: node linkType: hard -"@jest/source-map@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/source-map@npm:29.4.3" +"@jest/source-map@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/source-map@npm:29.6.0" dependencies: - "@jridgewell/trace-mapping": ^0.3.15 + "@jridgewell/trace-mapping": ^0.3.18 callsites: ^3.0.0 graceful-fs: ^4.2.9 - checksum: 353f9989dcb416e8a2559ad2831b4b3e8446a9f8259782cec97f89903b5c00baa76ea3e23a3f1c83c1ccb3999a9e318b8c6a4bab29e4b66a4abdbb760e445a50 + checksum: afa654e3634ad74d5f8388ccffd7ecbd745bdce7f6f0860b69c07827c3ee5bb408f52b6c3136b43157ef5874c099059484e43bd3aa391232ab27d8c330399789 languageName: node linkType: hard -"@jest/test-result@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/test-result@npm:29.5.0" +"@jest/test-result@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/test-result@npm:29.6.1" dependencies: - "@jest/console": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/console": ^29.6.1 + "@jest/types": ^29.6.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 5d637c9935ea0438b2a7c106d48756967e5a96fa4426a9b16ea2a3e73e1538eabd10fd4faa8eb46aa4fee710a165e0fd2ce0603dacde5e8a1bba541100854b1d + checksum: 0b460253f092042cb2edaae92f9f22aed150a2dc3eaa8dbd60a31db8a3b12fc14c89784b580e0a678ef52e7438a11b27eaaedd2bc9c4328dbbd6d5d72983de6c languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/test-sequencer@npm:29.5.0" +"@jest/test-sequencer@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/test-sequencer@npm:29.6.1" dependencies: - "@jest/test-result": ^29.5.0 + "@jest/test-result": ^29.6.1 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 + jest-haste-map: ^29.6.1 slash: ^3.0.0 - checksum: 6fb7549a5dbe2da6817eb853134f76cf2b320b283900c5e63c997ecfadc616379372a49ac8c0f4ffdb9616eed4a5908c74cb7a560a395a6e1dc0d072b865657b + checksum: 411b7fd3a55daaf6f3ce7d3f3cd7114580126df9190a3f27d4e5a5429d91cb56c77899560afefd69451cde4911259c44f9e5fb09d975dc1f1ba597295a64f165 languageName: node linkType: hard -"@jest/transform@npm:^29.3.1, @jest/transform@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/transform@npm:29.5.0" +"@jest/transform@npm:^29.3.1, @jest/transform@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/transform@npm:29.6.1" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.5.0 - "@jridgewell/trace-mapping": ^0.3.15 + "@jest/types": ^29.6.1 + "@jridgewell/trace-mapping": ^0.3.18 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^2.0.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 + jest-haste-map: ^29.6.1 jest-regex-util: ^29.4.3 - jest-util: ^29.5.0 + jest-util: ^29.6.1 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.2 - checksum: 113598311d84ec7e4a4aadd340e332bbfbbd66e20eabea8b2f084b80cf97c1bc9e1ff90278c4f04b227afa95e3386d702363715f9923062c370c042c31911d94 + checksum: e34ddd89f372af749e983e29febfbb6f9a96eb677af32b5b299ce36eeab7b1ae55ddda2b64ff91437991f3f9b43cfc7ffa3b511ce7e7c1c23ae2b50d8a65a07f languageName: node linkType: hard @@ -3707,17 +3639,17 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/types@npm:29.5.0" +"@jest/types@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/types@npm:29.6.1" dependencies: - "@jest/schemas": ^29.4.3 + "@jest/schemas": ^29.6.0 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: f1cccd2e9b00a985bfdac03517f906cdf7a481be3606c335f8ec08a7272b7cf700b23484ce323a912b374defb90d3ab88c643cf2a2f47635c1c4feacfa1c1b2d + checksum: 58de1c2484f6c4968b566fb1661506794d3df79476c0605a71b6e40b8a5a1a9837b9c692782540a179daa424c572c7d0818afa306918e3fcd29c4a962ed34a7b languageName: node linkType: hard @@ -3771,13 +3703,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.2, @jridgewell/source-map@npm:^0.3.3": - version: 0.3.3 - resolution: "@jridgewell/source-map@npm:0.3.3" +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.5 + resolution: "@jridgewell/source-map@npm:0.3.5" dependencies: "@jridgewell/gen-mapping": ^0.3.0 "@jridgewell/trace-mapping": ^0.3.9 - checksum: f341e3ed1e9dfe5ae95201e9e820bee7c0518f20f2831b9964ce6c4bfe59477fb7e3257a45fac193cb4aea0019f0a4f8ed68abb12fd3956610317946f7341e3f + checksum: b985d9ebd833a21a6e9ace820c8a76f60345a34d9e28d98497c16b6e93ce1f131bff0abd45f8585f14aa382cce678ed680d628c631b40a9616a19cfbc2049b68 languageName: node linkType: hard @@ -3805,7 +3737,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.18 resolution: "@jridgewell/trace-mapping@npm:0.3.18" dependencies: @@ -3977,84 +3909,84 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:13.4.8": - version: 13.4.8 - resolution: "@next/env@npm:13.4.8" - checksum: ac774fde7ec7802f93199db57de5b0ff4642198d7f38d24fa3c8e627bd264c631d405ad17887aed25febc5481f32328b5d345082785ea184acd26240a411450c +"@next/env@npm:13.4.10": + version: 13.4.10 + resolution: "@next/env@npm:13.4.10" + checksum: dbb86ba0b8afdab6d7d590dd8b47dab5a6284f7845b8a55be876a3f3b2f3d5732355a44c9813289c1f4af0465d8322b557384c0a58c9a62338904e591c60ad2e languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-darwin-arm64@npm:13.4.8" +"@next/swc-darwin-arm64@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-darwin-arm64@npm:13.4.10" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-darwin-x64@npm:13.4.8" +"@next/swc-darwin-x64@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-darwin-x64@npm:13.4.10" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-linux-arm64-gnu@npm:13.4.8" +"@next/swc-linux-arm64-gnu@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-arm64-gnu@npm:13.4.10" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-linux-arm64-musl@npm:13.4.8" +"@next/swc-linux-arm64-musl@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-arm64-musl@npm:13.4.10" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-linux-x64-gnu@npm:13.4.8" +"@next/swc-linux-x64-gnu@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-x64-gnu@npm:13.4.10" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-linux-x64-musl@npm:13.4.8" +"@next/swc-linux-x64-musl@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-linux-x64-musl@npm:13.4.10" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-win32-arm64-msvc@npm:13.4.8" +"@next/swc-win32-arm64-msvc@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-win32-arm64-msvc@npm:13.4.10" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-win32-ia32-msvc@npm:13.4.8" +"@next/swc-win32-ia32-msvc@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-win32-ia32-msvc@npm:13.4.10" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:13.4.8": - version: 13.4.8 - resolution: "@next/swc-win32-x64-msvc@npm:13.4.8" +"@next/swc-win32-x64-msvc@npm:13.4.10": + version: 13.4.10 + resolution: "@next/swc-win32-x64-msvc@npm:13.4.10" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@ngtools/webpack@npm:16.0.5": - version: 16.0.5 - resolution: "@ngtools/webpack@npm:16.0.5" +"@ngtools/webpack@npm:16.1.4": + version: 16.1.4 + resolution: "@ngtools/webpack@npm:16.1.4" peerDependencies: "@angular/compiler-cli": ^16.0.0 - typescript: ">=4.9.3 <5.1" + typescript: ">=4.9.3 <5.2" webpack: ^5.54.0 - checksum: 5a8d7694351142f5e55fb01429849bf5182698017814cbc75b3fb5352d9ea1c851ec28698f0caf477e664f6072b81a22df2d5619e667e3957f92c2f7c6e5be87 + checksum: 177301b2b8a6d72dcf12f1ec1efcde88c53e7a2b979d50f9bab1fc3d423caf223c8519d129ab8a8b84d964a02dcdac27b7297c18cfb64a0f9311afc28e5557f4 languageName: node linkType: hard @@ -4595,8 +4527,8 @@ __metadata: linkType: hard "@octokit/core@npm:^4.0.0": - version: 4.2.1 - resolution: "@octokit/core@npm:4.2.1" + version: 4.2.4 + resolution: "@octokit/core@npm:4.2.4" dependencies: "@octokit/auth-token": ^3.0.0 "@octokit/graphql": ^5.0.0 @@ -4605,7 +4537,7 @@ __metadata: "@octokit/types": ^9.0.0 before-after-hook: ^2.2.0 universal-user-agent: ^6.0.0 - checksum: b21f60d1ceb8a1aa8cc1573718de2941aad1d2ca5c46ed4b6a2feec4830463efd32434e9452655455f6e6ea0a9fe030d4a09c1b7e0be7cd194afb51dade405e9 + checksum: e54081a56884e628d1804837fddcd48c10d516117bb891551c8dc9d8e3dad449aeb9b4677ca71e8f0e76268c2b7656c953099506679aaa4666765228474a3ce6 languageName: node linkType: hard @@ -4783,8 +4715,8 @@ __metadata: linkType: hard "@octokit/request@npm:^6.0.0": - version: 6.2.5 - resolution: "@octokit/request@npm:6.2.5" + version: 6.2.8 + resolution: "@octokit/request@npm:6.2.8" dependencies: "@octokit/endpoint": ^7.0.0 "@octokit/request-error": ^3.0.0 @@ -4792,7 +4724,7 @@ __metadata: is-plain-object: ^5.0.0 node-fetch: ^2.6.7 universal-user-agent: ^6.0.0 - checksum: 1f9feaedd75156ffc5b05294974e18b1798a3350ed99acb6d7f9d7b76fc338a47cb9d88b927e7d506894edf49e3a1ef1e18d877403a0aa386d0037b734ab59e4 + checksum: 6b6079ed45bac44c4579b40990bfd1905b03d4bc4e5255f3d5a10cf5182171578ebe19abeab32ebb11a806f1131947f2a06b7a077bd7e77ade7b15fe2882174b languageName: node linkType: hard @@ -4869,11 +4801,11 @@ __metadata: linkType: hard "@octokit/types@npm:^9.0.0": - version: 9.3.0 - resolution: "@octokit/types@npm:9.3.0" + version: 9.3.2 + resolution: "@octokit/types@npm:9.3.2" dependencies: "@octokit/openapi-types": ^18.0.0 - checksum: c6b3410201a0c21be9a7d46add76593a519d5ed8a9e7151ef897d4330b288eff01ed3f9695ce62a054579e643d12dea5f1bac77b7770c7be590ef54bf78004ba + checksum: 2925479aa378a4491762b4fcf381bdc7daca39b4e0b2dd7062bce5d74a32ed7d79d20d3c65ceaca6d105cf4b1f7417fea634219bf90f79a57d03e2dac629ec45 languageName: node linkType: hard @@ -4896,16 +4828,16 @@ __metadata: linkType: hard "@pkgr/utils@npm:^2.3.1": - version: 2.4.1 - resolution: "@pkgr/utils@npm:2.4.1" + version: 2.4.2 + resolution: "@pkgr/utils@npm:2.4.2" dependencies: cross-spawn: ^7.0.3 - fast-glob: ^3.2.12 + fast-glob: ^3.3.0 is-glob: ^4.0.3 open: ^9.1.0 picocolors: ^1.0.0 - tslib: ^2.5.0 - checksum: 0ddbb8265b508bcc4e020054960b88324212e1c4b697153211842b8e85167af430b2761459d5e0b5c960668987e92818343b2bec6ee9140b5b3f560d8e68bbfe + tslib: ^2.6.0 + checksum: 7c3e68f6405a1d4c51f418d8d580e71d7bade2683d5db07e8413d8e57f7e389047eda44a2341f77a1b3085895fca7676a9d45e8812a58312524f8c4c65d501be languageName: node linkType: hard @@ -4958,78 +4890,524 @@ __metadata: optional: true webpack-hot-middleware: optional: true - webpack-plugin-serve: + webpack-plugin-serve: + optional: true + checksum: e470b543c5e8d73eeaa73636e1976e6719db6ae29c93fa62818f5796c1883051f379a3cb1ff85d909ef2c6bb9ef13ca46c36f1878c48d143b1355fea6660e547 + languageName: node + linkType: hard + +"@popperjs/core@npm:^2.11.5, @popperjs/core@npm:^2.6.0": + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 + languageName: node + linkType: hard + +"@preact/preset-vite@npm:^2.0.0": + version: 2.5.0 + resolution: "@preact/preset-vite@npm:2.5.0" + dependencies: + "@babel/plugin-transform-react-jsx": ^7.14.9 + "@babel/plugin-transform-react-jsx-development": ^7.16.7 + "@prefresh/vite": ^2.2.8 + "@rollup/pluginutils": ^4.1.1 + babel-plugin-transform-hook-names: ^1.0.2 + debug: ^4.3.1 + kolorist: ^1.2.10 + resolve: ^1.20.0 + peerDependencies: + "@babel/core": 7.x + vite: 2.x || 3.x || 4.x + checksum: 109f2a64717357f76685cd45ec1f709c2ba83e88a8dc485b39dec8cb1178eda765fe929b47d83690cbee1fa6181209f79ba4f7cbec15bcaa1cbb45730af8946a + languageName: node + linkType: hard + +"@prefresh/babel-plugin@npm:0.5.0": + version: 0.5.0 + resolution: "@prefresh/babel-plugin@npm:0.5.0" + checksum: 71cbfb52f3f4e29c2cc6a3b7adee87ac7d9c074edfe2f87b3f90ab006123572fab6dd679aa125b8a94e4669578f172ef0b1732d0d6c2b2fc158d0c765a87b70f + languageName: node + linkType: hard + +"@prefresh/core@npm:^1.5.1": + version: 1.5.1 + resolution: "@prefresh/core@npm:1.5.1" + peerDependencies: + preact: ^10.0.0 + checksum: 7a1063a65911fbfcd5b02f34911875de5ffedb02ad4dda2bf9c519193ccb38f21b65ac3a2ba0bc4d8526c847b623013e0d2c1e7a58091aee33fc95ac40f4ad14 + languageName: node + linkType: hard + +"@prefresh/utils@npm:^1.2.0": + version: 1.2.0 + resolution: "@prefresh/utils@npm:1.2.0" + checksum: 38cdc6cbb5e18df36996161214eb1097db3361cb0b6402a8012cbe500ba8fb5bcbdc39a687d3b6d67e99f6c340ed77d59f27ab167dfc1655eb4d783740d87d52 + languageName: node + linkType: hard + +"@prefresh/vite@npm:^2.2.8": + version: 2.4.1 + resolution: "@prefresh/vite@npm:2.4.1" + dependencies: + "@babel/core": ^7.22.1 + "@prefresh/babel-plugin": 0.5.0 + "@prefresh/core": ^1.5.1 + "@prefresh/utils": ^1.2.0 + "@rollup/pluginutils": ^4.2.1 + peerDependencies: + preact: ^10.4.0 + vite: ">=2.0.0" + checksum: 939b4667ed83acfff6a879c8bff78d028b85c74f9e1cde656cf344768b888f6ba6b9927ee5e5efeecfc877fc6e6088c4c252e3f476604aecedaaf83cdfef7c45 + languageName: node + linkType: hard + +"@radix-ui/number@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/number@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + checksum: 42e4870cd14459da6da03e43c7507dc4c807ed787a87bda52912a0d1d6d5013326b697c18c9625fc6a2cf0af2b45d9c86747985b45358fd92ab646b983978e3c + languageName: node + linkType: hard + +"@radix-ui/primitive@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/primitive@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + checksum: 912216455537db3ca77f3e7f70174fb2b454fbd4a37a0acb7cfadad9ab6131abdfb787472242574460a3c301edf45738340cc84f6717982710082840fde7d916 + languageName: node + linkType: hard + +"@radix-ui/react-arrow@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-arrow@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-primitive": 1.0.3 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: c931f6d7e0bac50fd1654a0303a303aff74a68a13a33a851a43a7c88677b53a92ca6557920b9105144a3002f899ce888437d20ddd7803a5c716edac99587626d + languageName: node + linkType: hard + +"@radix-ui/react-collection@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-collection@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-compose-refs": 1.0.1 + "@radix-ui/react-context": 1.0.1 + "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-slot": 1.0.2 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: cefa56383d7451ca79e4bd5a29aaeef6c205a04297213efd149aaead82fc8cde4fb8298e20e6b3613e5696e43f814fb4489805428f6604834fb31f73c6725fa8 + languageName: node + linkType: hard + +"@radix-ui/react-compose-refs@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-compose-refs@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: be06f8dab35b5a1bffa7a5982fb26218ddade1acb751288333e3b89d7b4a7dfb5a6371be83876dac0ec2ebe0866d295e8618b778608e1965342986ea448040ec + languageName: node + linkType: hard + +"@radix-ui/react-context@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-context@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 3de5761b32cc70cd61715527f29d8c699c01ab28c195ced972ccbc7025763a373a68f18c9f948c7a7b922e469fd2df7fee5f7536e3f7bad44ffc06d959359333 + languageName: node + linkType: hard + +"@radix-ui/react-direction@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-direction@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: b1a45b4d1d5070ca3b5864b920f6c6210c962bdb519abb62b38b1baef9d06737dc3d8ecdb61860b7504a735235a539652f5977c7299ec021da84e6b0f64d988a + languageName: node + linkType: hard + +"@radix-ui/react-dismissable-layer@npm:1.0.4": + version: 1.0.4 + resolution: "@radix-ui/react-dismissable-layer@npm:1.0.4" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.1 + "@radix-ui/react-compose-refs": 1.0.1 + "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-use-callback-ref": 1.0.1 + "@radix-ui/react-use-escape-keydown": 1.0.3 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: a7b9695092cd4109a7b4a4a66b7f634c42d4f39aa0893621a8ee5e8bc90f8ae27e741df66db726c341a60d2115e3f813520fee1f5cc4fb05d77914b4ade3819f + languageName: node + linkType: hard + +"@radix-ui/react-focus-guards@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-focus-guards@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: d5fd4e5aa9d9a87c8ad490b3b4992d6f1d9eddf18e56df2a2bcf8744c4332b275d73377fd193df3e6ba0ad9608dc497709beca5c64de2b834d5f5350b3c9a272 + languageName: node + linkType: hard + +"@radix-ui/react-focus-scope@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-focus-scope@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-compose-refs": 1.0.1 + "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-use-callback-ref": 1.0.1 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: bfff46919666c122f5b812ee427494ae8408c0eebee30337bd2ce0eedf539f0feaa242f790304ef9df15425b837010ffc6061ce467bedd2c5fd9373bee2b95da + languageName: node + linkType: hard + +"@radix-ui/react-id@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-id@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-use-layout-effect": 1.0.1 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: e2859ca58bea171c956098ace7ecf615cf9432f58a118b779a14720746b3adcf0351c36c75de131548672d3cd290ca238198acbd33b88dc4706f98312e9317ad + languageName: node + linkType: hard + +"@radix-ui/react-popper@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-popper@npm:1.1.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@floating-ui/react-dom": ^2.0.0 + "@radix-ui/react-arrow": 1.0.3 + "@radix-ui/react-compose-refs": 1.0.1 + "@radix-ui/react-context": 1.0.1 + "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-use-callback-ref": 1.0.1 + "@radix-ui/react-use-layout-effect": 1.0.1 + "@radix-ui/react-use-rect": 1.0.1 + "@radix-ui/react-use-size": 1.0.1 + "@radix-ui/rect": 1.0.1 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 4bd069b79f7046af2c0967b8e43f727cd09834cbd6df1e3d5a943c4f83428ff8b646882737fdf7593c22e261a1d13768a5c020138d79503862ae2e1729081bba + languageName: node + linkType: hard + +"@radix-ui/react-portal@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-portal@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-primitive": 1.0.3 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: baf295bbbf09ead37b64ee1dc025a6a540960f5e60552766d78f6065504c67d4bcf49fad5e2073617d9a3011daafad625aa3bd1da7a886c704833b22a49e888f + languageName: node + linkType: hard + +"@radix-ui/react-primitive@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-primitive@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-slot": 1.0.2 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be + languageName: node + linkType: hard + +"@radix-ui/react-select@npm:^1.2.2": + version: 1.2.2 + resolution: "@radix-ui/react-select@npm:1.2.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/number": 1.0.1 + "@radix-ui/primitive": 1.0.1 + "@radix-ui/react-collection": 1.0.3 + "@radix-ui/react-compose-refs": 1.0.1 + "@radix-ui/react-context": 1.0.1 + "@radix-ui/react-direction": 1.0.1 + "@radix-ui/react-dismissable-layer": 1.0.4 + "@radix-ui/react-focus-guards": 1.0.1 + "@radix-ui/react-focus-scope": 1.0.3 + "@radix-ui/react-id": 1.0.1 + "@radix-ui/react-popper": 1.1.2 + "@radix-ui/react-portal": 1.0.3 + "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-slot": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.1 + "@radix-ui/react-use-controllable-state": 1.0.1 + "@radix-ui/react-use-layout-effect": 1.0.1 + "@radix-ui/react-use-previous": 1.0.1 + "@radix-ui/react-visually-hidden": 1.0.3 + aria-hidden: ^1.1.1 + react-remove-scroll: 2.5.5 + peerDependencies: + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 888fffa703a8f79b45c01d5f03ad9aae66250ddfff827bbba4f222c4d0720aa2f01a3e4b6bd80acabaf5e2fa7ad79de9e9dfd14831f7f4c24337d4d8dfb58ccc + languageName: node + linkType: hard + +"@radix-ui/react-slot@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-slot@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-compose-refs": 1.0.1 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 + languageName: node + linkType: hard + +"@radix-ui/react-use-callback-ref@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 + languageName: node + linkType: hard + +"@radix-ui/react-use-controllable-state@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-use-callback-ref": 1.0.1 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": optional: true - checksum: e470b543c5e8d73eeaa73636e1976e6719db6ae29c93fa62818f5796c1883051f379a3cb1ff85d909ef2c6bb9ef13ca46c36f1878c48d143b1355fea6660e547 + checksum: 29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe languageName: node linkType: hard -"@popperjs/core@npm:^2.11.5, @popperjs/core@npm:^2.6.0": - version: 2.11.8 - resolution: "@popperjs/core@npm:2.11.8" - checksum: 4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 +"@radix-ui/react-use-escape-keydown@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-use-callback-ref": 1.0.1 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad languageName: node linkType: hard -"@preact/preset-vite@npm:^2.0.0": - version: 2.5.0 - resolution: "@preact/preset-vite@npm:2.5.0" +"@radix-ui/react-use-layout-effect@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" dependencies: - "@babel/plugin-transform-react-jsx": ^7.14.9 - "@babel/plugin-transform-react-jsx-development": ^7.16.7 - "@prefresh/vite": ^2.2.8 - "@rollup/pluginutils": ^4.1.1 - babel-plugin-transform-hook-names: ^1.0.2 - debug: ^4.3.1 - kolorist: ^1.2.10 - resolve: ^1.20.0 + "@babel/runtime": ^7.13.10 peerDependencies: - "@babel/core": 7.x - vite: 2.x || 3.x || 4.x - checksum: 109f2a64717357f76685cd45ec1f709c2ba83e88a8dc485b39dec8cb1178eda765fe929b47d83690cbee1fa6181209f79ba4f7cbec15bcaa1cbb45730af8946a + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a languageName: node linkType: hard -"@prefresh/babel-plugin@npm:0.5.0": - version: 0.5.0 - resolution: "@prefresh/babel-plugin@npm:0.5.0" - checksum: 71cbfb52f3f4e29c2cc6a3b7adee87ac7d9c074edfe2f87b3f90ab006123572fab6dd679aa125b8a94e4669578f172ef0b1732d0d6c2b2fc158d0c765a87b70f +"@radix-ui/react-use-previous@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-previous@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: f5fbc602108668484a4ed506b7842482222d1d03094362e26abb7fdd593eee8794fc47d85b3524fb9d00884801c89a6eefd0bed0971eba1ec189c637b6afd398 languageName: node linkType: hard -"@prefresh/core@npm:^1.5.1": - version: 1.5.1 - resolution: "@prefresh/core@npm:1.5.1" +"@radix-ui/react-use-rect@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-rect@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/rect": 1.0.1 peerDependencies: - preact: ^10.0.0 - checksum: 7a1063a65911fbfcd5b02f34911875de5ffedb02ad4dda2bf9c519193ccb38f21b65ac3a2ba0bc4d8526c847b623013e0d2c1e7a58091aee33fc95ac40f4ad14 + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 94c5ab31dfd3678c0cb77a30025e82b3a287577c1a8674b0d703a36d27434bc9c59790e0bebf57ed153f0b8e0d8c3b9675fc9787b9eac525a09abcda8fa9e7eb languageName: node linkType: hard -"@prefresh/utils@npm:^1.2.0": - version: 1.2.0 - resolution: "@prefresh/utils@npm:1.2.0" - checksum: 38cdc6cbb5e18df36996161214eb1097db3361cb0b6402a8012cbe500ba8fb5bcbdc39a687d3b6d67e99f6c340ed77d59f27ab167dfc1655eb4d783740d87d52 +"@radix-ui/react-use-size@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/react-use-size@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-use-layout-effect": 1.0.1 + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: b109a4b3781781c4dc641a1173f0a6fcb0b0f7b2d7cdba5848a46070c9fb4e518909a46c20a3c2efbc78737c64859c59ead837f2940e8c8394d1c503ef58773b languageName: node linkType: hard -"@prefresh/vite@npm:^2.2.8": - version: 2.4.0 - resolution: "@prefresh/vite@npm:2.4.0" +"@radix-ui/react-visually-hidden@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-visually-hidden@npm:1.0.3" dependencies: - "@babel/core": ^7.9.6 - "@prefresh/babel-plugin": 0.5.0 - "@prefresh/core": ^1.5.1 - "@prefresh/utils": ^1.2.0 - "@rollup/pluginutils": ^4.1.0 + "@babel/runtime": ^7.13.10 + "@radix-ui/react-primitive": 1.0.3 peerDependencies: - preact: ^10.4.0 - vite: ">=2.0.0-beta.3" - checksum: c30fee28c5b4e2090fc030cd61fcfbb1140c1524366dddb23350d884cd09ed2f3b4a64ffb3a95c53e91836a0a88807e7237d541cd9655fe03849493794276147 + "@types/react": "*" + "@types/react-dom": "*" + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 0cbc12c2156b3fa0e40090cafd8525ce84c16a6b5a038a8e8fc7cbb16ed6da9ab369593962c57a18c41a16ec8713e0195c68ea34072ef1ca254ed4d4c0770bb4 + languageName: node + linkType: hard + +"@radix-ui/rect@npm:1.0.1": + version: 1.0.1 + resolution: "@radix-ui/rect@npm:1.0.1" + dependencies: + "@babel/runtime": ^7.13.10 + checksum: 4c5159661340acc31b11e1f2ebd87a1521d39bfa287544dd2cd75b399539a4b625d38a1501c90ceae21fcca18ed164b0c3735817ff140ae334098192c110e571 languageName: node linkType: hard -"@rollup/pluginutils@npm:^4.1.0, @rollup/pluginutils@npm:^4.1.1": +"@rollup/pluginutils@npm:^4.1.1, @rollup/pluginutils@npm:^4.2.1": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" dependencies: @@ -5055,14 +5433,14 @@ __metadata: languageName: node linkType: hard -"@schematics/angular@npm:16.0.5": - version: 16.0.5 - resolution: "@schematics/angular@npm:16.0.5" +"@schematics/angular@npm:16.1.4": + version: 16.1.4 + resolution: "@schematics/angular@npm:16.1.4" dependencies: - "@angular-devkit/core": 16.0.5 - "@angular-devkit/schematics": 16.0.5 + "@angular-devkit/core": 16.1.4 + "@angular-devkit/schematics": 16.1.4 jsonc-parser: 3.2.0 - checksum: e7b8c733a0b5fd88bdf4278e89b26bbcc3612f8251f30879e1abe35cc40d863d444f4899e4c69922d315e57655358e7722f5a2b8f0a61e9aff8aa187976a7c9f + checksum: 48b692eed1b0d02bfb506e6ab3eb414c151623efaf5b10783dcf6dc1bd806a5711511ff5a97c74662935a153e50da0510946a75d73b6b8f320ad4d1897034754 languageName: node linkType: hard @@ -5096,21 +5474,20 @@ __metadata: languageName: node linkType: hard -"@sigstore/tuf@npm:^1.0.0": - version: 1.0.0 - resolution: "@sigstore/tuf@npm:1.0.0" +"@sigstore/tuf@npm:^1.0.1": + version: 1.0.2 + resolution: "@sigstore/tuf@npm:1.0.2" dependencies: "@sigstore/protobuf-specs": ^0.1.0 - make-fetch-happen: ^11.0.1 - tuf-js: ^1.1.3 - checksum: 95251d95b42875907863f67637238c4cafe7c24d816ab01f71dc6ac07e275d8fef33c65d49a4165368c208e427119bd57737e4913dd7053cee0021195bc5655f + tuf-js: ^1.1.7 + checksum: de76e20e6c131b118aa721c62efa1f7512ecbe3d94044770ddc06edb5d78be79fef0da1b81b69c2b012ed6fd2ace0fe0080e5dbdc40703d170de550188befb34 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.25.16": - version: 0.25.24 - resolution: "@sinclair/typebox@npm:0.25.24" - checksum: 2faf9878f3a65a1f2855add80b0fe8c6fe83f084ea1ab432fa7506e7c85c55ae121c4af516d089b5737f5fad23b3628fcc83a6a5df29030c3f611185ce0388ac +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e languageName: node linkType: hard @@ -5147,11 +5524,11 @@ __metadata: linkType: hard "@sinonjs/fake-timers@npm:^10.0.2": - version: 10.2.0 - resolution: "@sinonjs/fake-timers@npm:10.2.0" + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" dependencies: "@sinonjs/commons": ^3.0.0 - checksum: 9f4726e7799a409d51d6760af3b65dac061b4f5c0b69b3af4caf79ecc3012dacae1f40078d915f9cec1ecd81d84a41619a98d4878bb2ef9f3ed66c16c2f5f833 + checksum: 2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 languageName: node linkType: hard @@ -5785,7 +6162,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/api@7.1.0, @storybook/api@workspace:*, @storybook/api@workspace:deprecated/manager-api-shim": +"@storybook/api@workspace:*, @storybook/api@workspace:deprecated/manager-api-shim": version: 0.0.0-use.local resolution: "@storybook/api@workspace:deprecated/manager-api-shim" dependencies: @@ -5944,8 +6321,6 @@ __metadata: dependencies: "@babel/core": ^7.22.9 "@storybook/addons": 7.1.0 - "@storybook/api": 7.1.0 - "@storybook/channel-postmessage": 7.1.0 "@storybook/channels": 7.1.0 "@storybook/client-api": 7.1.0 "@storybook/client-logger": 7.1.0 @@ -6004,7 +6379,7 @@ __metadata: languageName: unknown linkType: soft -"@storybook/channel-postmessage@7.1.0, @storybook/channel-postmessage@workspace:*, @storybook/channel-postmessage@workspace:deprecated/channel-postmessage": +"@storybook/channel-postmessage@workspace:*, @storybook/channel-postmessage@workspace:deprecated/channel-postmessage": version: 0.0.0-use.local resolution: "@storybook/channel-postmessage@workspace:deprecated/channel-postmessage" dependencies: @@ -6156,6 +6531,7 @@ __metadata: resolution: "@storybook/components@workspace:ui/components" dependencies: "@popperjs/core": ^2.6.0 + "@radix-ui/react-select": ^1.2.2 "@storybook/client-logger": 7.1.0 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 @@ -6435,7 +6811,6 @@ __metadata: dependencies: "@storybook/addons": 7.1.0 "@storybook/builder-vite": 7.1.0 - "@storybook/channel-postmessage": 7.1.0 "@storybook/client-api": 7.1.0 "@storybook/core-server": 7.1.0 "@storybook/html": 7.1.0 @@ -6570,8 +6945,6 @@ __metadata: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 "@storybook/addon-designs": ^7.0.0 "@storybook/addons": 7.1.0 - "@storybook/api": 7.1.0 - "@storybook/channel-postmessage": 7.1.0 "@storybook/channels": 7.1.0 "@storybook/client-logger": 7.1.0 "@storybook/components": 7.1.0 @@ -6948,7 +7321,6 @@ __metadata: resolution: "@storybook/preview-api@workspace:lib/preview-api" dependencies: "@jest/globals": ^29.5.0 - "@storybook/channel-postmessage": 7.1.0 "@storybook/channels": 7.1.0 "@storybook/client-logger": 7.1.0 "@storybook/core-common": 7.1.0 @@ -7473,13 +7845,13 @@ __metadata: linkType: soft "@storybook/testing-library@npm:next": - version: 0.2.0-next.0 - resolution: "@storybook/testing-library@npm:0.2.0-next.0" + version: 0.2.0-next.1 + resolution: "@storybook/testing-library@npm:0.2.0-next.1" dependencies: - "@testing-library/dom": ^9.3.1 - "@testing-library/user-event": ^14.4.3 + "@testing-library/dom": ^9.0.0 + "@testing-library/user-event": ^14.0.0 ts-dedent: ^2.2.0 - checksum: 342ee91530b77db13c2691c36d7a00efead1af6453b58bbcca4d01afcdbe8e2b12dcaef734bea165838b6e6dd5af7d12032039c12e53955d7026190e56f6dc1b + checksum: 8e9a49cc854e46039a123d35a7c36a5f133f581998f10f4330af1be790fa57dc597caac377939562ba8bf48e551b7d9340e12a1425ca60e1690ff13dca3a89cd languageName: node linkType: hard @@ -7760,90 +8132,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-darwin-arm64@npm:1.3.62" +"@swc/core-darwin-arm64@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-darwin-arm64@npm:1.3.70" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-darwin-x64@npm:1.3.62" +"@swc/core-darwin-x64@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-darwin-x64@npm:1.3.70" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.62" +"@swc/core-linux-arm-gnueabihf@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.70" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.62" +"@swc/core-linux-arm64-gnu@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.70" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.62" +"@swc/core-linux-arm64-musl@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.70" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.62" +"@swc/core-linux-x64-gnu@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.70" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-linux-x64-musl@npm:1.3.62" +"@swc/core-linux-x64-musl@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-x64-musl@npm:1.3.70" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.62" +"@swc/core-win32-arm64-msvc@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.70" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.62" +"@swc/core-win32-ia32-msvc@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.70" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.62": - version: 1.3.62 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.62" +"@swc/core-win32-x64-msvc@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.70" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.23, @swc/core@npm:^1.3.49": - version: 1.3.62 - resolution: "@swc/core@npm:1.3.62" - dependencies: - "@swc/core-darwin-arm64": 1.3.62 - "@swc/core-darwin-x64": 1.3.62 - "@swc/core-linux-arm-gnueabihf": 1.3.62 - "@swc/core-linux-arm64-gnu": 1.3.62 - "@swc/core-linux-arm64-musl": 1.3.62 - "@swc/core-linux-x64-gnu": 1.3.62 - "@swc/core-linux-x64-musl": 1.3.62 - "@swc/core-win32-arm64-msvc": 1.3.62 - "@swc/core-win32-ia32-msvc": 1.3.62 - "@swc/core-win32-x64-msvc": 1.3.62 + version: 1.3.70 + resolution: "@swc/core@npm:1.3.70" + dependencies: + "@swc/core-darwin-arm64": 1.3.70 + "@swc/core-darwin-x64": 1.3.70 + "@swc/core-linux-arm-gnueabihf": 1.3.70 + "@swc/core-linux-arm64-gnu": 1.3.70 + "@swc/core-linux-arm64-musl": 1.3.70 + "@swc/core-linux-x64-gnu": 1.3.70 + "@swc/core-linux-x64-musl": 1.3.70 + "@swc/core-win32-arm64-msvc": 1.3.70 + "@swc/core-win32-ia32-msvc": 1.3.70 + "@swc/core-win32-x64-msvc": 1.3.70 peerDependencies: "@swc/helpers": ^0.5.0 dependenciesMeta: @@ -7870,7 +8242,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: aaa0827960f656c762733836938d31b2d596495b8430eb6feb0d1f6b1416b3444e7b59c326ae37ee410d8d3d25fff20ac8ff0f66ebe8a87e7fae1ca651aff915 + checksum: 9433f6df1623de33c400d45bec65b1e54ad9e250ff1c24b3adb6d1925c753dc694ea0a0c6d75456fcf28d0c3e01866c3a880f24d23e35b2f62a9a3218ce7c15e languageName: node linkType: hard @@ -7920,7 +8292,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^9.3.1": +"@testing-library/dom@npm:^9.0.0": version: 9.3.1 resolution: "@testing-library/dom@npm:9.3.1" dependencies: @@ -7937,8 +8309,8 @@ __metadata: linkType: hard "@testing-library/jest-dom@npm:^5.11.9, @testing-library/jest-dom@npm:^5.16.2": - version: 5.16.5 - resolution: "@testing-library/jest-dom@npm:5.16.5" + version: 5.17.0 + resolution: "@testing-library/jest-dom@npm:5.17.0" dependencies: "@adobe/css-tools": ^4.0.1 "@babel/runtime": ^7.9.2 @@ -7949,7 +8321,7 @@ __metadata: dom-accessibility-api: ^0.5.6 lodash: ^4.17.15 redent: ^3.0.0 - checksum: 0925fda78096cca355d164d5358b84b9371c4fb6ba60ce60c2263446ac6d9c6aaca75e2792cdb42699fe78c379924c53db672a3510361b577ebb89a0c6e1c629 + checksum: 24e09c5779ea44644945ec26f2e4e5f48aecfe57d469decf2317a3253a5db28d865c55ad0ea4818d8d1df7572a6486c45daa06fa09644a833a7dd84563881939 languageName: node linkType: hard @@ -7977,7 +8349,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/user-event@npm:^14.4.3": +"@testing-library/user-event@npm:^14.0.0": version: 14.4.3 resolution: "@testing-library/user-event@npm:14.4.3" peerDependencies: @@ -8264,12 +8636,12 @@ __metadata: linkType: hard "@types/eslint@npm:*": - version: 8.40.1 - resolution: "@types/eslint@npm:8.40.1" + version: 8.44.0 + resolution: "@types/eslint@npm:8.44.0" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: c165328b77d86db3000488bceed1b2dc12c34adb0d9d1224d78d3a328deb0a16a14a8178350216e4f290e147ac885ad54824fc50ddca932a5d890c6d9b082dbe + checksum: feac2a3aafe96844993aa0a3343e9265a13e4dbe2981a215b0103926253ce23adbee4563cef91ef0444f2463658bc10ce69fb6941f4297b4f9a021c77fdf1ec7 languageName: node linkType: hard @@ -8355,17 +8727,7 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:*": - version: 8.1.0 - resolution: "@types/glob@npm:8.1.0" - dependencies: - "@types/minimatch": ^5.1.2 - "@types/node": "*" - checksum: ded07aa0d7a1caf3c47b85e262be82989ccd7933b4a14712b79c82fd45a239249811d9fc3a135b3e9457afa163e74a297033d7245b0dc63cd3d032f3906b053f - languageName: node - linkType: hard - -"@types/glob@npm:^7.1.1, @types/glob@npm:^7.1.3": +"@types/glob@npm:*, @types/glob@npm:^7.1.1, @types/glob@npm:^7.1.3": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" dependencies: @@ -8385,11 +8747,11 @@ __metadata: linkType: hard "@types/hast@npm:^2.0.0": - version: 2.3.4 - resolution: "@types/hast@npm:2.3.4" + version: 2.3.5 + resolution: "@types/hast@npm:2.3.5" dependencies: - "@types/unist": "*" - checksum: 635cfe9a8e91f6b3c15c9929455d0136ac4d75c5b7f596ce21b453cecdfda785e89b10eb2b2d9da9d43e548b1d65ba3e20c741bbaf83823575c9c45001ade4bb + "@types/unist": ^2 + checksum: 3fc5185e7fb5139a4f60f0d4450179c1f88b7e288a054415b273e4a32f0c4cfe825a4cad075824dcdf3984609b47f13141f8900dedb3aeab482ae5a16275e807 languageName: node linkType: hard @@ -8407,6 +8769,13 @@ __metadata: languageName: node linkType: hard +"@types/http-errors@npm:*": + version: 2.0.1 + resolution: "@types/http-errors@npm:2.0.1" + checksum: 3bbc8c84fb02b381737e2eec563b434121384b1aef4e070edec4479a1bc74f27373edc09162680cd3ea1035ef8e5ab6d606bd7c99e3855c424045fb74376cb66 + languageName: node + linkType: hard + "@types/http-proxy@npm:^1.17.8": version: 1.17.11 resolution: "@types/http-proxy@npm:1.17.11" @@ -8471,12 +8840,12 @@ __metadata: linkType: hard "@types/jest@npm:*, @types/jest@npm:>=26.0.0": - version: 29.5.2 - resolution: "@types/jest@npm:29.5.2" + version: 29.5.3 + resolution: "@types/jest@npm:29.5.3" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: e85525fe83a0792632a31ca32968b33a0014d617442e9a515357d2aa8890052ef622b1f6fd25d48f4f1a3ab806bed94e6d9b056dea23a897464e0e35957ff654 + checksum: ba5a28569368db62eeff85ea53661c7dff79a5be739a59926c37868888cc69f8b7d0c7c6209139ecca5b83056843ba67fa764f7e7fc9c8d1c4e1f80351ede0f4 languageName: node linkType: hard @@ -8548,11 +8917,11 @@ __metadata: linkType: hard "@types/mdast@npm:^3.0.0": - version: 3.0.11 - resolution: "@types/mdast@npm:3.0.11" + version: 3.0.12 + resolution: "@types/mdast@npm:3.0.12" dependencies: - "@types/unist": "*" - checksum: 569ec32ac16deb42f2c9e7cdbfb5be0f67d2407036b49ba9cfa07ad0258b044c259922acba170eaed165ebcf5eb168032fbb4b3e35023fe8c581fe46e9bcbad0 + "@types/unist": ^2 + checksum: b5af41e4f19a149eba58cde8ccacc36117640aefe28966637c54c27a8fbcfa3972e88cafd859c7bf39cd5c4e965e4196169001beac4a1980cfee6b08eea896a6 languageName: node linkType: hard @@ -8584,7 +8953,7 @@ __metadata: languageName: node linkType: hard -"@types/minimatch@npm:*, @types/minimatch@npm:^5.1.2": +"@types/minimatch@npm:*": version: 5.1.2 resolution: "@types/minimatch@npm:5.1.2" checksum: 83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 @@ -8631,17 +9000,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>= 8": - version: 20.2.5 - resolution: "@types/node@npm:20.2.5" - checksum: 1c3db8a4ceb5e5d12e7cb140e37c14a16ce013084c6d65579b91cefbe0ecaca57d85093d968172b11c3d1d95bcbc5d972b08aa3dc3935206fb39bc6c10751102 - languageName: node - linkType: hard - -"@types/node@npm:^16.0.0": - version: 16.18.34 - resolution: "@types/node@npm:16.18.34" - checksum: d6572e12b2200a813b2e0944add0abb8ac59d51a0cf28651dd1dde9de4d43e9d4c2c41fd7cf910d0c3bd8e13d10047f58211a53e76780279fc6d284137d3b001 +"@types/node@npm:*, @types/node@npm:>= 8, @types/node@npm:^16.0.0": + version: 16.18.38 + resolution: "@types/node@npm:16.18.38" + checksum: 02631f1cfe0c111024e4bf0909c3bfc7476e65e03cb32dc48b2f71f000590b244d239b349b91a6b03667c33f31fbd3200c8fc5838623fcaadce3e92d60efee1a languageName: node linkType: hard @@ -8787,13 +9149,13 @@ __metadata: linkType: hard "@types/react@npm:*, @types/react@npm:>=16, @types/react@npm:^16, @types/react@npm:^16.14.34": - version: 16.14.42 - resolution: "@types/react@npm:16.14.42" + version: 16.14.43 + resolution: "@types/react@npm:16.14.43" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 44e6113f492ffffce4158b771bbb6f7ec2253961d53e873fcafd8b315b16c739dd4649932800c9414beed1fd3382aa90b6f3a41b74e4adc0b63f5c51e8ad1c09 + checksum: 1878039ed0d81bcfcdb7e389e221f7e3f0470e82007c60e58196b160c733ff194f6784e104e8071a96ec93d14998875c88c2dcf48aa49b73d16c5fc75d1bb602 languageName: node linkType: hard @@ -8866,12 +9228,13 @@ __metadata: linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10, @types/serve-static@npm:^1.13.8": - version: 1.15.1 - resolution: "@types/serve-static@npm:1.15.1" + version: 1.15.2 + resolution: "@types/serve-static@npm:1.15.2" dependencies: + "@types/http-errors": "*" "@types/mime": "*" "@types/node": "*" - checksum: dc934e2adce730480af5af6081b99f50be4dfb7f44537893444bcf1dc97f5d5ffb16b38350ecd89dd114184d751ba3271500631fa56cf1faa35be56f8e45971b + checksum: 5e7b3e17b376f8910d5c9a0b1def38d7841c8939713940098f1b80a330d5caa9cfe9b632c122252cd70165052439e18fafa46635dc55b1d6058343901eec22eb languageName: node linkType: hard @@ -8936,11 +9299,11 @@ __metadata: linkType: hard "@types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.6 - resolution: "@types/testing-library__jest-dom@npm:5.14.6" + version: 5.14.8 + resolution: "@types/testing-library__jest-dom@npm:5.14.8" dependencies: "@types/jest": "*" - checksum: f681d1af71b969b84cb2bfbf6e09f97a951eed577f983f4c0335e9175bc94b0721217fa10d06f30fabc3b09ccbcfb3c1f5957fa1d3a8becf04c1536bd8364948 + checksum: 83b9e7470da50d1a594c0afd999f689955e61cb8d9a8a32582ca14f73cc8503428376f98414becc1dc9e712f3de8ee2e49f41ed0117ab6a382c79988682e857e languageName: node linkType: hard @@ -8974,10 +9337,10 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:*, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.6 - resolution: "@types/unist@npm:2.0.6" - checksum: 8690789328e8e10c487334341fcf879fd49f8987c98ce49849f9871052f95d87477735171bb661e6f551bdb95235e015dfdad1867ca1d9b5b88a053f72ac40eb +"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.7 + resolution: "@types/unist@npm:2.0.7" + checksum: ecfb4ad9909ba9390fc3b6923a1d783e99753b0687f5cd99a0e56b6c05e1c72bf4e55cb1b8c0ffda49c6cbead4636de351a130f63d7648c554dc526038733b25 languageName: node linkType: hard @@ -9100,15 +9463,15 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^5.45.0": - version: 5.59.9 - resolution: "@typescript-eslint/eslint-plugin@npm:5.59.9" + version: 5.62.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.59.9 - "@typescript-eslint/type-utils": 5.59.9 - "@typescript-eslint/utils": 5.59.9 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/type-utils": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 - grapheme-splitter: ^1.0.4 + graphemer: ^1.4.0 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 semver: ^7.3.7 @@ -9119,54 +9482,54 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 4bb9981bcc009c044ffd6b64288309480df2b6c9cdf6b345987e4b565d0973d1d98b7209f6b46b92880735d788f564e17553641087aa59f67990c84526622a27 + checksum: 3f40cb6bab5a2833c3544e4621b9fdacd8ea53420cadc1c63fac3b89cdf5c62be1e6b7bcf56976dede5db4c43830de298ced3db60b5494a3b961ca1b4bff9f2a languageName: node linkType: hard "@typescript-eslint/experimental-utils@npm:^5.45.0": - version: 5.59.9 - resolution: "@typescript-eslint/experimental-utils@npm:5.59.9" + version: 5.62.0 + resolution: "@typescript-eslint/experimental-utils@npm:5.62.0" dependencies: - "@typescript-eslint/utils": 5.59.9 + "@typescript-eslint/utils": 5.62.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 55b443a2b62f1736babb1f463175d9903267a423b4ba1f0e4f5092018805cf6f8ba0ffcbab4cf963f85fe219497870cdd41c4c7b222efafc1a52502e262da501 + checksum: f7037977e00849cd8c03677a88b0659a4f0e0b1e0151aebb47c49c92b8e57408578142df598eac08b364623d926343c724f42494f87662e437b1c89f0b2e815b languageName: node linkType: hard "@typescript-eslint/parser@npm:^5.45.0": - version: 5.59.9 - resolution: "@typescript-eslint/parser@npm:5.59.9" + version: 5.62.0 + resolution: "@typescript-eslint/parser@npm:5.62.0" dependencies: - "@typescript-eslint/scope-manager": 5.59.9 - "@typescript-eslint/types": 5.59.9 - "@typescript-eslint/typescript-estree": 5.59.9 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: af0e041e8a541734ff237ec0eac47e355c2f78dd2b0db4eb4ab0c10ba1b6d5d70f84ddc16f856bc72c4cacd53ef04b5f4948baffb5c8cb2d9a0ffd83a8fbc547 + checksum: 315194b3bf39beb9bd16c190956c46beec64b8371e18d6bb72002108b250983eb1e186a01d34b77eb4045f4941acbb243b16155fbb46881105f65e37dc9e24d4 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.59.9": - version: 5.59.9 - resolution: "@typescript-eslint/scope-manager@npm:5.59.9" +"@typescript-eslint/scope-manager@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/scope-manager@npm:5.62.0" dependencies: - "@typescript-eslint/types": 5.59.9 - "@typescript-eslint/visitor-keys": 5.59.9 - checksum: 41622fd270e5b8574347ed5dd020bbb9752d85e6f40df180e944c1110d9bd2227a949067feb23dd4117dd2be0623c05a47bc363abe605c96deb295753f6dd080 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + checksum: 861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.59.9": - version: 5.59.9 - resolution: "@typescript-eslint/type-utils@npm:5.59.9" +"@typescript-eslint/type-utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/type-utils@npm:5.62.0" dependencies: - "@typescript-eslint/typescript-estree": 5.59.9 - "@typescript-eslint/utils": 5.59.9 + "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -9174,23 +9537,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: c3a9773d2b81350923025933623e1572538f79bf119b40bed17389eda11632f6d364a49b385aa6d915d85f7c3d45376085cc55263d865dbc2b753598bba6473b + checksum: 93112e34026069a48f0484b98caca1c89d9707842afe14e08e7390af51cdde87378df29d213d3bbd10a7cfe6f91b228031b56218515ce077bdb62ddea9d9f474 languageName: node linkType: hard -"@typescript-eslint/types@npm:5.59.9": - version: 5.59.9 - resolution: "@typescript-eslint/types@npm:5.59.9" - checksum: 951046891bcc9fa27d72a5489b496291e44cedcff204d3ce6c10c8916fc5e255332738efd4d7555200a55b49ff4ba1204e186960d216d51fea89fe92a982180e +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.59.9": - version: 5.59.9 - resolution: "@typescript-eslint/typescript-estree@npm:5.59.9" +"@typescript-eslint/typescript-estree@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" dependencies: - "@typescript-eslint/types": 5.59.9 - "@typescript-eslint/visitor-keys": 5.59.9 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -9199,35 +9562,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2f3d8df6d454fbc52d305abfe8447bff8e8d63294ce47e4679c920f647643f5d15a1f693caf74f4fabece12d5ba27ebdb156d507b16fbd2751fc01ba6c4df3c8 + checksum: d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.59.9, @typescript-eslint/utils@npm:^5.45.0": - version: 5.59.9 - resolution: "@typescript-eslint/utils@npm:5.59.9" +"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.45.0": + version: 5.62.0 + resolution: "@typescript-eslint/utils@npm:5.62.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.59.9 - "@typescript-eslint/types": 5.59.9 - "@typescript-eslint/typescript-estree": 5.59.9 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 eslint-scope: ^5.1.1 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: b8a04a83c121faa3e36abb2b6113f2e0ec5cf86884d0cb8619bfc50f7442341ee17e4495d69f8abeb6edad9e0347de8382ea1708a5fd6da1e4c80b7b8215c6ab + checksum: f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.59.9": - version: 5.59.9 - resolution: "@typescript-eslint/visitor-keys@npm:5.59.9" +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" dependencies: - "@typescript-eslint/types": 5.59.9 + "@typescript-eslint/types": 5.62.0 eslint-visitor-keys: ^3.3.0 - checksum: 882fd03830cbe0eca8f9a547aecc6519ddbec10e55f5f3de66e605a3f3d42a6237abd3c09b34d9cc3343c8e11386e999876aec384efe523e1478cb22752d326d + checksum: 7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d languageName: node linkType: hard @@ -9282,61 +9645,30 @@ __metadata: languageName: node linkType: hard -"@volar/language-core@npm:1.4.1": - version: 1.4.1 - resolution: "@volar/language-core@npm:1.4.1" - dependencies: - "@volar/source-map": 1.4.1 - checksum: 0dd7286b316f973f42060e955a4232ee16cfc20cf76242dda12e6dadd0e8517bff01fd3af429b164e9bd04f4218a3314bfe1ab0d213051c39ab15aa65d2bf7bc - languageName: node - linkType: hard - -"@volar/source-map@npm:1.4.1": - version: 1.4.1 - resolution: "@volar/source-map@npm:1.4.1" - dependencies: - muggle-string: ^0.2.2 - checksum: 0d677235157a76793606d85818a5616ddca37453423fc37c3648c442200a7ef9beeb2467a762ed4741adbad506cae559e9b8a034469dc8f15a77b8722ab55bd5 - languageName: node - linkType: hard - -"@volar/typescript@npm:1.4.1-patch.2": - version: 1.4.1-patch.2 - resolution: "@volar/typescript@npm:1.4.1-patch.2" +"@volar/language-core@npm:1.9.0, @volar/language-core@npm:~1.9.0": + version: 1.9.0 + resolution: "@volar/language-core@npm:1.9.0" dependencies: - "@volar/language-core": 1.4.1 - peerDependencies: - typescript: "*" - checksum: 1169e57ae294f001a89b31cfbdb136f0bc98f294c30a28f16fdc9e628adaf12f493ee33d4feed2215b7ea58979188930f54d90e0274abe0de7795920ae82ea22 + "@volar/source-map": 1.9.0 + checksum: aaa61dd8b6428d67427136ff4166e1e13ff89c4ca05a06ee7006a0932fc693712d703cc237726016155af82f5c43870895f179281479fd1e7fd51669bee6379b languageName: node linkType: hard -"@volar/vue-language-core@npm:1.6.5": - version: 1.6.5 - resolution: "@volar/vue-language-core@npm:1.6.5" +"@volar/source-map@npm:1.9.0, @volar/source-map@npm:~1.9.0": + version: 1.9.0 + resolution: "@volar/source-map@npm:1.9.0" dependencies: - "@volar/language-core": 1.4.1 - "@volar/source-map": 1.4.1 - "@vue/compiler-dom": ^3.3.0 - "@vue/compiler-sfc": ^3.3.0 - "@vue/reactivity": ^3.3.0 - "@vue/shared": ^3.3.0 - minimatch: ^9.0.0 - muggle-string: ^0.2.2 - vue-template-compiler: ^2.7.14 - checksum: b9354a2d7452dbbe8a8500723f5d118be3acc6edb45ca4c29829869d94454f89ff61fe6db87c83ba3e42f6f0ab33b60329d0e9fcb219a860eacffa621c9f22f5 + muggle-string: ^0.3.1 + checksum: bf3ac6c597abeee911b0d557b43c24971cabe76e5fa0545490998619518a34ea54c7d9374eddfc9b5d8fa43333443c369f2cba9342d9069c7b26eb14a3b7aeb7 languageName: node linkType: hard -"@volar/vue-typescript@npm:1.6.5": - version: 1.6.5 - resolution: "@volar/vue-typescript@npm:1.6.5" +"@volar/typescript@npm:~1.9.0": + version: 1.9.0 + resolution: "@volar/typescript@npm:1.9.0" dependencies: - "@volar/typescript": 1.4.1-patch.2 - "@volar/vue-language-core": 1.6.5 - peerDependencies: - typescript: "*" - checksum: 3b90e266d5ae67c4b94a57dba501ff890cc42ce41fcb9827bcd97041bbab574c70ac7f2331e3f60e7b41e82a33606ca3f3d0027a2d2fe081489889ba0e83f18e + "@volar/language-core": 1.9.0 + checksum: 66a93c45b729d9a586c8889fe8249ecf4a83212b5671e5caf84132101170784a31bf8e09afc24b119dd9c18c2ce71993bde2b78746e5a4492da834eda7c17aea languageName: node linkType: hard @@ -9422,7 +9754,7 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-sfc@npm:3.3.4, @vue/compiler-sfc@npm:^3.2.0, @vue/compiler-sfc@npm:^3.2.33, @vue/compiler-sfc@npm:^3.3.0": +"@vue/compiler-sfc@npm:3.3.4, @vue/compiler-sfc@npm:^3.2.0, @vue/compiler-sfc@npm:^3.2.33": version: 3.3.4 resolution: "@vue/compiler-sfc@npm:3.3.4" dependencies: @@ -9480,6 +9812,27 @@ __metadata: languageName: node linkType: hard +"@vue/language-core@npm:1.8.5": + version: 1.8.5 + resolution: "@vue/language-core@npm:1.8.5" + dependencies: + "@volar/language-core": ~1.9.0 + "@volar/source-map": ~1.9.0 + "@vue/compiler-dom": ^3.3.0 + "@vue/reactivity": ^3.3.0 + "@vue/shared": ^3.3.0 + minimatch: ^9.0.0 + muggle-string: ^0.3.1 + vue-template-compiler: ^2.7.14 + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 0d5aabe8cd62ba2a40538bcb967344971a13d45e0803a933e29cd12c411d9e3fd7d781fc3abe0ffe4e2c00fff9d15ca7210b38b987c78355d6f61d925aefc2e0 + languageName: node + linkType: hard + "@vue/reactivity-transform@npm:3.3.4": version: 3.3.4 resolution: "@vue/reactivity-transform@npm:3.3.4" @@ -9579,6 +9932,16 @@ __metadata: languageName: node linkType: hard +"@vue/typescript@npm:1.8.5": + version: 1.8.5 + resolution: "@vue/typescript@npm:1.8.5" + dependencies: + "@volar/typescript": ~1.9.0 + "@vue/language-core": 1.8.5 + checksum: 2dd29100ad6841b25e876ef8895f52dffac3cf1a8d85d3b1243e7246aeb8d7fdbd2ca7a2d3e68105439699b8b1202b64e2194f7756077e14d37b90ab7653c913 + languageName: node + linkType: hard + "@vue/vue3-jest@npm:29": version: 29.2.4 resolution: "@vue/vue3-jest@npm:29.2.4" @@ -9806,12 +10169,12 @@ __metadata: linkType: hard "@yarnpkg/parsers@npm:^3.0.0-rc.18": - version: 3.0.0-rc.45 - resolution: "@yarnpkg/parsers@npm:3.0.0-rc.45" + version: 3.0.0-rc.48.1 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.48.1" dependencies: js-yaml: ^3.10.0 tslib: ^2.4.0 - checksum: 64dfeae26c5782a722bcb3e936a43280ff46861f09042e32add6f1b7a1845ef3081ee515b60dd09ae9cd77cc28a85877bdcd9ba4b143bc1413edf71553698041 + checksum: 05197a056e9817f9fe059df303f7e0cb9b1740ffd18b4f5bc831366f8284f638973f1ae324e99300c463540ecb5a3c189c1b36f96c320d782c8224ff2954e8c2 languageName: node linkType: hard @@ -9888,7 +10251,7 @@ __metadata: languageName: node linkType: hard -"acorn-import-assertions@npm:^1.7.6, acorn-import-assertions@npm:^1.9.0": +"acorn-import-assertions@npm:^1.9.0": version: 1.9.0 resolution: "acorn-import-assertions@npm:1.9.0" peerDependencies: @@ -9929,12 +10292,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2": - version: 8.8.2 - resolution: "acorn@npm:8.8.2" +"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" bin: acorn: bin/acorn - checksum: b5c54e736af5ed753911c6752fafd02d0a74cf4d55be606bd81fe71faba4f986dc090952329931ac2aba165803fd0005c59eeef08f9c6c689e8dc420031f3df0 + checksum: deaeebfbea6e40f6c0e1070e9b0e16e76ba484de54cbd735914d1d41d19169a450de8630b7a3a0c4e271a3b0c0b075a3427ad1a40d8a69f8747c0e8cb02ee3e2 languageName: node linkType: hard @@ -10245,12 +10608,12 @@ __metadata: linkType: hard "are-we-there-yet@npm:^4.0.0": - version: 4.0.0 - resolution: "are-we-there-yet@npm:4.0.0" + version: 4.0.1 + resolution: "are-we-there-yet@npm:4.0.1" dependencies: delegates: ^1.0.0 readable-stream: ^4.1.0 - checksum: 760008e32948e9f738c5a288792d187e235fee0f170e042850bc7ff242f2a499f3f2874d6dd43ac06f5d9f5306137bc51bbdd4ae0bb11379c58b01678e0f684d + checksum: ca4c89c08236a7ecbb909c29d0a7b9e02e1df9b0e438a75b317aa6bdcd0392bb20ce5365c4af571923a6c8c835aa85d50bf1f80c60453b794ee3b02dcdfd39bb languageName: node linkType: hard @@ -10277,6 +10640,15 @@ __metadata: languageName: node linkType: hard +"aria-hidden@npm:^1.1.1": + version: 1.2.3 + resolution: "aria-hidden@npm:1.2.3" + dependencies: + tslib: ^2.0.0 + checksum: 46b07b7273167ad3fc2625f1ecbb43f8e6f73115c66785cbb5dcf1e2508133a43b6419d610c39676ceaeb563239efbd8974d5c0187695db8b3e8c3e11f549c2d + languageName: node + linkType: hard + "aria-query@npm:5.1.3": version: 5.1.3 resolution: "aria-query@npm:5.1.3" @@ -10296,12 +10668,12 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.0.0, aria-query@npm:^5.1.3, aria-query@npm:^5.2.1": - version: 5.2.1 - resolution: "aria-query@npm:5.2.1" +"aria-query@npm:^5.0.0, aria-query@npm:^5.1.3, aria-query@npm:^5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" dependencies: dequal: ^2.0.3 - checksum: 898031f69f8e9d63c914b73f45e50316fef157aae41af682fe64e8f10c9a9d623952929df01f6524b4ce37c3b21806b04e7617e38909720fbc0fad3f207d9e09 + checksum: 2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 languageName: node linkType: hard @@ -10371,7 +10743,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": +"array-includes@npm:^3.1.6": version: 3.1.6 resolution: "array-includes@npm:3.1.6" dependencies: @@ -10476,6 +10848,20 @@ __metadata: languageName: node linkType: hard +"arraybuffer.prototype.slice@npm:^1.0.1": + version: 1.0.1 + resolution: "arraybuffer.prototype.slice@npm:1.0.1" + dependencies: + array-buffer-byte-length: ^1.0.0 + call-bind: ^1.0.2 + define-properties: ^1.2.0 + get-intrinsic: ^1.2.1 + is-array-buffer: ^3.0.2 + is-shared-array-buffer: ^1.0.2 + checksum: db460cb4a96c3c9e27a2a7eed5d0ab1fcfccae9fc8cd1b4883cbb03cd29060b373e0723e78b5c786fdec2025a0ab12eb840c72b2f26016bac906b91bc4e9e4db + languageName: node + linkType: hard + "arrify@npm:^1.0.1": version: 1.0.1 resolution: "arrify@npm:1.0.1" @@ -10761,11 +11147,11 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.5.0": - version: 29.5.0 - resolution: "babel-jest@npm:29.5.0" +"babel-jest@npm:^29.6.1": + version: 29.6.1 + resolution: "babel-jest@npm:29.6.1" dependencies: - "@jest/transform": ^29.5.0 + "@jest/transform": ^29.6.1 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 babel-preset-jest: ^29.5.0 @@ -10774,11 +11160,11 @@ __metadata: slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: 1114d3935e0f62b72e155ac79916214c078e798561be3b03d12ddd862f2849becc8516f89046719161ec457bded35d2e1fd7ddfb207a6169dd18bbb2a67ee987 + checksum: a32ac32f3b5bd66f3f8370cfd6244b0f7b18c2dd367d5829e86dea9f8516ffda63edfb2743d3e1768db93a0698b4db09cd9d22961447e0ed6fd309b5b9c22764 languageName: node linkType: hard -"babel-loader@npm:9.1.2, babel-loader@npm:^7.0.0 || ^8.0.0 || ^9.0.0, babel-loader@npm:^9.0.0, babel-loader@npm:^9.1.2": +"babel-loader@npm:9.1.2": version: 9.1.2 resolution: "babel-loader@npm:9.1.2" dependencies: @@ -10791,6 +11177,19 @@ __metadata: languageName: node linkType: hard +"babel-loader@npm:^7.0.0 || ^8.0.0 || ^9.0.0, babel-loader@npm:^9.0.0, babel-loader@npm:^9.1.2": + version: 9.1.3 + resolution: "babel-loader@npm:9.1.3" + dependencies: + find-cache-dir: ^4.0.0 + schema-utils: ^4.0.0 + peerDependencies: + "@babel/core": ^7.12.0 + webpack: ">=5" + checksum: e3fc3c9e02bd908b37e8e8cd4f3d7280cf6ac45e33fc203aedbb615135a0fecc33bf92573b71a166a827af029d302c0b060354985cd91d510320bd70a2f949eb + languageName: node + linkType: hard + "babel-plugin-add-react-displayname@npm:^0.0.5": version: 0.0.5 resolution: "babel-plugin-add-react-displayname@npm:0.0.5" @@ -10905,19 +11304,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.3.3": - version: 0.3.3 - resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3" - dependencies: - "@babel/compat-data": ^7.17.7 - "@babel/helper-define-polyfill-provider": ^0.3.3 - semver: ^6.1.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 21e34d4ba961de66d3fe31f3fecca5612d5db99638949766a445d37de72c1f736552fe436f3bd3792e5cc307f48e8f78a498a01e858c84946627ddb662415cc4 - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.4": version: 0.4.4 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.4" @@ -10931,18 +11317,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.6.0": - version: 0.6.0 - resolution: "babel-plugin-polyfill-corejs3@npm:0.6.0" - dependencies: - "@babel/helper-define-polyfill-provider": ^0.3.3 - core-js-compat: ^3.25.1 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 58f7d16c1fbc5e4a68cc58126039cb997edc9b9d29adf1bc4124eb6a12ec31eb9e1da8df769b7219714748af7916cfbb194b2f15bd55571b3b43cdcd7839fe8f - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs3@npm:^0.8.2": version: 0.8.2 resolution: "babel-plugin-polyfill-corejs3@npm:0.8.2" @@ -10955,17 +11329,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.4.1": - version: 0.4.1 - resolution: "babel-plugin-polyfill-regenerator@npm:0.4.1" - dependencies: - "@babel/helper-define-polyfill-provider": ^0.3.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bd915d51e30259201b289a58dfa46c8c1bc8827a38c275ff3134c8194d27e634d5c32ec62137d489d81c7dd5f6ea46b04057eb44b7180d06c19388e3a5f4f8c6 - languageName: node - linkType: hard - "babel-plugin-polyfill-regenerator@npm:^0.5.1": version: 0.5.1 resolution: "babel-plugin-polyfill-regenerator@npm:0.5.1" @@ -11178,14 +11541,14 @@ __metadata: linkType: hard "bin-links@npm:^4.0.1": - version: 4.0.1 - resolution: "bin-links@npm:4.0.1" + version: 4.0.2 + resolution: "bin-links@npm:4.0.2" dependencies: cmd-shim: ^6.0.0 npm-normalize-package-bin: ^3.0.0 read-cmd-shim: ^4.0.0 write-file-atomic: ^5.0.0 - checksum: f89d84bf421aed326bc57e755623ba3810683529b3fb8329194f3970a1fe07bac88990c64a0dbdd57cb1290d4e0eae5fd3dacc59c60640eeb626ff5b1a249ac2 + checksum: ccc576b2a54508fc02fe41ba5520c48b0e45faed7a29b5700666bc9fcf608a69958ff23bfc8e35907806c0d038e11e18da0cca857072f3be834d85e366f5d7c7 languageName: node linkType: hard @@ -11650,20 +12013,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:4.21.5": - version: 4.21.5 - resolution: "browserslist@npm:4.21.5" - dependencies: - caniuse-lite: ^1.0.30001449 - electron-to-chromium: ^1.4.284 - node-releases: ^2.0.8 - update-browserslist-db: ^1.0.10 - bin: - browserslist: cli.js - checksum: 903040d2c45b733e1177c288b4f146ff21d45e8a44ccc87d1d7fc2f6a8d021c7ee54b514fd7722529c282381969382a54bd2ab4263f5b6c8981a856b457ea162 - languageName: node - linkType: hard - "browserslist@npm:^4.14.5, browserslist@npm:^4.21.5, browserslist@npm:^4.21.9": version: 4.21.9 resolution: "browserslist@npm:4.21.9" @@ -11828,9 +12177,9 @@ __metadata: languageName: node linkType: hard -"cacache@npm:17.0.6": - version: 17.0.6 - resolution: "cacache@npm:17.0.6" +"cacache@npm:17.1.3, cacache@npm:^17.0.0, cacache@npm:^17.0.4": + version: 17.1.3 + resolution: "cacache@npm:17.1.3" dependencies: "@npmcli/fs": ^3.1.0 fs-minipass: ^3.0.0 @@ -11841,11 +12190,10 @@ __metadata: minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 p-map: ^4.0.0 - promise-inflight: ^1.0.1 ssri: ^10.0.0 tar: ^6.1.11 unique-filename: ^3.0.0 - checksum: 576a41de27ec74a371e95b4ab650df719bbfbe4c48b621cd9a6ed0b67c9125b4540f0535456495910eae31b2eff5227a91796afe39d423eaa45575e6604d11e3 + checksum: fcb0843c8e152b0e1440328508a2c0d6435c431198155e31daa591b348a1739b089ce2a72a4528690ed10a2bf086c180ee4980e2116457131b4c8a6e65e10976 languageName: node linkType: hard @@ -11875,26 +12223,6 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^17.0.0, cacache@npm:^17.0.4": - version: 17.1.3 - resolution: "cacache@npm:17.1.3" - dependencies: - "@npmcli/fs": ^3.1.0 - fs-minipass: ^3.0.0 - glob: ^10.2.2 - lru-cache: ^7.7.1 - minipass: ^5.0.0 - minipass-collect: ^1.0.2 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - p-map: ^4.0.0 - ssri: ^10.0.0 - tar: ^6.1.11 - unique-filename: ^3.0.0 - checksum: fcb0843c8e152b0e1440328508a2c0d6435c431198155e31daa591b348a1739b089ce2a72a4528690ed10a2bf086c180ee4980e2116457131b4c8a6e65e10976 - languageName: node - linkType: hard - "cache-base@npm:^1.0.1": version: 1.0.1 resolution: "cache-base@npm:1.0.1" @@ -12006,7 +12334,7 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001449, caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001503": +"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001503": version: 1.0.30001516 resolution: "caniuse-lite@npm:1.0.30001516" checksum: 64ae815c5319c7054146d8c443a34edcfce766e97b9e24cec030d4ce787b114fa949dff047cc59883967fd275b41e3dfdbe87ff53c65f475b4a7e93fa3fdb59d @@ -12037,7 +12365,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:5.2.0, chalk@npm:^5.2.0": +"chalk@npm:5.2.0": version: 5.2.0 resolution: "chalk@npm:5.2.0" checksum: 8a519b35c239f96e041b7f1ed8fdd79d3ca2332a8366cb957378b8a1b8a4cdfb740d19628e8bf74654d4c0917aa10cf39c20752e177a1304eac29a1168a740e9 @@ -12075,6 +12403,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.2.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -12269,9 +12604,9 @@ __metadata: linkType: hard "cjs-module-lexer@npm:^1.0.0": - version: 1.2.2 - resolution: "cjs-module-lexer@npm:1.2.2" - checksum: 83330e1feda2e3699b8c305bfa8f841b41822049393f5eefeb574e60bde556e2a251ee9b7971cde0cb47ac4f7823bf4ab4a6005b8471f86ad9f5509eefb66cbd + version: 1.2.3 + resolution: "cjs-module-lexer@npm:1.2.3" + checksum: 0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab languageName: node linkType: hard @@ -12530,9 +12865,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.1 - resolution: "collect-v8-coverage@npm:1.0.1" - checksum: df8192811a773d10978fd25060124e4228d9a86bab40de3f18df5ce1a3730832351a52ba1c0e3915d5bd638298fc7bc9723760d25f534462746e269a6f0ac91c + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 languageName: node linkType: hard @@ -13048,7 +13383,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.25.1, core-js-compat@npm:^3.31.0": +"core-js-compat@npm:^3.31.0": version: 3.31.1 resolution: "core-js-compat@npm:3.31.1" dependencies: @@ -13058,9 +13393,9 @@ __metadata: linkType: hard "core-js-pure@npm:^3.23.3, core-js-pure@npm:^3.30.2": - version: 3.30.2 - resolution: "core-js-pure@npm:3.30.2" - checksum: 4035947addee484227e99281fc594837387f4c4e209a5996c9d6c1609cbbe11e1a583133414c6685974ebcf228e620011ad4edcad8991882f69ff1663cbbfd82 + version: 3.31.1 + resolution: "core-js-pure@npm:3.31.1" + checksum: 58e126c2fb3d2758f29f947edc9a561b367189d158f98bfdf6169a7fafbbafc61ae4a9c69df6ed48a7b3985727c60eead82b2072f66f5ca0d911b9b4c74cbb8c languageName: node linkType: hard @@ -13072,9 +13407,9 @@ __metadata: linkType: hard "core-js@npm:^3.8.2": - version: 3.30.2 - resolution: "core-js@npm:3.30.2" - checksum: 864d7dc908d4ece507d27e6c6d2830300dcb775d88cfefeec31e34ab95be5016bb23abb29c8b1c4a930bada01318af009276199d75dcab1a230c3cebdf8d3a70 + version: 3.31.1 + resolution: "core-js@npm:3.31.1" + checksum: 17b44ddc675d7e924ecf0da21dcae3dc9e26758048e3275ba05fcd1a8805d45e6bacee1335b781e9d59d0c38302d5cbfc49073ef33232387459f432852fb6cd9 languageName: node linkType: hard @@ -13092,18 +13427,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig-typescript-loader@npm:^4.3.0": - version: 4.3.0 - resolution: "cosmiconfig-typescript-loader@npm:4.3.0" - peerDependencies: - "@types/node": "*" - cosmiconfig: ">=7" - ts-node: ">=10" - typescript: ">=3" - checksum: 15a0bad3befdc3bf1fddda4876068971508f8dc7e2fb24b16aa0641e1d629bf48f35ff23b87a01177d25e7d5ad8522b995eab76bf44180a27b9245b9eeb4f140 - languageName: node - linkType: hard - "cosmiconfig@npm:7.0.0": version: 7.0.0 resolution: "cosmiconfig@npm:7.0.0" @@ -13130,7 +13453,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.1.3": +"cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.2.0": version: 8.2.0 resolution: "cosmiconfig@npm:8.2.0" dependencies: @@ -13186,17 +13509,18 @@ __metadata: languageName: node linkType: hard -"critters@npm:0.0.16": - version: 0.0.16 - resolution: "critters@npm:0.0.16" +"critters@npm:0.0.19": + version: 0.0.19 + resolution: "critters@npm:0.0.19" dependencies: chalk: ^4.1.0 - css-select: ^4.2.0 - parse5: ^6.0.1 - parse5-htmlparser2-tree-adapter: ^6.0.1 - postcss: ^8.3.7 + css-select: ^5.1.0 + dom-serializer: ^2.0.0 + domhandler: ^5.0.2 + htmlparser2: ^8.0.2 + postcss: ^8.4.23 pretty-bytes: ^5.3.0 - checksum: c8f4734ed73636c671f2640e64e560507fb67bcbd03e3d46b398c2011e31c225e641369c1d40c37b3c773ba7076ff4ec004393b51acc3cafc537eb671bf3325d + checksum: facaed781d44aba3d55e92a6e280b397b4c393f8756fe8233afb5bf35ff1cb01562258eb4c910c534c8c7746a27b48a65ab111416733d9fb3f35fe50e65ac363 languageName: node linkType: hard @@ -13262,25 +13586,7 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:6.7.3": - version: 6.7.3 - resolution: "css-loader@npm:6.7.3" - dependencies: - icss-utils: ^5.1.0 - postcss: ^8.4.19 - postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.0 - postcss-modules-scope: ^3.0.0 - postcss-modules-values: ^4.0.0 - postcss-value-parser: ^4.2.0 - semver: ^7.3.8 - peerDependencies: - webpack: ^5.0.0 - checksum: 20f435f73d6d776ade4b8dd6c83e7eee65a139f510b2c7575e45d7500ce1b72618b408f4841afc7f34e1aaeef25603ddd10fd4920461907483e1e1e4472bff1f - languageName: node - linkType: hard - -"css-loader@npm:^6.7.1, css-loader@npm:^6.7.3": +"css-loader@npm:6.8.1, css-loader@npm:^6.7.1, css-loader@npm:^6.7.3": version: 6.8.1 resolution: "css-loader@npm:6.8.1" dependencies: @@ -13298,7 +13604,7 @@ __metadata: languageName: node linkType: hard -"css-select@npm:^4.1.3, css-select@npm:^4.2.0": +"css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" dependencies: @@ -13621,13 +13927,13 @@ __metadata: linkType: hard "deep-equal@npm:^2.0.5": - version: 2.2.1 - resolution: "deep-equal@npm:2.2.1" + version: 2.2.2 + resolution: "deep-equal@npm:2.2.2" dependencies: array-buffer-byte-length: ^1.0.0 call-bind: ^1.0.2 es-get-iterator: ^1.1.3 - get-intrinsic: ^1.2.0 + get-intrinsic: ^1.2.1 is-arguments: ^1.1.1 is-array-buffer: ^3.0.2 is-date-object: ^1.0.5 @@ -13642,11 +13948,11 @@ __metadata: which-boxed-primitive: ^1.0.2 which-collection: ^1.0.1 which-typed-array: ^1.1.9 - checksum: 9e32606f0e24ef4d6b100c68cadae81495c3638944e933afc4b8389b042e95c5fe1381492cf7a6d385bcbae564c9cfb7086f37f277e37521a632b008a6b208dc + checksum: 07b46a9a848efdab223abc7e3ba612ef9168d88970c3400df185d5840a30ca384749c996ae5d7af844d6b27c42587fb73a4445c63e38aac77c2d0ed9a63faa87 languageName: node linkType: hard -"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": +"deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" checksum: 7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c @@ -13876,6 +14182,13 @@ __metadata: languageName: node linkType: hard +"detect-node-es@npm:^1.1.0": + version: 1.1.0 + resolution: "detect-node-es@npm:1.1.0" + checksum: e562f00de23f10c27d7119e1af0e7388407eb4b06596a25f6d79a360094a109ff285de317f02b090faae093d314cf6e73ac3214f8a5bb3a0def5bece94557fbe + languageName: node + linkType: hard + "detect-node@npm:^2.0.4": version: 2.1.0 resolution: "detect-node@npm:2.1.0" @@ -14194,9 +14507,9 @@ __metadata: linkType: hard "dotenv@npm:^16.0.0": - version: 16.1.4 - resolution: "dotenv@npm:16.1.4" - checksum: 47cf5ce136bf2a5e8402fc9855d95848973cfee423fe0adf1a7cd565c842c51e5b8c95889b075140c26b092b74dd2a319970ff496cd7159ab3f1fc58edfc0ede + version: 16.3.1 + resolution: "dotenv@npm:16.3.1" + checksum: b95ff1bbe624ead85a3cd70dbd827e8e06d5f05f716f2d0cbc476532d54c7c9469c3bc4dd93ea519f6ad711cb522c00ac9a62b6eb340d5affae8008facc3fbd7 languageName: node linkType: hard @@ -14305,10 +14618,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.284, electron-to-chromium@npm:^1.4.431": - version: 1.4.461 - resolution: "electron-to-chromium@npm:1.4.461" - checksum: 6da62826ceffffa604176d95330d1fdcf88abf9da68fc3c9f0f0788677d9015c36ea2c03737f067bbca024d7d8f97673c94854db70b1285be5e6d55745485e10 +"electron-to-chromium@npm:^1.4.431": + version: 1.4.463 + resolution: "electron-to-chromium@npm:1.4.463" + checksum: d56cbe2d9dc9914584fbe3f443a594aaa8acf808f2a3a6e59703724a9cc87c2b5626b9a4ee9e7f50076b7969f0f46cab4952b93e2458315877bd381059904140 languageName: node linkType: hard @@ -14554,13 +14867,13 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.12.0, enhanced-resolve@npm:^5.13.0, enhanced-resolve@npm:^5.14.1, enhanced-resolve@npm:^5.7.0": - version: 5.14.1 - resolution: "enhanced-resolve@npm:5.14.1" +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.12.0, enhanced-resolve@npm:^5.14.1, enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.7.0": + version: 5.15.0 + resolution: "enhanced-resolve@npm:5.15.0" dependencies: graceful-fs: ^4.2.4 tapable: ^2.2.0 - checksum: 65edb495492817fcdc2f8755f911835c4a5ea706377e9a57bbdacace14167c1413ad4d12630d23b850e80e2671b9a46603e562b9321546d1eca664ac24170906 + checksum: 69984a7990913948b4150855aed26a84afb4cb1c5a94fb8e3a65bd00729a73fc2eaff6871fb8e345377f294831afe349615c93560f2f54d61b43cdfdf668f19a languageName: node linkType: hard @@ -14623,11 +14936,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3, envinfo@npm:^7.7.4": - version: 7.8.1 - resolution: "envinfo@npm:7.8.1" + version: 7.10.0 + resolution: "envinfo@npm:7.10.0" bin: envinfo: dist/cli.js - checksum: 01efe7fcf55d4b84a146bc638ef89a89a70b610957db64636ac7cc4247d627eeb1c808ed79d3cfbe3d4fed5e8ba3d61db79c1ca1a3fea9f38639561eefd68733 + checksum: ebc7792fbedca72bc829913abe0c2a3384b883903012f97b56085afd4e83d26f7dd0652403fedd99cd3e1c93d4fb0706f5d2c3dc06ac6a1eda348280a06a9dcf languageName: node linkType: hard @@ -14759,16 +15072,17 @@ __metadata: linkType: hard "es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": - version: 1.21.2 - resolution: "es-abstract@npm:1.21.2" + version: 1.22.1 + resolution: "es-abstract@npm:1.22.1" dependencies: array-buffer-byte-length: ^1.0.0 + arraybuffer.prototype.slice: ^1.0.1 available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 function.prototype.name: ^1.1.5 - get-intrinsic: ^1.2.0 + get-intrinsic: ^1.2.1 get-symbol-description: ^1.0.0 globalthis: ^1.0.3 gopd: ^1.0.1 @@ -14788,15 +15102,19 @@ __metadata: object-inspect: ^1.12.3 object-keys: ^1.1.1 object.assign: ^4.1.4 - regexp.prototype.flags: ^1.4.3 + regexp.prototype.flags: ^1.5.0 + safe-array-concat: ^1.0.0 safe-regex-test: ^1.0.0 string.prototype.trim: ^1.2.7 string.prototype.trimend: ^1.0.6 string.prototype.trimstart: ^1.0.6 + typed-array-buffer: ^1.0.0 + typed-array-byte-length: ^1.0.0 + typed-array-byte-offset: ^1.0.0 typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.9 - checksum: 7dc2c882bafbb13609b9c35c29f0717ebf5a4dbde23a73803be821f349aa38d55f324318ccebb6da83c074260622f11d0a7f4cd1e0e19f52cc03b6b5386693fb + which-typed-array: ^1.1.10 + checksum: 36abed2b7efa8dd337d938e50d0b97d070c0ef45b2257eec0ae8c3edc5c7e8f3e2906530afda5c0b8a4f44299391d078237fd5ea454ac4e9adb6f8343bf84980 languageName: node linkType: hard @@ -14832,9 +15150,9 @@ __metadata: linkType: hard "es-module-lexer@npm:^1.2.1": - version: 1.2.1 - resolution: "es-module-lexer@npm:1.2.1" - checksum: 6e0a9095e0abe38f480e0f366cdeca19db64d85a533da9332739a64d70e97a61e68c1f98a2396468ae6229245b8e5edcb1e48c4d3615ae4da9052a1bdc2367e2 + version: 1.3.0 + resolution: "es-module-lexer@npm:1.3.0" + checksum: cbd9bdc65458d4c4bd0d22a1c792926bfdf7bb6a96a9ed04da7d31f317159bd4945d2dbeb318717f9214f9695ee85a8fae64a5d25bf360baa82b58079032fc7a languageName: node linkType: hard @@ -14915,50 +15233,50 @@ __metadata: languageName: node linkType: hard -"esbuild-wasm@npm:0.17.18": - version: 0.17.18 - resolution: "esbuild-wasm@npm:0.17.18" +"esbuild-wasm@npm:0.17.19": + version: 0.17.19 + resolution: "esbuild-wasm@npm:0.17.19" bin: esbuild: bin/esbuild - checksum: 1462acb7603b6351f5c204c57ec1c5550cb90da9e09ffb4cf9dced8692e3d89b2f882846b1780ac24141b19cb8008c3bdd1362d8fb3a0cd9df03a3e14633b5ef + checksum: 42b1800031cd3e9504ef328de225b36af61d995c000c1b2dcfb9f6c7b9bb35b43a531d19fa285ecadf4584cc4db940ad59ba666b4b9b6011670302ceb8b52273 languageName: node linkType: hard "esbuild-wasm@npm:>=0.13.8": - version: 0.17.19 - resolution: "esbuild-wasm@npm:0.17.19" + version: 0.18.14 + resolution: "esbuild-wasm@npm:0.18.14" bin: esbuild: bin/esbuild - checksum: 42b1800031cd3e9504ef328de225b36af61d995c000c1b2dcfb9f6c7b9bb35b43a531d19fa285ecadf4584cc4db940ad59ba666b4b9b6011670302ceb8b52273 + checksum: 637ddf78568fa763acb066308aab2b45874e4ea25df0ecf30b9db37f3aea2aa1c2d83fb6991242ab1af2a4d1d6351269c537bc361968c2480ebbadfdfb0c1684 languageName: node linkType: hard "esbuild@npm:^0.18.0": - version: 0.18.0 - resolution: "esbuild@npm:0.18.0" - dependencies: - "@esbuild/android-arm": 0.18.0 - "@esbuild/android-arm64": 0.18.0 - "@esbuild/android-x64": 0.18.0 - "@esbuild/darwin-arm64": 0.18.0 - "@esbuild/darwin-x64": 0.18.0 - "@esbuild/freebsd-arm64": 0.18.0 - "@esbuild/freebsd-x64": 0.18.0 - "@esbuild/linux-arm": 0.18.0 - "@esbuild/linux-arm64": 0.18.0 - "@esbuild/linux-ia32": 0.18.0 - "@esbuild/linux-loong64": 0.18.0 - "@esbuild/linux-mips64el": 0.18.0 - "@esbuild/linux-ppc64": 0.18.0 - "@esbuild/linux-riscv64": 0.18.0 - "@esbuild/linux-s390x": 0.18.0 - "@esbuild/linux-x64": 0.18.0 - "@esbuild/netbsd-x64": 0.18.0 - "@esbuild/openbsd-x64": 0.18.0 - "@esbuild/sunos-x64": 0.18.0 - "@esbuild/win32-arm64": 0.18.0 - "@esbuild/win32-ia32": 0.18.0 - "@esbuild/win32-x64": 0.18.0 + version: 0.18.14 + resolution: "esbuild@npm:0.18.14" + dependencies: + "@esbuild/android-arm": 0.18.14 + "@esbuild/android-arm64": 0.18.14 + "@esbuild/android-x64": 0.18.14 + "@esbuild/darwin-arm64": 0.18.14 + "@esbuild/darwin-x64": 0.18.14 + "@esbuild/freebsd-arm64": 0.18.14 + "@esbuild/freebsd-x64": 0.18.14 + "@esbuild/linux-arm": 0.18.14 + "@esbuild/linux-arm64": 0.18.14 + "@esbuild/linux-ia32": 0.18.14 + "@esbuild/linux-loong64": 0.18.14 + "@esbuild/linux-mips64el": 0.18.14 + "@esbuild/linux-ppc64": 0.18.14 + "@esbuild/linux-riscv64": 0.18.14 + "@esbuild/linux-s390x": 0.18.14 + "@esbuild/linux-x64": 0.18.14 + "@esbuild/netbsd-x64": 0.18.14 + "@esbuild/openbsd-x64": 0.18.14 + "@esbuild/sunos-x64": 0.18.14 + "@esbuild/win32-arm64": 0.18.14 + "@esbuild/win32-ia32": 0.18.14 + "@esbuild/win32-x64": 0.18.14 dependenciesMeta: "@esbuild/android-arm": optional: true @@ -15006,7 +15324,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: f40bd01dd3125d0a4831aeddf16b65f4f7ee402e52f61f85c0672a580c4c7623da30e339e3ab997fac95978c4d41baaaf4704a85b4bf76e01038e825942a0c97 + checksum: 0a2656670b0e1263e4cf3737f78d304aff1cf76222b2196a12dacc7b520308f8ffb6e5f62ca2d4550bd4d46c215b1d852efe5b7036c667403c0f55e88d89f360 languageName: node linkType: hard @@ -15053,13 +15371,12 @@ __metadata: linkType: hard "escodegen@npm:^2.0.0": - version: 2.0.0 - resolution: "escodegen@npm:2.0.0" + version: 2.1.0 + resolution: "escodegen@npm:2.1.0" dependencies: esprima: ^4.0.1 estraverse: ^5.2.0 esutils: ^2.0.2 - optionator: ^0.8.1 source-map: ~0.6.1 dependenciesMeta: source-map: @@ -15067,7 +15384,7 @@ __metadata: bin: escodegen: bin/escodegen.js esgenerate: bin/esgenerate.js - checksum: 7d9834841db85d7cce2026c18da56c803564ca18bd6c1e81934cc08329ac4d366fac8b571e8708a81e21143f3dada56a4e34c9a9904c8b066f13abe8d9869871 + checksum: e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 languageName: node linkType: hard @@ -15359,12 +15676,12 @@ __metadata: linkType: hard "eslint-scope@npm:^7.2.0": - version: 7.2.0 - resolution: "eslint-scope@npm:7.2.0" + version: 7.2.1 + resolution: "eslint-scope@npm:7.2.1" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: 5b48a3cc2485a3a58ca0bdecfb557c349009308a9b2afb24d070b1c0c254d445ee86d78bfee2c4ed6d1b8944307604a987c92f6d7e611e29de5d06256747a0ff + checksum: 7207497acab2be257979d43403368fb07d3172227d576e04f5906218d76ed7ee99e7116ca71c31b4e00ecc7bb0a00efd98b338c74aa9eec7b7dea7010f9e6da8 languageName: node linkType: hard @@ -15383,13 +15700,13 @@ __metadata: linkType: hard "eslint@npm:^8.28.0": - version: 8.42.0 - resolution: "eslint@npm:8.42.0" + version: 8.45.0 + resolution: "eslint@npm:8.45.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.42.0 + "@eslint/eslintrc": ^2.1.0 + "@eslint/js": 8.44.0 "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -15401,7 +15718,7 @@ __metadata: escape-string-regexp: ^4.0.0 eslint-scope: ^7.2.0 eslint-visitor-keys: ^3.4.1 - espree: ^9.5.2 + espree: ^9.6.0 esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -15411,7 +15728,6 @@ __metadata: globals: ^13.19.0 graphemer: ^1.4.0 ignore: ^5.2.0 - import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 @@ -15421,13 +15737,12 @@ __metadata: lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 + optionator: ^0.9.3 strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 8ab5a3c1619008c946497a16b88a811b1f6c49a750a9bd0f81085dff4166418b9da4e46108b09d920877ab2f5981e3613332653b7f5e3917d8088bc4b8d40b5a + checksum: 2a043b8d3b9a5684e2f66bd446c3dc8522cc7afbb0982d0a5be76ea1f578d0e617598a7b289616a861ab8272b57f6056acb2b264bec6302c9b0921a1cfa66fdb languageName: node linkType: hard @@ -15442,14 +15757,14 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.5.2": - version: 9.5.2 - resolution: "espree@npm:9.5.2" +"espree@npm:^9.6.0": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: - acorn: ^8.8.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.4.1 - checksum: 6885e57b3dcea3f65211403a10077a80a57f03e6c8b45c1e1db4bc5958e0fdb5c358819c88898ea67655d25fb646836182f688156e124a05610e714d3fcb6822 + checksum: 1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 languageName: node linkType: hard @@ -15723,16 +16038,24 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.5.0": - version: 29.5.0 - resolution: "expect@npm:29.5.0" +"expect@npm:^29.0.0, expect@npm:^29.6.1": + version: 29.6.1 + resolution: "expect@npm:29.6.1" dependencies: - "@jest/expect-utils": ^29.5.0 + "@jest/expect-utils": ^29.6.1 + "@types/node": "*" jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.5.0 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 - checksum: 3c9382967217ad1453e9271e0da3f83c4aeb12272968007b90fc5873340e7fb64bf4852e1522bdf27556623d031ce62f82aaac09e485a15c6d0589d50999422d + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 + checksum: 8ffdd2c8c09d6d632ae85a1172a7e785e75f187ac0009330fa5bcb00e07a06d781b8016579952a1f0ef43e1604068fcdaade3029c8b5ffb99931f79bff57e778 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 languageName: node linkType: hard @@ -15882,6 +16205,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:3.2.12": + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 + languageName: node + linkType: hard + "fast-glob@npm:3.2.7": version: 3.2.7 resolution: "fast-glob@npm:3.2.7" @@ -15895,16 +16231,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": + version: 3.3.0 + resolution: "fast-glob@npm:3.3.0" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: 08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 + checksum: 4700063a2d7c9aae178f575648580bee1fc3f02ab3f358236d77811f52332bc10a398e75c6d5ecde61216996f3308247b37d70e2ee605a0748abe147f01b8f64 languageName: node linkType: hard @@ -15929,7 +16265,7 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 @@ -16163,6 +16499,16 @@ __metadata: languageName: node linkType: hard +"find-cache-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "find-cache-dir@npm:4.0.0" + dependencies: + common-path-prefix: ^3.0.0 + pkg-dir: ^7.0.0 + checksum: 0faa7956974726c8769671de696d24c643ca1e5b8f7a2401283caa9e07a5da093293e0a0f4bd18c920ec981d2ef945c7f5b946cde268dfc9077d833ad0293cff + languageName: node + linkType: hard + "find-index@npm:^1.1.0": version: 1.1.1 resolution: "find-index@npm:1.1.1" @@ -16215,6 +16561,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: ^7.1.0 + path-exists: ^5.0.0 + checksum: 07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 + languageName: node + linkType: hard + "find-versions@npm:^4.0.0": version: 4.0.0 resolution: "find-versions@npm:4.0.0" @@ -16274,9 +16630,9 @@ __metadata: linkType: hard "flow-parser@npm:0.*": - version: 0.208.0 - resolution: "flow-parser@npm:0.208.0" - checksum: ee7fe5899dda11073056fb13783ad7f3512c1d6c4ff3b728403f5ba3d20d1bbfaee0bebff34ff6fec5e6e28eec89917d0e35f0db2f647043adf85ebd65aa57ee + version: 0.212.0 + resolution: "flow-parser@npm:0.212.0" + checksum: ea3ea009d3b6d7c368e57676de5ac8d317ec509566e042613be0a183918640a60366f66859c71245a69a8647e19e2ab1fcd5afdcc858320447346175d8817ef6 languageName: node linkType: hard @@ -16404,8 +16760,8 @@ __metadata: linkType: hard "formik@npm:^2.2.9": - version: 2.4.1 - resolution: "formik@npm:2.4.1" + version: 2.4.2 + resolution: "formik@npm:2.4.2" dependencies: deepmerge: ^2.1.1 hoist-non-react-statics: ^3.3.0 @@ -16413,10 +16769,10 @@ __metadata: lodash-es: ^4.17.21 react-fast-compare: ^2.0.1 tiny-warning: ^1.0.2 - tslib: ^1.10.0 + tslib: ^2.0.0 peerDependencies: react: ">=16.8.0" - checksum: 9a870145cc00ad9640f46251db56bdb1356e759e6794e8c2350e67ce90aa1beb7cda7890fa914d44468f984351fe34660a909e46556a76b06ef63be80e317433 + checksum: ef17db09ba54d1bc30989e5797a07dc9335388c76235616e10d16b3a8acf33efa0f7f742e66179f910c84c8734a5103ac7dc67c778666a4088e8b1efd53f84b3 languageName: node linkType: hard @@ -16761,7 +17117,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": version: 1.2.1 resolution: "get-intrinsic@npm:1.2.1" dependencies: @@ -16773,6 +17129,13 @@ __metadata: languageName: node linkType: hard +"get-nonce@npm:^1.0.0": + version: 1.0.1 + resolution: "get-nonce@npm:1.0.1" + checksum: 2d7df55279060bf0568549e1ffc9b84bc32a32b7541675ca092dce56317cdd1a59a98dcc4072c9f6a980779440139a3221d7486f52c488e69dc0fd27b1efb162 + languageName: node + linkType: hard + "get-npm-tarball-url@npm:^2.0.3": version: 2.0.3 resolution: "get-npm-tarball-url@npm:2.0.3" @@ -16865,11 +17228,11 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.4.0, get-tsconfig@npm:^4.5.0": - version: 4.6.0 - resolution: "get-tsconfig@npm:4.6.0" + version: 4.6.2 + resolution: "get-tsconfig@npm:4.6.2" dependencies: resolve-pkg-maps: ^1.0.0 - checksum: 6480197512fc97e4bc049fc23943d78ef5f034e6a3c7c7dbc1d16d8a2091aa08b72122ebf29c2dc815842266f966cf0c12000dc9151e632296feb9e1a285b854 + checksum: 352c7313720b0f1172de5b6697da55c02744bacd8587f4cd989bfa25d8bb1af702128c2869121e6e4eef06c5c2f013406d2840905a8e898fd35351a305298ee1 languageName: node linkType: hard @@ -17049,31 +17412,18 @@ __metadata: languageName: node linkType: hard -"glob@npm:8.1.0, glob@npm:^8.0.1": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^5.0.1 - once: ^1.3.0 - checksum: cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - "glob@npm:^10.0.0, glob@npm:^10.2.2": - version: 10.2.7 - resolution: "glob@npm:10.2.7" + version: 10.3.3 + resolution: "glob@npm:10.3.3" dependencies: foreground-child: ^3.1.0 jackspeak: ^2.0.3 minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 - path-scurry: ^1.7.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 bin: glob: dist/cjs/src/bin.js - checksum: 15b742f933c4302cca278527a720c1300ba67b92975005e54e0fb85fee85aff1c45e71fbac386a2e190e64b7b17897b5ae1bc6cbd2cdd96a62c0dc55c8fb076f + checksum: 50effa4208762e508def5688e4d88242db80b5913f65e9c5d5aefb707c59e66a27e845fbf18127157189f6ed0f055e2c94d7112c97a065b9cbfe002e1b26d330 languageName: node linkType: hard @@ -17104,6 +17454,19 @@ __metadata: languageName: node linkType: hard +"glob@npm:^8.0.1": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + "glob@npm:^9.2.0": version: 9.3.5 resolution: "glob@npm:9.3.5" @@ -17172,15 +17535,15 @@ __metadata: linkType: hard "globby@npm:^13.1.1, globby@npm:^13.1.3": - version: 13.1.4 - resolution: "globby@npm:13.1.4" + version: 13.2.2 + resolution: "globby@npm:13.2.2" dependencies: dir-glob: ^3.0.1 - fast-glob: ^3.2.11 - ignore: ^5.2.0 + fast-glob: ^3.3.0 + ignore: ^5.2.4 merge2: ^1.4.1 slash: ^4.0.0 - checksum: cbf4ce32ea7fba37be8c4749a2f69c2803b70a57e40a968b57343cc74daced8c87a7cdea038f69eda95fe17df8ebf75346d18e188c2bc4948f081bbbc655c323 + checksum: a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 languageName: node linkType: hard @@ -17275,13 +17638,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 108415fb07ac913f17040dc336607772fcea68c7f495ef91887edddb0b0f5ff7bc1d1ab181b125ecb2f0505669ef12c9a178a3bbd2dd8e042d8c5f1d7c90331a - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -17714,9 +18070,9 @@ __metadata: linkType: hard "html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": - version: 2.3.5 - resolution: "html-entities@npm:2.3.5" - checksum: ef3cc70691bf4b4422f4ba37e84aaa9084f45791d62459c9b485a3b4e9e29ceda35a6b2cd6dcee64f17101fa2ab0f03db57acf3184993a90626d09e615301cab + version: 2.4.0 + resolution: "html-entities@npm:2.4.0" + checksum: 42bbd5d91f451625d7e35aaed41c8cd110054c0d0970764cb58df467b3f27f20199e8cf7b4aebc8d4eeaf17a27c0d1fb165f2852db85de200995d0f009c9011d languageName: node linkType: hard @@ -17764,8 +18120,8 @@ __metadata: linkType: hard "html-webpack-plugin@npm:^5.5.0": - version: 5.5.2 - resolution: "html-webpack-plugin@npm:5.5.2" + version: 5.5.3 + resolution: "html-webpack-plugin@npm:5.5.3" dependencies: "@types/html-minifier-terser": ^6.0.0 html-minifier-terser: ^6.0.2 @@ -17774,7 +18130,7 @@ __metadata: tapable: ^2.0.0 peerDependencies: webpack: ^5.20.0 - checksum: 6cde8c03ab8f2f218a95ae6916348396681c2a0053f0d1af97d27bd3aec18387dafb67e869552858eb0237701a79550528c889d864663d1d5a7e01440dc627fc + checksum: 7ba0d0f87d08f5c4c51f821842d736ec1762940bc39798932528adaec1e9cca8f52944987b88789007f5706d15110edbdfa30df445d61c6628b02ebe163c4f42 languageName: node linkType: hard @@ -17828,7 +18184,7 @@ __metadata: languageName: node linkType: hard -"htmlparser2@npm:^8.0.1": +"htmlparser2@npm:^8.0.1, htmlparser2@npm:^8.0.2": version: 8.0.2 resolution: "htmlparser2@npm:8.0.2" dependencies: @@ -18112,7 +18468,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.0, ignore@npm:^5.0.4, ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0": +"ignore@npm:^5.0.0, ignore@npm:^5.0.4, ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 7c7cd90edd9fea6e037f9b9da4b01bf0a86b198ce78345f9bbd983929d68ff14830be31111edc5d70c264921f4962404d75b7262b4d9cc3bc12381eccbd03096 @@ -18140,13 +18496,13 @@ __metadata: linkType: hard "immutable@npm:^4.0.0": - version: 4.3.0 - resolution: "immutable@npm:4.3.0" - checksum: e09d40ceb442972f1cbd2914638d1a201853155b8edfbafc44e7aabcf221890e55e8f03d5b3d884666264bf973e02bbf72f83a12b9754bc2c9e47cf8827dd571 + version: 4.3.1 + resolution: "immutable@npm:4.3.1" + checksum: 7dbe08e9568d83ddcc4eae0116385fd5642c77e4cf03c222f9d667733bfd1870d574f487c85d78ed12f55f2358372bea156732008569531f3a4740f2ce114d0e languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -18220,10 +18576,10 @@ __metadata: languageName: node linkType: hard -"ini@npm:4.0.0": - version: 4.0.0 - resolution: "ini@npm:4.0.0" - checksum: 8dfe21c1486cfc945a24b37fcf8d699772bf83cea75a9ef1ec38e00c9c6939aad81f0c4537f6ff1374fa226126d4f93d29c7e7cdabf020db919f39ef0204cee9 +"ini@npm:4.1.1": + version: 4.1.1 + resolution: "ini@npm:4.1.1" + checksum: 7fddc8dfd3e63567d4fdd5d999d1bf8a8487f1479d0b34a1d01f28d391a9228d261e19abc38e1a6a1ceb3400c727204fce05725d5eb598dfcf2077a1e3afe211 languageName: node linkType: hard @@ -18947,15 +19303,11 @@ __metadata: linkType: hard "is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: b71268a2e5f493f2b95af4cbfe7a65254a822f07d57f20c18f084347cd45f11810915fe37d7a6831fe4b81def24621a042fd1169ec558c50f830b591bc8c1f66 + which-typed-array: ^1.1.11 + checksum: 9863e9cc7223c6fc1c462a2c3898a7beff6b41b1ee0fabb03b7d278ae7de670b5bcbc8627db56bb66ed60902fa37d53fe5cce0fd2f7d73ac64fe5da6f409b6ae languageName: node linkType: hard @@ -19173,48 +19525,48 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-circus@npm:29.5.0" +"jest-circus@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-circus@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/expect": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/expect": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^29.5.0 - jest-matcher-utils: ^29.5.0 - jest-message-util: ^29.5.0 - jest-runtime: ^29.5.0 - jest-snapshot: ^29.5.0 - jest-util: ^29.5.0 + jest-each: ^29.6.1 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-runtime: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 p-limit: ^3.1.0 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 pure-rand: ^6.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 77f77b826941f67e9794e185072ee612cbddf53a1cfbf736de86176b7dc54e54aef151cf31b492adaef221f550924fd60dbaa01c9b939c3a4bfb46d8392c60a8 + checksum: 9321dfabfa6fe41d4495f4fd21d1a840baacdfe9f0cc7c2346b89cd4f775ee37cc839c6d6aaac415059852bbdfafca1ed8c392999f7fbd152d6b231ca0920d1d languageName: node linkType: hard -"jest-cli@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-cli@npm:29.5.0" +"jest-cli@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-cli@npm:29.6.1" dependencies: - "@jest/core": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/core": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.5.0 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 + jest-config: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -19224,34 +19576,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: d63df7e329760bc036d11980883399de86b41a7fa93bbc2e79feef28284b096dec40afc21796504555ccbf32806bfc78cf64a63eac9093bb4f036b282b409863 + checksum: 37850378efcb5bea2d000d4c78eac5af871bcd53d3f8e60902f33f116ec847f9a3641ca78f1ca046b4c1c6e2031e084d78b01eba3592788b3e3c983c0d5a4b21 languageName: node linkType: hard -"jest-config@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-config@npm:29.5.0" +"jest-config@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-config@npm:29.6.1" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.5.0 - "@jest/types": ^29.5.0 - babel-jest: ^29.5.0 + "@jest/test-sequencer": ^29.6.1 + "@jest/types": ^29.6.1 + babel-jest: ^29.6.1 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.5.0 - jest-environment-node: ^29.5.0 + jest-circus: ^29.6.1 + jest-environment-node: ^29.6.1 jest-get-type: ^29.4.3 jest-regex-util: ^29.4.3 - jest-resolve: ^29.5.0 - jest-runner: ^29.5.0 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 + jest-resolve: ^29.6.1 + jest-runner: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -19262,19 +19614,19 @@ __metadata: optional: true ts-node: optional: true - checksum: 01780eb66815e3d31d237aab5d7611ea59e0cdf159cbab2a7c682cb08bde6d053c17a528547440fb1b0294c26ebfd5b54ad35d8c9439f6fae76960ee0bc90197 + checksum: 6f3c3ac7587b651d22b199fdc3c4ad17a08397c2fcae05543a7a81e03a7e12355aaa3c75ce39e6df5c8fd8efcd65518cf05f528f7724cb8df17aa4e44dd74ecf languageName: node linkType: hard -"jest-diff@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-diff@npm:29.5.0" +"jest-diff@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-diff@npm:29.6.1" dependencies: chalk: ^4.0.0 diff-sequences: ^29.4.3 jest-get-type: ^29.4.3 - pretty-format: ^29.5.0 - checksum: 00fda597fa6ee22774453c3cd35c2210bd7f749cf48ad7a41c13b898b2943c9c047842720eb928cdb949b9de87204d8d8987bf12aefdb2f0504f5f4112cab5b0 + pretty-format: ^29.6.1 + checksum: f067d977937744df7dd8a269e2948620e4bcb35ff70d9ea1d0fe75a47fa603ce3edc350961b671c94f8de5adb65d6bdeb0002569b59983fba56f02dd4b47d171 languageName: node linkType: hard @@ -19287,51 +19639,51 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-each@npm:29.5.0" +"jest-each@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-each@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 chalk: ^4.0.0 jest-get-type: ^29.4.3 - jest-util: ^29.5.0 - pretty-format: ^29.5.0 - checksum: 214f6b5adfc0d6a3e837769018b7a7b69f41e99aac939fe4730bcca23f69e3566ed23706f95a396b20e63e6b9f90990053fc3c1662808036d4f41e4d6d32641d + jest-util: ^29.6.1 + pretty-format: ^29.6.1 + checksum: b2cbea027a7d68c6a22afff1d460c866389e5c3ec1fece930b3fa79df24fb39f3ca258679de9ca0c2af4a6a70e5aa542ff6779f32d21289bdf981a7c1470aa0e languageName: node linkType: hard "jest-environment-jsdom@npm:^29.0.0, jest-environment-jsdom@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-environment-jsdom@npm:29.5.0" + version: 29.6.1 + resolution: "jest-environment-jsdom@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/fake-timers": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/jsdom": ^20.0.0 "@types/node": "*" - jest-mock: ^29.5.0 - jest-util: ^29.5.0 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 jsdom: ^20.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: 972a1bdfb1d508a359951ec11ade5dfad7cfabea0ab9f7746737ba10e0c6381e34f2b4acb03c7e5eb623611813310dfb0775eb0607c5537b7618234d04aab2ac + checksum: 457ac6f78b9b98d1a86af944469fd2cce6d16d40afa748a8226c77850b98fd376d5bbcbf2b68a72ee3748091b95321fedc4044d3def45c47b139a9b57d4757be languageName: node linkType: hard -"jest-environment-node@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-environment-node@npm:29.5.0" +"jest-environment-node@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-environment-node@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/fake-timers": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-mock: ^29.5.0 - jest-util: ^29.5.0 - checksum: 2e636a095ff9a9e0aa20fda5b4c06eebed8f3ba2411062bdf724b114eedafd49b880167998af9f77aa8aa68231621aebe3998389d73433e9553ea5735cad1e14 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: 2e168708553f45c2afc42234dd78c4677d1bd34a11e0c8d43e8ca6da8e68cd55acb2215cdfc46cba8c5b1dbc0061783006ecbc214a02a5ae962602f80232d7fc languageName: node linkType: hard @@ -19342,11 +19694,11 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-haste-map@npm:29.5.0" +"jest-haste-map@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-haste-map@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 @@ -19354,14 +19706,14 @@ __metadata: fsevents: ^2.3.2 graceful-fs: ^4.2.9 jest-regex-util: ^29.4.3 - jest-util: ^29.5.0 - jest-worker: ^29.5.0 + jest-util: ^29.6.1 + jest-worker: ^29.6.1 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: 162edfa185478db9ebe7dff73f3475ef2c205d94fa2b0fc3b41aba4fc29bab274d4a76ca41ca20ea7d9d6ed2b0d8519e298cfffbf5cad6631412d8961c190612 + checksum: 6d100cd80c89d2c45175e6504eafe40ba4dfb1e77a4e204204a5f2905a4840e73ff66cee187b39e33a1af2406831a48f1f945efdf872071e19ac417eb0a3aac1 languageName: node linkType: hard @@ -19396,42 +19748,42 @@ __metadata: languageName: node linkType: hard -"jest-leak-detector@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-leak-detector@npm:29.5.0" +"jest-leak-detector@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-leak-detector@npm:29.6.1" dependencies: jest-get-type: ^29.4.3 - pretty-format: ^29.5.0 - checksum: d7db5d4a7cb676fc151f533d6887f3d6bbb4e35346346cbed0b5583c296b13af2d3c8434b30f62b0eb9c711718c7f4bd48496c47af3a20320ee162e33d64aaf2 + pretty-format: ^29.6.1 + checksum: 17e702b3a790e37dd76b93e2f782de228bb332030e478264f2eb081e1d13907f414a6ec2271b173b2516e7faa4c7b0ddd1c9c5ae9b9293ed921a9ee943fafd1a languageName: node linkType: hard -"jest-matcher-utils@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-matcher-utils@npm:29.5.0" +"jest-matcher-utils@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-matcher-utils@npm:29.6.1" dependencies: chalk: ^4.0.0 - jest-diff: ^29.5.0 + jest-diff: ^29.6.1 jest-get-type: ^29.4.3 - pretty-format: ^29.5.0 - checksum: 0a3ae95ef5c5c4ac2b2c503c2f57e173fa82725722e1fadcd902fd801afe17d9d36e9366820959465f553627bf1e481a0e4a540125f3b4371eec674b3557f7f3 + pretty-format: ^29.6.1 + checksum: 4425bcb900bd25dbd679c220ef978f80aab11a7b6bed0e178cf8fe3c7167ecefdb6f522e3cf3e877a622160f781cea02aac43a3e243dc8afca917e90418434b8 languageName: node linkType: hard -"jest-message-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-message-util@npm:29.5.0" +"jest-message-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-message-util@npm:29.6.1" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 706e89cacc89c090af584f4687c4e7f0616706481e468ec7c88270e07ae7458a829e477b7b3dff56b75d801f799d65eb2c28d6453c25dd02bea0fd98f0809dbb + checksum: 7a34c7ee4efada36aa385a07e1d22f8b6183dda37f7bca15fcf2e9575e9b91ce6ea88429a0b749bc59d934327492e622913d7cd9ab23ca78c29353184795a68d languageName: node linkType: hard @@ -19445,14 +19797,14 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-mock@npm:29.5.0" +"jest-mock@npm:^29.5.0, jest-mock@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-mock@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-util: ^29.5.0 - checksum: c5b71d397d6acd44d99cd48dad8ca76334fc5a27e120da72d264d7527a9efc7c6fc431d79de64d0b73aa0ab26a2d0712498e323d42b9e03bee05e983b0d2035c + jest-util: ^29.6.1 + checksum: 26e666787d04f341887d7612b2ada7a9c86868dac319056dac46709a00fc2ee694e7a64fad8f0d5450690d779ddaacaff7a35aaf1716a165b3e1eaf56d0aa300 languageName: node linkType: hard @@ -19507,89 +19859,89 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-resolve-dependencies@npm:29.5.0" +"jest-resolve-dependencies@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-resolve-dependencies@npm:29.6.1" dependencies: jest-regex-util: ^29.4.3 - jest-snapshot: ^29.5.0 - checksum: fbe513b7d905c4a70be17fd1cb4bd83da1e82cceb47ed7ceababbe11c75f1d0c18eadeb3f4ebb6997ba979f35fa18dfd02e1d57eb556675e47b35675fde0aac7 + jest-snapshot: ^29.6.1 + checksum: 330fdc103dd1c01ae73e9e4fc4ae11d341569187a82c09aea41d50cdf9e5353d00b0405177db020b3af76cb0e402c98f2dab129afde7bcd5d99f5123d6182321 languageName: node linkType: hard -"jest-resolve@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-resolve@npm:29.5.0" +"jest-resolve@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-resolve@npm:29.6.1" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 + jest-haste-map: ^29.6.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 resolve: ^1.20.0 resolve.exports: ^2.0.0 slash: ^3.0.0 - checksum: e7ea3b1cf865a7e63ad297d0f43a093dde145f9ca72dc8e75b6c7eb3af60fe78e4f7d024fd92fa280419a4ca038d42a9268d4d5d512958d11347e680daca1f12 + checksum: 809ee25be7a97ed33755dbe536617cb83a0a8218c81310f5927f1a2f9e82e48353d60a5b0b630b6c25bc66825d0b2197c6c569d043a8431bae01ba6e226b5a57 languageName: node linkType: hard -"jest-runner@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-runner@npm:29.5.0" +"jest-runner@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-runner@npm:29.6.1" dependencies: - "@jest/console": ^29.5.0 - "@jest/environment": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/console": ^29.6.1 + "@jest/environment": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.13.1 graceful-fs: ^4.2.9 jest-docblock: ^29.4.3 - jest-environment-node: ^29.5.0 - jest-haste-map: ^29.5.0 - jest-leak-detector: ^29.5.0 - jest-message-util: ^29.5.0 - jest-resolve: ^29.5.0 - jest-runtime: ^29.5.0 - jest-util: ^29.5.0 - jest-watcher: ^29.5.0 - jest-worker: ^29.5.0 + jest-environment-node: ^29.6.1 + jest-haste-map: ^29.6.1 + jest-leak-detector: ^29.6.1 + jest-message-util: ^29.6.1 + jest-resolve: ^29.6.1 + jest-runtime: ^29.6.1 + jest-util: ^29.6.1 + jest-watcher: ^29.6.1 + jest-worker: ^29.6.1 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: 96f47976b9bcc0554455c200d02ebc1547b9a7749b05353c0d55aff535509032c0c12ea25ccc294350f62c14665dbc1e00b15e0d1c52207edfb807e4fec4a36a + checksum: 69d4f22c06d06498ffacf658460c3b40d87d77ac924a9f1e5c176f56e49d696b86234473463a764bd227f056d6e4e3852a2e10f95c74d5861d7fc4c17101ab55 languageName: node linkType: hard -"jest-runtime@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-runtime@npm:29.5.0" +"jest-runtime@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-runtime@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/fake-timers": ^29.5.0 - "@jest/globals": ^29.5.0 - "@jest/source-map": ^29.4.3 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/globals": ^29.6.1 + "@jest/source-map": ^29.6.0 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 - jest-message-util: ^29.5.0 - jest-mock: ^29.5.0 + jest-haste-map: ^29.6.1 + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 jest-regex-util: ^29.4.3 - jest-resolve: ^29.5.0 - jest-snapshot: ^29.5.0 - jest-util: ^29.5.0 + jest-resolve: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: 9b5c0a97e1f24945059695e056188041730a3f1dc5924153e323eb7429244e10e7cc877b13d057869d6621c460deae11b77a2a2e9ab56e22b56864a3e44c4448 + checksum: 79850c21fb630cb35fe23e7688daa67d387735cf2912febcd95ef4195bcc4931699d28e3b16e705fa8c2843fca958524133b1fa3fe0361bc2dac17192b40125b languageName: node linkType: hard @@ -19602,34 +19954,32 @@ __metadata: languageName: node linkType: hard -"jest-snapshot@npm:^29.0.0, jest-snapshot@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-snapshot@npm:29.5.0" +"jest-snapshot@npm:^29.0.0, jest-snapshot@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-snapshot@npm:29.6.1" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 "@babel/plugin-syntax-jsx": ^7.7.2 "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 - "@types/babel__traverse": ^7.0.6 + "@jest/expect-utils": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.5.0 + expect: ^29.6.1 graceful-fs: ^4.2.9 - jest-diff: ^29.5.0 + jest-diff: ^29.6.1 jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.5.0 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 natural-compare: ^1.4.0 - pretty-format: ^29.5.0 - semver: ^7.3.5 - checksum: db9957d9c8607d75bb08302605331b5d90fa738fafeed820ab8ebcb2c90f9e62fb4fec0b4c826c04a37557cbb7a9ed26a10b0c74d46ffedce2d6ae8a9c891b00 + pretty-format: ^29.6.1 + semver: ^7.5.3 + checksum: 1322fb9b23e7316b5f83d467ce2f46a65fdfa84a67e0000825fd9ef4910e66bdc732cb16e6da406f94c18905b2a8c6bbc29000c79f31e1e3eeb57508ac233bb4 languageName: node linkType: hard @@ -19644,31 +19994,31 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.0.0, jest-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-util@npm:29.5.0" +"jest-util@npm:^29.0.0, jest-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-util@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: c7f1dc8ae82cd9614a31e09806499560b4812beb57589b214241dd213d3cc6d24417593aef2caf2d3d9694925438849fec371ff36ca8a7f1be8438fd41e83373 + checksum: c4765afe8769239aef6a76aa69d9c98d383e171e4745eb65c4abb2e776f7965ab762c758f740bf726ebab428bc52b099c23f37e93dc30cf1ec46b915543f80af languageName: node linkType: hard -"jest-validate@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-validate@npm:29.5.0" +"jest-validate@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-validate@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 camelcase: ^6.2.0 chalk: ^4.0.0 jest-get-type: ^29.4.3 leven: ^3.1.0 - pretty-format: ^29.5.0 - checksum: 7aabde27a9b736df65902a1bb4ec63af518d4c95e12a910e7658140784168f08c662d5babe67dfa70d843dd2096bc08aa7090fef83c7a9d6bb0893793c3a599a + pretty-format: ^29.6.1 + checksum: 4f6889852b0167f9087c3a67b598365be0807d4e8cce77e246b97df3e3cd1c13d3c98c18de07080d670c9e52b81b81d0ee48fa0544eddc987d32796f50f86371 languageName: node linkType: hard @@ -19704,19 +20054,19 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-watcher@npm:29.5.0" +"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-watcher@npm:29.6.1" dependencies: - "@jest/test-result": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 emittery: ^0.13.1 - jest-util: ^29.5.0 + jest-util: ^29.6.1 string-length: ^4.0.1 - checksum: 6a2e71e720183303913fc34fc24a3f87fca7fcfa638bc6c9109a4808b36251a1cb7fe98b956eb0d9c9ead1ad47c3dc3745289ee89e62c6c615168e92282069ca + checksum: bf007eb358f27c4f180202a8ec4bae2948a9563a84da073a185375b6a5251fe6cf9bf3f02f0682d2b8c343bcc5c1c2f185703009b6a47883ef1daeefed55881c languageName: node linkType: hard @@ -19731,26 +20081,26 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-worker@npm:29.5.0" +"jest-worker@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-worker@npm:29.6.1" dependencies: "@types/node": "*" - jest-util: ^29.5.0 + jest-util: ^29.6.1 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: 4191ec3209cb1d838c931d47c7328fec7279eb7a5d40fa86bb3fac4d34cbad835349bc366150712259a274507fd210ddb450733032394d8e0b19640b3d3ac17d + checksum: 15a5c699e6074401aac85bcc869e3be95353767f127fd41cccc97c9b38e62596a1ec336866eab180beec305da2cc7da75a663f3a5ddf63b6838ff839ef5073ec languageName: node linkType: hard "jest@npm:^29.3.1, jest@npm:^29.5.0": - version: 29.5.0 - resolution: "jest@npm:29.5.0" + version: 29.6.1 + resolution: "jest@npm:29.6.1" dependencies: - "@jest/core": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/core": ^29.6.1 + "@jest/types": ^29.6.1 import-local: ^3.0.2 - jest-cli: ^29.5.0 + jest-cli: ^29.6.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -19758,16 +20108,16 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 32e29cfa2373530ed323ea65dfb4fd5172026349be48ebb7a2dc5660adadd1c68f6b0fe2b67cc3ee723cc34e2d4552a852730ac787251b406cf58e37a90f6dac + checksum: 2c161c63cb502265805c4982b8b722307f6a7016afdcff267eab33e727b9b737baaf8c22e0a8fedfc19634e903421a0352f0c056d26a8f24b908aaed335283c8 languageName: node linkType: hard "jiti@npm:^1.18.2": - version: 1.18.2 - resolution: "jiti@npm:1.18.2" + version: 1.19.1 + resolution: "jiti@npm:1.19.1" bin: jiti: bin/jiti.js - checksum: 578343e883838a5d6775350925d9e1a647e00132ade9c8cc318c163b692988612472f0af3cd9d92b8d8ca61e623092e86ab89563cbf6394900a5a39962e3c4e8 + checksum: c09f15b3ef81f0fcda45f96aaecd130213c81d8a9b8a92f5eb4f8d21972b833b2ef494db8fb3e819b258ceb569b9d5cfa3facbd2d786ecf0bc0fd0e98cc862f7 languageName: node linkType: hard @@ -20136,14 +20486,14 @@ __metadata: linkType: hard "jsonwebtoken@npm:^9.0.0": - version: 9.0.0 - resolution: "jsonwebtoken@npm:9.0.0" + version: 9.0.1 + resolution: "jsonwebtoken@npm:9.0.1" dependencies: jws: ^3.2.2 lodash: ^4.17.21 ms: ^2.1.1 semver: ^7.3.8 - checksum: 60c30d90d8a69b8e7148306e0c299ac120dbde9c032add48d26df928fe349e952cf4b09f12d7942257681a936e3374e4d49280ab20f8a4578688c7f08d87f9bc + checksum: 3508912a0fb5ad06a09a79f655681f6fc389376fb8e7fdcaf367fbdd02e9fb5e11a7a4ff715cbe44d8be0e7a99319b03a7d34ef5daede61cf1f8d3519bbb08d6 languageName: node linkType: hard @@ -20158,12 +20508,14 @@ __metadata: linkType: hard "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": - version: 3.3.3 - resolution: "jsx-ast-utils@npm:3.3.3" + version: 3.3.4 + resolution: "jsx-ast-utils@npm:3.3.4" dependencies: - array-includes: ^3.1.5 - object.assign: ^4.1.3 - checksum: fb69ce100931e50d42c8f72a01495b7d090064824ce481cf7746449609c148a29aae6984624cf9066ac14bdf7978f8774461e120d5b50fa90b3bfe0a0e21ff77 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + object.assign: ^4.1.4 + object.values: ^1.1.6 + checksum: 6761ccd830deab6a4cb8ca182c7b3627f4478138b6f4e2b680afc2b5e954635feb460ff75218b67f8694a9f8a0da6f0833a013e34961a16fbe4457fb34a0a7b2 languageName: node linkType: hard @@ -20233,11 +20585,11 @@ __metadata: linkType: hard "keyv@npm:^4.0.0": - version: 4.5.2 - resolution: "keyv@npm:4.5.2" + version: 4.5.3 + resolution: "keyv@npm:4.5.3" dependencies: json-buffer: 3.0.1 - checksum: b633bf53a5afa5591f383d326746226e110e59f13c7e1e8d3e3c9580d2c2345c5eefc21cce168cd5be7fa34b9163e391927146fbd2b7ee7aa2f3aa02b7f0a7de + checksum: 7d3fc0469962bdff75ce92402b216a23d146e0caad011424947b32b95ffc4b91df12b1206026e6e945e7f80b3729a3109c0c3984f23038d738d355491179dd79 languageName: node linkType: hard @@ -20488,16 +20840,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 - languageName: node - linkType: hard - "li@npm:^1.3.0": version: 1.3.0 resolution: "li@npm:1.3.0" @@ -20580,8 +20922,8 @@ __metadata: linkType: hard "lint-staged@npm:^13.2.2": - version: 13.2.2 - resolution: "lint-staged@npm:13.2.2" + version: 13.2.3 + resolution: "lint-staged@npm:13.2.3" dependencies: chalk: 5.2.0 cli-truncate: ^3.1.0 @@ -20598,7 +20940,7 @@ __metadata: yaml: ^2.2.2 bin: lint-staged: bin/lint-staged.js - checksum: a3f43ad7a88b57cbdd5e15a6b484955092ecf8bfbb38b009ec47d52ef8d16961785ce85fd6fb49a2d57ec7feb54d6724f1b0b2732f425d0e39b17206a88f7f96 + checksum: 4907d2e60c8bd4b7ba354464a914e9db61d3e121232a3111bfe3e9f24d1ae8c9bd89c8ff19f819227a97fce0d797a33a62bcc29adebb37fb937e012a0a8b358b languageName: node linkType: hard @@ -20635,11 +20977,11 @@ __metadata: linkType: hard "lit-html@npm:^2.3.0, lit-html@npm:^2.7.0": - version: 2.7.4 - resolution: "lit-html@npm:2.7.4" + version: 2.7.5 + resolution: "lit-html@npm:2.7.5" dependencies: "@types/trusted-types": ^2.0.2 - checksum: c1773c2b7e6e4585778d821463c2bc87589d4a4a2fb4032c8df0b28e6e3aa1f6238c8f6913d773564ef06eabc37b3b08f0eff4128f7df55bc159a444bfc47ce5 + checksum: 8fbcd71a5dbcc60e23d2f3a3c6f0a0265b5faa4f2d43615d86242177d338a4b2e62ac31004d351631753e662d501638b23eb8a64c16e378376a9d193d1c08ef6 languageName: node linkType: hard @@ -20780,6 +21122,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: ^6.0.0 + checksum: 139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 + languageName: node + linkType: hard + "lodash-es@npm:^4.17.21": version: 4.17.21 resolution: "lodash-es@npm:4.17.21" @@ -21047,10 +21398,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.1.1": - version: 9.1.2 - resolution: "lru-cache@npm:9.1.2" - checksum: 886811ab451332c899c230274e7e51507c15e5b3b18f0b39fb55f558978d58799a0b1a50e04d60a448d8c970ff4e6ee718bb119083ca88abb78930284f1e0900 +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.0 + resolution: "lru-cache@npm:10.0.0" + checksum: 347b7b391091e9f91182b6f683ce04329932a542376a2d7d300637213b99f06c222a3bb0f0db59adf246dac6cef1bb509cab352451a96621d07c41b10a20495f languageName: node linkType: hard @@ -21070,7 +21421,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:0.30.0, magic-string@npm:^0.30.0": +"magic-string@npm:0.30.0": version: 0.30.0 resolution: "magic-string@npm:0.30.0" dependencies: @@ -21106,6 +21457,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.0": + version: 0.30.1 + resolution: "magic-string@npm:0.30.1" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.15 + checksum: 30471bbe363196a57795f903025166ba9930f9a98ea4e23d2cfbb379756414aff01309eaa06d3ae23d3cc0497babf5c5d7d98c7aeca726335cddf2d9cd873e1c + languageName: node + linkType: hard + "make-dir@npm:3.1.0, make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -21132,7 +21492,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.3, make-fetch-happen@npm:^10.0.6": +"make-fetch-happen@npm:^10.0.6": version: 10.2.1 resolution: "make-fetch-happen@npm:10.2.1" dependencies: @@ -21156,7 +21516,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.1.0": +"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.0.3, make-fetch-happen@npm:^11.1.1": version: 11.1.1 resolution: "make-fetch-happen@npm:11.1.1" dependencies: @@ -22220,14 +22580,14 @@ __metadata: languageName: node linkType: hard -"mini-css-extract-plugin@npm:2.7.5": - version: 2.7.5 - resolution: "mini-css-extract-plugin@npm:2.7.5" +"mini-css-extract-plugin@npm:2.7.6": + version: 2.7.6 + resolution: "mini-css-extract-plugin@npm:2.7.6" dependencies: schema-utils: ^4.0.0 peerDependencies: webpack: ^5.0.0 - checksum: ff13746bc1987c5f9736b990fd8fb1e673502ce2083631b21e3bf97142b9427b9f98c434d78f64464c61a84a0fa9d01701b52b36b0fa0eac5ac7d1310b843178 + checksum: 4862da928f52c18b37daa52d548c9f2a1ac65c900a48b63f7faa3354d8cfcd21618c049696559e73e2e27fc12d46748e6a490e0b885e54276429607d0d08c156 languageName: node linkType: hard @@ -22291,11 +22651,11 @@ __metadata: linkType: hard "minimatch@npm:^9.0.0, minimatch@npm:^9.0.1": - version: 9.0.1 - resolution: "minimatch@npm:9.0.1" + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: brace-expansion: ^2.0.1 - checksum: aa043eb8822210b39888a5d0d28df0017b365af5add9bd522f180d2a6962de1cbbf1bdeacdb1b17f410dc3336bc8d76fb1d3e814cdc65d00c2f68e01f0010096 + checksum: 85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac languageName: node linkType: hard @@ -22416,10 +22776,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2": - version: 6.0.2 - resolution: "minipass@npm:6.0.2" - checksum: 3878076578f44ef4078ceed10af2cfebbec1b6217bf9f7a3d8b940da8153769db29bf88498b2de0d1e0c12dfb7b634c5729b7ca03457f46435e801578add210a +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": + version: 7.0.2 + resolution: "minipass@npm:7.0.2" + checksum: 5e800acfc9dc75eacac5c4969ab50210463a8afbe8b487de1ae681106e17eb93772513854b6a38462b200b5758af95eeeb481945e050ce76f575ff1150fff4b4 languageName: node linkType: hard @@ -22571,10 +22931,10 @@ __metadata: languageName: node linkType: hard -"muggle-string@npm:^0.2.2": - version: 0.2.2 - resolution: "muggle-string@npm:0.2.2" - checksum: 808aadd73c2356ace166813d94a12b28d42f759c26c79058d1ed4960246ea62b287123598a395537bd36b022229057d29ea585b1fec88aa254f890c196f4f5e2 +"muggle-string@npm:^0.3.1": + version: 0.3.1 + resolution: "muggle-string@npm:0.3.1" + checksum: 489b0575fa76e30914393915a36638590052409fca2206a6bef0fb0ad7b181c1cbf99761191bfd16fe402c6f5a3164897965422fa32ef20ada1b44024ba46ab6 languageName: node linkType: hard @@ -22706,19 +23066,19 @@ __metadata: linkType: hard "next@npm:^13.4.8": - version: 13.4.8 - resolution: "next@npm:13.4.8" - dependencies: - "@next/env": 13.4.8 - "@next/swc-darwin-arm64": 13.4.8 - "@next/swc-darwin-x64": 13.4.8 - "@next/swc-linux-arm64-gnu": 13.4.8 - "@next/swc-linux-arm64-musl": 13.4.8 - "@next/swc-linux-x64-gnu": 13.4.8 - "@next/swc-linux-x64-musl": 13.4.8 - "@next/swc-win32-arm64-msvc": 13.4.8 - "@next/swc-win32-ia32-msvc": 13.4.8 - "@next/swc-win32-x64-msvc": 13.4.8 + version: 13.4.10 + resolution: "next@npm:13.4.10" + dependencies: + "@next/env": 13.4.10 + "@next/swc-darwin-arm64": 13.4.10 + "@next/swc-darwin-x64": 13.4.10 + "@next/swc-linux-arm64-gnu": 13.4.10 + "@next/swc-linux-arm64-musl": 13.4.10 + "@next/swc-linux-x64-gnu": 13.4.10 + "@next/swc-linux-x64-musl": 13.4.10 + "@next/swc-win32-arm64-msvc": 13.4.10 + "@next/swc-win32-ia32-msvc": 13.4.10 + "@next/swc-win32-x64-msvc": 13.4.10 "@swc/helpers": 0.5.1 busboy: 1.6.0 caniuse-lite: ^1.0.30001406 @@ -22760,7 +23120,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 2a91f5118a81f6922331ea5dcb3b95cceb4e97dca7b5d6c9d72f2e843afbd95c0c20daa9f8a5c1df257d9ef9e7b064ae41d650fed48e09c8a284f9a210cac0cb + checksum: d560ad073a4d70dc77b0bdccabf1385342d206490a1ff1668c750d1cdbcf0083f7d1e570f66c73f7786abbe69cfbd0b1fbe0f0df878f9ba5596569f36a2c23f5 languageName: node linkType: hard @@ -22853,8 +23213,8 @@ __metadata: linkType: hard "node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": - version: 2.6.11 - resolution: "node-fetch@npm:2.6.11" + version: 2.6.12 + resolution: "node-fetch@npm:2.6.12" dependencies: whatwg-url: ^5.0.0 peerDependencies: @@ -22862,7 +23222,7 @@ __metadata: peerDependenciesMeta: encoding: optional: true - checksum: 3ec847ca43f678d07b80abfd85bdf06523c2554ee9a494c992c5fc61f5d9cde9f9f16aa33ff09a62f19eee9d54813b8850d7f054cdfee8b2daf789c57f8eeaea + checksum: 10372e4b5ee07acadc15e6b2bc6fd8940582eea7b9b2a331f4e3665fdcd968498c1656f79f2fa572080ebb37ea80e1474a6478b3b36057ef901b63f4be8fd899 languageName: node linkType: hard @@ -22896,13 +23256,14 @@ __metadata: linkType: hard "node-gyp@npm:^9.0.0, node-gyp@npm:^9.3.1, node-gyp@npm:latest": - version: 9.3.1 - resolution: "node-gyp@npm:9.3.1" + version: 9.4.0 + resolution: "node-gyp@npm:9.4.0" dependencies: env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 glob: ^7.1.4 graceful-fs: ^4.2.6 - make-fetch-happen: ^10.0.3 + make-fetch-happen: ^11.0.3 nopt: ^6.0.0 npmlog: ^6.0.0 rimraf: ^3.0.2 @@ -22911,7 +23272,7 @@ __metadata: which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: 3285c110768eb65aadd9aa1d056f917e594ea22611d21fd535ab3677ea433d0a281e7f09bc73d53e64b02214f4379dbca476dc33faffe455b0ac1d5ba92802f4 + checksum: e8dfbe2b02f23d056f69e01c409381963e92c71cafba6c9cfbf63b038f65ca19ab8183bb6891d080e59c4eb2cc425fc736f42e90afc0f0030ecd97bfc64fb7ad languageName: node linkType: hard @@ -22964,10 +23325,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.12, node-releases@npm:^2.0.8": - version: 2.0.12 - resolution: "node-releases@npm:2.0.12" - checksum: 01f9a7c135be5c8bc989b6c10b9840a7aee09040d46ba4e64b5ea0174fb8891f1277514aef75033ce42031f6cb72a04d4a7e99c70ca25488ad63ad6fc5a5b6a0 +"node-releases@npm:^2.0.12": + version: 2.0.13 + resolution: "node-releases@npm:2.0.13" + checksum: 2fb44bf70fc949d27f3a48a7fd1a9d1d603ddad4ccd091f26b3fb8b1da976605d919330d7388ccd55ca2ade0dc8b2e12841ba19ef249c8bb29bf82532d401af7 languageName: node linkType: hard @@ -22983,13 +23344,13 @@ __metadata: linkType: hard "nopt@npm:^7.0.0": - version: 7.1.0 - resolution: "nopt@npm:7.1.0" + version: 7.2.0 + resolution: "nopt@npm:7.2.0" dependencies: abbrev: ^2.0.0 bin: nopt: bin/nopt.js - checksum: f6dc14b7ae956d561798ed98e40ab5354ace6b6b23a74c7fd5f60036b5d734a6a99e4873c7a76dccda1b0326f0e3cdd432536fe8d1eab4d96fe525b53830f674 + checksum: 9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff languageName: node linkType: hard @@ -23307,9 +23668,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.2": - version: 2.2.5 - resolution: "nwsapi@npm:2.2.5" - checksum: bc1cffd006ac9648085b89550be6083cdde7d7d4bd93139d4f1d7183c8cc6ca8878d8274c9f00456fd02701928d14df4f4ab2ff5422f172b9e9c1fa845dd49ce + version: 2.2.7 + resolution: "nwsapi@npm:2.2.7" + checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db languageName: node linkType: hard @@ -23552,7 +23913,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.0, object.assign@npm:^4.1.2, object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": +"object.assign@npm:^4.1.0, object.assign@npm:^4.1.2, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -23714,31 +24075,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 - languageName: node - linkType: hard - -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: 8b574d50b032f34713dc09bfacdc351824f713c3c80773ead3a05ab977364de88f2f3962a6f15437747b93a5e0636928253949970daea3aaeeefbd3a525da6a4 + checksum: 66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c languageName: node linkType: hard @@ -23791,19 +24138,19 @@ __metadata: linkType: hard "overlayscrollbars-react@npm:^0.5.0": - version: 0.5.0 - resolution: "overlayscrollbars-react@npm:0.5.0" + version: 0.5.1 + resolution: "overlayscrollbars-react@npm:0.5.1" peerDependencies: overlayscrollbars: ^2.0.0 react: ">=16.8.0" - checksum: 2d70c41e8f171c0e701825b17a3184e403f8173a7124112834feec8f90d3633337acfffdeaf41583b2f948191b855d8a468ebd0990d8437a792ca4899801abd0 + checksum: 3a8717d19ab54f6762a92c07ffa1f44d1b7ae72a8b60eaf88877efa9289409171eff840b0374d94935ee586f7c92e4f15a134ddb72d4b7a143defb69039fa6ca languageName: node linkType: hard "overlayscrollbars@npm:^2.2.0": - version: 2.2.0 - resolution: "overlayscrollbars@npm:2.2.0" - checksum: 25a2b5cc6c5cd5276bb82b7338ceed307815c3d0ee8ea8053f4b19898189b955d00da4f03e1615b8e330fdf61275e02791818937901fff17cc5462d7bb9b8edc + version: 2.2.1 + resolution: "overlayscrollbars@npm:2.2.1" + checksum: 718dd563ee17a8c92a54f0b67989806edadd5b999e36d2ab322e7813b369d1cf0198d7267ca42ca9e879023f0658825e2b050d2845e751d876285d1d3549cb5e languageName: node linkType: hard @@ -23871,6 +24218,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: ^1.0.0 + checksum: a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad + languageName: node + linkType: hard + "p-locate@npm:^2.0.0": version: 2.0.0 resolution: "p-locate@npm:2.0.0" @@ -23907,6 +24263,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: ^4.0.0 + checksum: d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 + languageName: node + linkType: hard + "p-map-series@npm:2.1.0": version: 2.1.0 resolution: "p-map-series@npm:2.1.0" @@ -24017,35 +24382,7 @@ __metadata: languageName: node linkType: hard -"pacote@npm:15.1.3": - version: 15.1.3 - resolution: "pacote@npm:15.1.3" - dependencies: - "@npmcli/git": ^4.0.0 - "@npmcli/installed-package-contents": ^2.0.1 - "@npmcli/promise-spawn": ^6.0.1 - "@npmcli/run-script": ^6.0.0 - cacache: ^17.0.0 - fs-minipass: ^3.0.0 - minipass: ^5.0.0 - npm-package-arg: ^10.0.0 - npm-packlist: ^7.0.0 - npm-pick-manifest: ^8.0.0 - npm-registry-fetch: ^14.0.0 - proc-log: ^3.0.0 - promise-retry: ^2.0.1 - read-package-json: ^6.0.0 - read-package-json-fast: ^3.0.0 - sigstore: ^1.3.0 - ssri: ^10.0.0 - tar: ^6.1.11 - bin: - pacote: lib/bin.js - checksum: c23663846a3db76dfa78944fea137e230363ad30f336f76aea53c8eee315aafd26fb7fe126dd69243173a6cbe86a9b525397727fa65e10e08b9ea71e1981702b - languageName: node - linkType: hard - -"pacote@npm:^15.0.0, pacote@npm:^15.0.8": +"pacote@npm:15.2.0, pacote@npm:^15.0.0, pacote@npm:^15.0.8": version: 15.2.0 resolution: "pacote@npm:15.2.0" dependencies: @@ -24261,15 +24598,6 @@ __metadata: languageName: node linkType: hard -"parse5-htmlparser2-tree-adapter@npm:^6.0.1": - version: 6.0.1 - resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" - dependencies: - parse5: ^6.0.1 - checksum: dfa5960e2aaf125707e19a4b1bc333de49232eba5a6ffffb95d313a7d6087c3b7a274b58bee8d3bd41bdf150638815d1d601a42bbf2a0345208c3c35b1279556 - languageName: node - linkType: hard - "parse5-htmlparser2-tree-adapter@npm:^7.0.0": version: 7.0.0 resolution: "parse5-htmlparser2-tree-adapter@npm:7.0.0" @@ -24350,6 +24678,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -24408,13 +24743,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.6.1, path-scurry@npm:^1.7.0": - version: 1.9.2 - resolution: "path-scurry@npm:1.9.2" +"path-scurry@npm:^1.10.1, path-scurry@npm:^1.6.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" dependencies: - lru-cache: ^9.1.1 - minipass: ^5.0.0 || ^6.0.2 - checksum: 99a3461a1ebc5269165170a744367a900802dc1ecc8a17a8c9700cca9b00b0938c8a06d57ec9bc9a485e430fd37c647f4029ccaf31b5f9dacedaf685cef3e69a + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e languageName: node linkType: hard @@ -24579,9 +24914,9 @@ __metadata: linkType: hard "pirates@npm:^4.0.4, pirates@npm:^4.0.5": - version: 4.0.5 - resolution: "pirates@npm:4.0.5" - checksum: 58b6ff0f137a3d70ff34ac4802fd19819cdc19b53e9c95adecae6c7cfc77719a11f561ad85d46e79e520ef57c31145a564c8bc3bee8cfee75d441fab2928a51d + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 languageName: node linkType: hard @@ -24638,6 +24973,15 @@ __metadata: languageName: node linkType: hard +"pkg-dir@npm:^7.0.0": + version: 7.0.0 + resolution: "pkg-dir@npm:7.0.0" + dependencies: + find-up: ^6.3.0 + checksum: 1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 + languageName: node + linkType: hard + "pkg-up@npm:^2.0.0": version: 2.0.0 resolution: "pkg-up@npm:2.0.0" @@ -24733,40 +25077,32 @@ __metadata: languageName: node linkType: hard -"postcss-loader@npm:7.2.4": - version: 7.2.4 - resolution: "postcss-loader@npm:7.2.4" +"postcss-loader@npm:7.3.2": + version: 7.3.2 + resolution: "postcss-loader@npm:7.3.2" dependencies: cosmiconfig: ^8.1.3 - cosmiconfig-typescript-loader: ^4.3.0 + jiti: ^1.18.2 klona: ^2.0.6 semver: ^7.3.8 peerDependencies: postcss: ^7.0.0 || ^8.0.1 - ts-node: ">=10" - typescript: ">=4" webpack: ^5.0.0 - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true - checksum: c9d87fc5cd561508d18e746cdf29405438dba8c8ac83022245c3c05bec0841fe9cd4039ba84348fa02cb3b37c515415a0db40e5f2bfd0dd9afe7edb3ff3a21a7 + checksum: 635975cd6620a251eaf19ae27e13fcb777391d68083c71551467f3fd1aec80648d444a46c9c91018e0eb0e6eb3d02cdba44ffe15eff41cf48756092766ebec4b languageName: node linkType: hard "postcss-loader@npm:^7.0.2": - version: 7.3.2 - resolution: "postcss-loader@npm:7.3.2" + version: 7.3.3 + resolution: "postcss-loader@npm:7.3.3" dependencies: - cosmiconfig: ^8.1.3 + cosmiconfig: ^8.2.0 jiti: ^1.18.2 - klona: ^2.0.6 semver: ^7.3.8 peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 - checksum: 635975cd6620a251eaf19ae27e13fcb777391d68083c71551467f3fd1aec80648d444a46c9c91018e0eb0e6eb3d02cdba44ffe15eff41cf48756092766ebec4b + checksum: d039654273f858be1f75dfdf8b550869d88905b73a7684b3e48a2937a6087619e84fd1a3551cdef78685a965a2573e985b29a532c3878d834071ecd2da0eb304 languageName: node linkType: hard @@ -24800,7 +25136,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.3": +"postcss-modules-local-by-default@npm:^4.0.3": version: 4.0.3 resolution: "postcss-modules-local-by-default@npm:4.0.3" dependencies: @@ -24900,14 +25236,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.23": - version: 8.4.23 - resolution: "postcss@npm:8.4.23" +"postcss@npm:8.4.24": + version: 8.4.24 + resolution: "postcss@npm:8.4.24" dependencies: nanoid: ^3.3.6 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 35c2e26496be286a63706a0b8240fc4d2075a746466df530989208f60ea33cbc80c89420221cffb7d4fdd605afc385993f5f60302447e3047a7c0a8756b6471d + checksum: 37704ee03a2cbdebf2c99a76d399d6e0250742b5f6c699a12d475c84cedfcbeb26e180d9c780e0219dd2ad70cac963ceaf1d6763a1aec3e63d0c19fceb0eab23 languageName: node linkType: hard @@ -24921,14 +25257,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.1.10, postcss@npm:^8.2.14, postcss@npm:^8.3.7, postcss@npm:^8.4.14, postcss@npm:^8.4.19, postcss@npm:^8.4.21, postcss@npm:^8.4.23": - version: 8.4.24 - resolution: "postcss@npm:8.4.24" +"postcss@npm:^8.1.10, postcss@npm:^8.2.14, postcss@npm:^8.4.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.25": + version: 8.4.26 + resolution: "postcss@npm:8.4.26" dependencies: nanoid: ^3.3.6 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 37704ee03a2cbdebf2c99a76d399d6e0250742b5f6c699a12d475c84cedfcbeb26e180d9c780e0219dd2ad70cac963ceaf1d6763a1aec3e63d0c19fceb0eab23 + checksum: 29c603d6b30b2f94bf971bc430600f271da76fa3ae38d4c6b255e957213051b8eeb02829e128ec4e9fa2a7bb710ba7992ebaf1997e3a9ace48caf49b48a10f6b languageName: node linkType: hard @@ -24944,9 +25280,9 @@ __metadata: linkType: hard "preact@npm:^10.5.13": - version: 10.15.1 - resolution: "preact@npm:10.15.1" - checksum: 4eb7da6dbc560d517277043c0be83e19829ade595fac6eb009b7fcf0153ae471eae02deab9a2d73b1a4248df1cc6514c9d9a505fbf302bfbc254756a395a095c + version: 10.16.0 + resolution: "preact@npm:10.16.0" + checksum: 719d0a51dfda0149390b3f65aefd54bdc231f1f821b42ae17bc3fd5e9652d0a30d8a44c455921353e375bfed5d91d74054936827e7d780aee519e07fa84db4ac languageName: node linkType: hard @@ -24957,13 +25293,6 @@ __metadata: languageName: node linkType: hard -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: 7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0": version: 1.0.0 resolution: "prettier-linter-helpers@npm:1.0.0" @@ -25042,14 +25371,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.5.0": - version: 29.5.0 - resolution: "pretty-format@npm:29.5.0" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.6.1": + version: 29.6.1 + resolution: "pretty-format@npm:29.6.1" dependencies: - "@jest/schemas": ^29.4.3 + "@jest/schemas": ^29.6.0 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: bcc0190d050196b64e501e5c2b44beb802d79a2b70b6fe6b24ae2d5e0f31237dfcb1f0ab2ada4678829b6ee38507ba292396301aff0a8122e575ffd45d5d037c + checksum: decb4ca86b34e53a08e525d2b50be19ef4bffa4bb4122787740b012c11490311879de53dee8b669a82376b6fec06040ec546831f2c3ce0df963c00d743cce664 languageName: node linkType: hard @@ -25465,10 +25794,10 @@ __metadata: languageName: node linkType: hard -"punycode@npm:1.3.2": - version: 1.3.2 - resolution: "punycode@npm:1.3.2" - checksum: 281fd20eaf4704f79d80cb0dc65065bf6452ee67989b3e8941aed6360a5a9a8a01d3e2ed71d0bde3cd74fb5a5dd9db4160bed5a8c20bed4b6764c24ce4c7d2d2 +"punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: 354b743320518aef36f77013be6e15da4db24c2b4f62c5f1eb0529a6ed02fbaf1cb52925785f6ab85a962f2b590d9cd5ad730b70da72b5f180e2556b8bd3ca08 languageName: node linkType: hard @@ -25538,7 +25867,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.10.0, qs@npm:^6.4.0": +"qs@npm:^6.10.0, qs@npm:^6.11.0, qs@npm:^6.4.0": version: 6.11.2 resolution: "qs@npm:6.11.2" dependencies: @@ -25566,13 +25895,6 @@ __metadata: languageName: node linkType: hard -"querystring@npm:0.2.0": - version: 0.2.0 - resolution: "querystring@npm:0.2.0" - checksum: 2036c9424beaacd3978bac9e4ba514331cc73163bea7bf3ad7e2c7355e55501938ec195312c607753f9c6e70b1bf9dfcda38db6241bd299c034e27ac639d64ed - languageName: node - linkType: hard - "querystring@npm:^0.2.0": version: 0.2.1 resolution: "querystring@npm:0.2.1" @@ -25915,6 +26237,41 @@ __metadata: languageName: node linkType: hard +"react-remove-scroll-bar@npm:^2.3.3": + version: 2.3.4 + resolution: "react-remove-scroll-bar@npm:2.3.4" + dependencies: + react-style-singleton: ^2.2.1 + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 2262750dc1022c56d2c79e8d865c00045881c57bcaca74810ae8adac35cfdf723ff7d6b3b0e95c85eb9a0cff90bb4b1e0af801bd703ce8c0a2e35ab14ff1babb + languageName: node + linkType: hard + +"react-remove-scroll@npm:2.5.5": + version: 2.5.5 + resolution: "react-remove-scroll@npm:2.5.5" + dependencies: + react-remove-scroll-bar: ^2.3.3 + react-style-singleton: ^2.2.1 + tslib: ^2.1.0 + use-callback-ref: ^1.3.0 + use-sidecar: ^1.1.2 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 4952657e6a7b9d661d4ad4dfcef81b9c7fa493e35164abff99c35c0b27b3d172ef7ad70c09416dc44dd14ff2e6b38a5ec7da27e27e90a15cbad36b8fd2fd8054 + languageName: node + linkType: hard + "react-resize-detector@npm:^7.1.2": version: 7.1.2 resolution: "react-resize-detector@npm:7.1.2" @@ -25951,6 +26308,23 @@ __metadata: languageName: node linkType: hard +"react-style-singleton@npm:^2.2.1": + version: 2.2.1 + resolution: "react-style-singleton@npm:2.2.1" + dependencies: + get-nonce: ^1.0.0 + invariant: ^2.2.4 + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 6d66f3bdb65e1ec79089f80314da97c9a005087a04ee034255a5de129a4c0d9fd0bf99fa7bf642781ac2dc745ca687aae3de082bd8afdd0d117bc953241e15ad + languageName: node + linkType: hard + "react-syntax-highlighter@npm:^15.4.5, react-syntax-highlighter@npm:^15.5.0": version: 15.5.0 resolution: "react-syntax-highlighter@npm:15.5.0" @@ -25981,15 +26355,15 @@ __metadata: linkType: hard "react-textarea-autosize@npm:^8.3.0": - version: 8.4.1 - resolution: "react-textarea-autosize@npm:8.4.1" + version: 8.5.2 + resolution: "react-textarea-autosize@npm:8.5.2" dependencies: "@babel/runtime": ^7.20.13 use-composed-ref: ^1.3.0 use-latest: ^1.2.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 76d77ccfaf6515daba0b6e711bb1930dfc3f01494a71a0fc0f76b686af6847f071837eb3b2ae066cfa51dfcb223f8fc9d951971e1e87ef86bbf018bbfb25ce0d + checksum: c93f9ae320af990f2adadb6c55c5040d6e61cb649027b00c88c8679237c9dbffd3909c7114f2d68f420db9f7a641ec304561f28bb0b53dc2e0a1e9efea10685b languageName: node linkType: hard @@ -26165,14 +26539,15 @@ __metadata: linkType: hard "readable-stream@npm:^4.0.0, readable-stream@npm:^4.1.0": - version: 4.4.0 - resolution: "readable-stream@npm:4.4.0" + version: 4.4.2 + resolution: "readable-stream@npm:4.4.2" dependencies: abort-controller: ^3.0.0 buffer: ^6.0.3 events: ^3.3.0 process: ^0.11.10 - checksum: 83f5a11285e5ebefb7b22a43ea77a2275075639325b4932a328a1fb0ee2475b83b9cc94326724d71c6aa3b60fa87e2b16623530b1cac34f3825dcea0996fdbe4 + string_decoder: ^1.3.0 + checksum: cf7cc8daa2b57872d120945a20a1458c13dcb6c6f352505421115827b18ac4df0e483ac1fe195cb1f5cd226e1073fc55b92b569269d8299e8530840bcdbba40c languageName: node linkType: hard @@ -26251,15 +26626,15 @@ __metadata: linkType: hard "recast@npm:^0.23.1": - version: 0.23.2 - resolution: "recast@npm:0.23.2" + version: 0.23.3 + resolution: "recast@npm:0.23.3" dependencies: assert: ^2.0.0 ast-types: ^0.16.1 esprima: ~4.0.0 source-map: ~0.6.1 tslib: ^2.0.1 - checksum: 48addbe43930bb265b292929571d1e845a56c70913c1c75c234f11c54d20b82c7ee647bcde657fc845f545769faacd1e44e66c5d46567e9fb8bff90e86c19948 + checksum: 2f2d0ce271b187e29f8ea15bf3c319e708376145aaef2797e9a9d3e337e12178bd0d05d607baf601bb607075fbc040ca51f2d58a8bd566d8069c8a9d4b334608 languageName: node linkType: hard @@ -27111,9 +27486,9 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^3.20.1, rollup@npm:^3.21.0": - version: 3.24.0 - resolution: "rollup@npm:3.24.0" +"rollup@npm:^3.20.1, rollup@npm:^3.21.0, rollup@npm:^3.25.2": + version: 3.26.3 + resolution: "rollup@npm:3.26.3" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -27121,7 +27496,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: b9c2d72937af906ddffcc4a9e66936912a391c7b20cd89ed5afd50dfb0350f8efac4f58f9087cf09a982183b7adf2b6a2bd461080f775891a1d145e77672f5d6 + checksum: 41d02540dcb125150d2dc4a136e35776290eef489ed0735814afcdcfd3e0a8944cd30875daa872360e4fe8bf75bb4adf41090913a32e636722f43a5d2caf241e languageName: node linkType: hard @@ -27208,6 +27583,18 @@ __metadata: languageName: node linkType: hard +"safe-array-concat@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-array-concat@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.0 + has-symbols: ^1.0.3 + isarray: ^2.0.5 + checksum: 792d41fde9834583980912cb16bee511ce25e1759d3c467fdbbb3fc3245346a2289a6476d821713aa1ae23cc1d613d17e79c80e55adb29577f6a29e6f45e7f46 + languageName: node + linkType: hard + "safe-buffer@npm:5.1.1": version: 5.1.1 resolution: "safe-buffer@npm:5.1.1" @@ -27275,15 +27662,15 @@ __metadata: languageName: node linkType: hard -"sass-loader@npm:13.2.2": - version: 13.2.2 - resolution: "sass-loader@npm:13.2.2" +"sass-loader@npm:13.3.1": + version: 13.3.1 + resolution: "sass-loader@npm:13.3.1" dependencies: klona: ^2.0.6 neo-async: ^2.6.2 peerDependencies: fibers: ">= 3.1.0" - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 sass: ^1.3.0 sass-embedded: "*" webpack: ^5.0.0 @@ -27296,7 +27683,7 @@ __metadata: optional: true sass-embedded: optional: true - checksum: 3d474ca1e7c607a905c2220afb25cf117ff025264de7b4b54f0e2a4763f99c9eefbe8f7712a883bc025ecf06661bd242d74ac18d5e04f223f1fc2c94987e8c94 + checksum: 68ffb7ad626a27e44b0f68cd549549e75460fa6a5100e0808b89a8b775264b98fdb8e2e1a39b7f97308a94cf87b3d7a1b42acc461cf504e83f36030a07ee95db languageName: node linkType: hard @@ -27325,16 +27712,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:1.62.1": - version: 1.62.1 - resolution: "sass@npm:1.62.1" +"sass@npm:1.63.2": + version: 1.63.2 + resolution: "sass@npm:1.63.2" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 19c3a945bd71d9c9ab3b01a97b0d218c92815b7f3e45a9bba37265b4c43e4ef12ab029c7257e02c1db2b85f7da91974af81e31d58940c9a54b50787ee4a50a3c + checksum: 22dfb77f2c2707a67adef382a448899a5d0577bfa8f4cd5560ab1f3b0d492bdfee78b753f130bccef3647dfa7be3585c936fbfbfd110ee4f96d3916e937f655e languageName: node linkType: hard @@ -27374,26 +27761,26 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.1.2": - version: 3.2.0 - resolution: "schema-utils@npm:3.2.0" +"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.1.2, schema-utils@npm:^3.2.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" dependencies: "@types/json-schema": ^7.0.8 ajv: ^6.12.5 ajv-keywords: ^3.5.2 - checksum: 287e83374ca4c763cd17a532055cab479629584fd872db2c6d75075f46f5758721241ae83a856977643a06b4c449d8db329de6b2d169bfcc1797b4cf45447970 + checksum: fafdbde91ad8aa1316bc543d4b61e65ea86970aebbfb750bfb6d8a6c287a23e415e0e926c2498696b242f63af1aab8e585252637fabe811fd37b604351da6500 languageName: node linkType: hard "schema-utils@npm:^4.0.0": - version: 4.1.0 - resolution: "schema-utils@npm:4.1.0" + version: 4.2.0 + resolution: "schema-utils@npm:4.2.0" dependencies: "@types/json-schema": ^7.0.9 ajv: ^8.9.0 ajv-formats: ^2.1.1 ajv-keywords: ^5.1.0 - checksum: bb1b387936c5d98f8a7fbd21a158259af9c981fb07460b39052f8bddd068297ec06c41629177a3be54eac017ce077c9d71b01773502b99caad6be167c2a9b82c + checksum: 8dab7e7800316387fd8569870b4b668cfcecf95ac551e369ea799bbcbfb63fb0365366d4b59f64822c9f7904d8c5afcfaf5a6124a4b08783e558cd25f299a6b4 languageName: node linkType: hard @@ -27435,11 +27822,11 @@ __metadata: linkType: hard "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.6.0, semver@npm:^5.7.0, semver@npm:^5.7.1": - version: 5.7.1 - resolution: "semver@npm:5.7.1" + version: 5.7.2 + resolution: "semver@npm:5.7.2" bin: - semver: ./bin/semver - checksum: d4884f2aeca28bff35d0bd40ff0a9b2dfc4b36a883bf0ea5dc15d10d9a01bdc9041035b05f825d4b5ac8a56e490703dbf0d986d054de82cc5e9bad3f02ca6e00 + semver: bin/semver + checksum: e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 languageName: node linkType: hard @@ -27465,34 +27852,34 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.4.0": - version: 7.4.0 - resolution: "semver@npm:7.4.0" +"semver@npm:7.5.3": + version: 7.5.3 + resolution: "semver@npm:7.5.3" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 6bcdd77e3f8fd5a0463358ede593f5b88fb9cf6d1c5f185fb5e1d0e516993cd1ec99b628e300935650d2af39decc3bb67b3101627340de6c39043ea96dfcbd61 + checksum: 4cf3bab7e8cf8c2ae521fc4bcc50a4d6912a836360796b23b9f1c26f45d27a73f870e47664df4770bde0dd60dc4d4781a05fd49fe91d72376ea5519b9e791459 languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": - version: 7.5.1 - resolution: "semver@npm:7.5.1" - dependencies: - lru-cache: ^6.0.0 +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" bin: semver: bin/semver.js - checksum: ae6aca3cfba9b4d0e0a8fa789c7fa4a8412e39f24ecc19500db291a0a31bb43c151021e4fdbb68a85dcd06c1297f6daeeb09647cea4253eba0ccc0106eb7cd67 + checksum: e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0, semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + checksum: 5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e languageName: node linkType: hard @@ -27708,16 +28095,15 @@ __metadata: linkType: hard "sigstore@npm:^1.0.0, sigstore@npm:^1.3.0, sigstore@npm:^1.4.0": - version: 1.6.0 - resolution: "sigstore@npm:1.6.0" + version: 1.7.0 + resolution: "sigstore@npm:1.7.0" dependencies: "@sigstore/protobuf-specs": ^0.1.0 - "@sigstore/tuf": ^1.0.0 + "@sigstore/tuf": ^1.0.1 make-fetch-happen: ^11.0.1 - tuf-js: ^1.1.3 bin: sigstore: bin/sigstore.js - checksum: d0dd051774765ded57d19652a115ddebd2bd3253b1db11ce6cb83f32ab86c3f200bfe83138c577ea179236e148d93d3480430561081eef7cb0d8deab1b466f75 + checksum: 2cf2b7fe40323ef7a664627ac9e862cad985685bbc14528355d7a0813916dd4c96d94ffd3149de08d2ea33a86dfd4b073908d995cfcedba510cdb5073a49382c languageName: node linkType: hard @@ -28588,7 +28974,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd @@ -28701,8 +29087,8 @@ __metadata: linkType: hard "svelte-check@npm:^3.4.3": - version: 3.4.3 - resolution: "svelte-check@npm:3.4.3" + version: 3.4.6 + resolution: "svelte-check@npm:3.4.6" dependencies: "@jridgewell/trace-mapping": ^0.3.17 chokidar: ^3.4.1 @@ -28710,13 +29096,13 @@ __metadata: import-fresh: ^3.2.1 picocolors: ^1.0.0 sade: ^1.7.4 - svelte-preprocess: ^5.0.3 + svelte-preprocess: ^5.0.4 typescript: ^5.0.3 peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 bin: svelte-check: bin/svelte-check - checksum: 10e56387f9f7f0c2b2ebd091a785e05429bfa197bc45e51925aab991e4ad129f2bba48038ee0ecc1b3b28f8b9c32eb61709ce7426b1e02f909dfeeba12647fb9 + checksum: 7f537831af8f2c47859ca72f4a929d24c58f2946f949f7c9721351be97ff9d0674c57db003e3ad3883fdd85761b7950c5c11513c2a917c91091f155e2d026350 languageName: node linkType: hard @@ -28758,7 +29144,7 @@ __metadata: languageName: node linkType: hard -"svelte-preprocess@npm:^5.0.3": +"svelte-preprocess@npm:^5.0.4": version: 5.0.4 resolution: "svelte-preprocess@npm:5.0.4" dependencies: @@ -28805,14 +29191,14 @@ __metadata: linkType: hard "svelte@npm:^4.0.0": - version: 4.0.0 - resolution: "svelte@npm:4.0.0" + version: 4.0.5 + resolution: "svelte@npm:4.0.5" dependencies: "@ampproject/remapping": ^2.2.1 "@jridgewell/sourcemap-codec": ^1.4.15 "@jridgewell/trace-mapping": ^0.3.18 - acorn: ^8.8.2 - aria-query: ^5.2.1 + acorn: ^8.9.0 + aria-query: ^5.3.0 axobject-query: ^3.2.1 code-red: ^1.0.3 css-tree: ^2.3.1 @@ -28821,7 +29207,7 @@ __metadata: locate-character: ^3.0.0 magic-string: ^0.30.0 periscopic: ^3.1.0 - checksum: fb0bf76904d3f5c4a72a91d6db7fbbabf1bfbeaeb99e4cd29a90bfc5d9cb784f994fc4249c7635f27cb1890e7313de533e0d7931ff409297cdd2a2374d0f9d53 + checksum: 905a468aa5396763989579138cd8d6aa1d330edc0741650dd928568a1c3e7df24478373a33005498c7896a57abe8c2b52e8cacf82739301561c494d577d50fc5 languageName: node linkType: hard @@ -29050,23 +29436,23 @@ __metadata: languageName: node linkType: hard -"terser@npm:5.17.1": - version: 5.17.1 - resolution: "terser@npm:5.17.1" +"terser@npm:5.17.7": + version: 5.17.7 + resolution: "terser@npm:5.17.7" dependencies: - "@jridgewell/source-map": ^0.3.2 - acorn: ^8.5.0 + "@jridgewell/source-map": ^0.3.3 + acorn: ^8.8.2 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 00d4712b954307709b4e14cf17e0ab2fc2d527b480a50f212414aad12a739fb374d7b3391da2b73f82e21c9d469111ad2cd1d054861759624bd67c6dea4bd76a + checksum: 864154a1750daf516012e5add4f0749bfc71e8f4f918973ec3d504db6a148be976adf46ae490e795173eeff59ec579d7d464bb6354c1bb71f8e14ff398409aed languageName: node linkType: hard "terser@npm:^5.10.0, terser@npm:^5.16.8": - version: 5.17.7 - resolution: "terser@npm:5.17.7" + version: 5.19.1 + resolution: "terser@npm:5.19.1" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -29074,7 +29460,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 864154a1750daf516012e5add4f0749bfc71e8f4f918973ec3d504db6a148be976adf46ae490e795173eeff59ec579d7d464bb6354c1bb71f8e14ff398409aed + checksum: 32f81b877240140312921c6333671ad31258dd7f1c123847f98fc31ba8f72dda7843d24bf6536501ecdfe2a619f7eb87fc56a68134f6f38d482cbe7b1aafedd3 languageName: node linkType: hard @@ -29401,8 +29787,8 @@ __metadata: linkType: hard "ts-jest@npm:^29.0.0": - version: 29.1.0 - resolution: "ts-jest@npm:29.1.0" + version: 29.1.1 + resolution: "ts-jest@npm:29.1.1" dependencies: bs-logger: 0.x fast-json-stable-stringify: 2.x @@ -29410,7 +29796,7 @@ __metadata: json5: ^2.2.3 lodash.memoize: 4.x make-error: 1.x - semver: 7.x + semver: ^7.5.3 yargs-parser: ^21.0.1 peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" @@ -29429,13 +29815,13 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 504d77b13157a4d2f1eebbd0e0f21f2db65fc28039f107fd73453655c029adccba5b22bdd4de0efa58707c1bbd34a67a1a5cceb794e91c3c2c7be4f904c79f9f + checksum: 6c45e0aeeff9cc54a64f931c43e1b99f4a1f0ddf44786cc128e7e55603ab7473c8c8f62fd83bd7e51bfe83e3c0c683132152efaeb844516bf7c923f4e92d157d languageName: node linkType: hard "ts-loader@npm:^9.2.8": - version: 9.4.3 - resolution: "ts-loader@npm:9.4.3" + version: 9.4.4 + resolution: "ts-loader@npm:9.4.4" dependencies: chalk: ^4.1.0 enhanced-resolve: ^5.0.0 @@ -29444,7 +29830,7 @@ __metadata: peerDependencies: typescript: "*" webpack: ^5.0.0 - checksum: 01f49cb016a14f9502ce34d2c8ec370694f16b627a85867e074654f495458047a90574190c592aa2a28a30fd7d01ef83cdd39a61075268058b3a2f3bceaab868 + checksum: 11dba0651d7177eba9af38c43c79a28898ffcdfe7e73079fe48716dd93ca6634d3140dbbbc3ac34907be564be2429f0299ebdc7b58ce09482fad54333ccf611c languageName: node linkType: hard @@ -29511,13 +29897,13 @@ __metadata: linkType: hard "tsconfig-paths-webpack-plugin@npm:^4.0.1": - version: 4.0.1 - resolution: "tsconfig-paths-webpack-plugin@npm:4.0.1" + version: 4.1.0 + resolution: "tsconfig-paths-webpack-plugin@npm:4.1.0" dependencies: chalk: ^4.1.0 enhanced-resolve: ^5.7.0 tsconfig-paths: ^4.1.2 - checksum: c5d09b669b07806b5f4e5aafd893824a9e302ddb8e011ad48c4cf65143414b5b317f09d84e2b8a13ad1e5b52d658e7eb1f71af1dc267533eb766b3f144963b30 + checksum: c030e867e70a3f6d1799fdffa209c3a35e1435ad99aac01946b9ebb0fa8208b7b508c1dfe8c8e13d6a2ef70c75b4db062fbfd3c1f3362c69b6c65ffd4a50e226 languageName: node linkType: hard @@ -29556,24 +29942,24 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.5.0": - version: 2.5.0 - resolution: "tslib@npm:2.5.0" - checksum: e32fc99cc730dd514e53c44e668d76016e738f0bcc726aad5dbd2d335cf19b87a95a9b1e4f0a9993e370f1d702b5e471cdd4acabcac428a3099d496b9af2021e +"tslib@npm:2.5.3": + version: 2.5.3 + resolution: "tslib@npm:2.5.3" + checksum: 4cb1817d34fae5b27d146e6c4a468d4155097d95c1335d0bc9690f11f33e63844806bf4ed6d97c30c72b8d85261b66cbbe16d871d9c594ac05701ec83e62a607 languageName: node linkType: hard -"tslib@npm:^1.10.0, tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": +"tslib@npm:^1.13.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: 69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0": - version: 2.5.3 - resolution: "tslib@npm:2.5.3" - checksum: 4cb1817d34fae5b27d146e6c4a468d4155097d95c1335d0bc9690f11f33e63844806bf4ed6d97c30c72b8d85261b66cbbe16d871d9c594ac05701ec83e62a607 +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0": + version: 2.6.0 + resolution: "tslib@npm:2.6.0" + checksum: 8d18020a8b9e70ecc529a744c883c095f177805efdbc9786bd50bd82a46c17547923133c5444fbcaf1f7f1c44e0e29c89f73ecf6d8fd1039668024a073a81dc6 languageName: node linkType: hard @@ -29595,14 +29981,14 @@ __metadata: languageName: node linkType: hard -"tuf-js@npm:^1.1.3": - version: 1.1.6 - resolution: "tuf-js@npm:1.1.6" +"tuf-js@npm:^1.1.7": + version: 1.1.7 + resolution: "tuf-js@npm:1.1.7" dependencies: "@tufjs/models": 1.0.4 debug: ^4.3.4 - make-fetch-happen: ^11.1.0 - checksum: bb34127ba88d842a8c186e297bebeb75e2cd27cb4a39b51996294da34f9e6b72b3aa052ab2dbeb87f2ad061076bddca879ca9f8250cc94c382204fffce536c27 + make-fetch-happen: ^11.1.1 + checksum: 7c4980ada7a55f2670b895e8d9345ef2eec4a471c47f6127543964a12a8b9b69f16002990e01a138cd775aa954880b461186a6eaf7b86633d090425b4273375b languageName: node linkType: hard @@ -29615,15 +30001,6 @@ __metadata: languageName: node linkType: hard -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: ~1.1.2 - checksum: 776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 - languageName: node - linkType: hard - "type-detect@npm:4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" @@ -29632,9 +30009,9 @@ __metadata: linkType: hard "type-fest@npm:^3.11.0": - version: 3.11.1 - resolution: "type-fest@npm:3.11.1" - checksum: 55c0ba11e8b494684bf63f76e762ac44a95a9243a873cfc03c97f909477938d4a80f0c6265bfae92074072305447428748726385bbf2be4484b8451d73c84881 + version: 3.13.1 + resolution: "type-fest@npm:3.13.1" + checksum: 547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 languageName: node linkType: hard @@ -29648,6 +30025,42 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-buffer@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + is-typed-array: ^1.1.10 + checksum: ebad66cdf00c96b1395dffc7873169cf09801fca5954507a484f41f253feb1388d815db297b0b3bb8ce7421eac6f7ff45e2ec68450a3d68408aa4ae02fcf3a6c + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5 + languageName: node + linkType: hard + "typed-array-length@npm:^1.0.4": version: 1.0.4 resolution: "typed-array-length@npm:1.0.4" @@ -29694,12 +30107,12 @@ __metadata: linkType: hard "typescript@npm:^5.0.3, typescript@npm:^5.0.4": - version: 5.1.3 - resolution: "typescript@npm:5.1.3" + version: 5.1.6 + resolution: "typescript@npm:5.1.6" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 1faba8d5ffd4717864ddce767613c5ab77c1c8510c1ce21dc9b112a4c662357b9338dc0a6121615266d3a44ebec699f115ef2dabf18d9d7341ea1675692b9b24 + checksum: 45ac28e2df8365fd28dac42f5d62edfe69a7203d5ec646732cadc04065331f34f9078f81f150fde42ed9754eed6fa3b06a8f3523c40b821e557b727f1992e025 languageName: node linkType: hard @@ -29724,12 +30137,12 @@ __metadata: linkType: hard "typescript@patch:typescript@^5.0.3#~builtin<compat/typescript>, typescript@patch:typescript@^5.0.4#~builtin<compat/typescript>": - version: 5.1.3 - resolution: "typescript@patch:typescript@npm%3A5.1.3#~builtin<compat/typescript>::version=5.1.3&hash=77c9e2" + version: 5.1.6 + resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin<compat/typescript>::version=5.1.6&hash=77c9e2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 6219383250b585b201c9ea10576164c9d5760c7a167bc761b118692c9fb8e88610f37730c0a1169d96ac19b29ed80418048763d0c1ff00ce48e051abbc213a9b + checksum: c134abcd9fc5c393db30498db18d8e89453efae14e11a39c1adb6238138d4c152472e497499b8a67b0c87ca6eafcb26b0eb02f962f240c233c2e0ad3785f8742 languageName: node linkType: hard @@ -30135,14 +30548,14 @@ __metadata: linkType: hard "unplugin@npm:^1.3.1": - version: 1.3.1 - resolution: "unplugin@npm:1.3.1" + version: 1.4.0 + resolution: "unplugin@npm:1.4.0" dependencies: - acorn: ^8.8.2 + acorn: ^8.9.0 chokidar: ^3.5.3 webpack-sources: ^3.2.3 webpack-virtual-modules: ^0.5.0 - checksum: a4be4450979b4a3c36650fbd32e6f49abb7e08a9e6c15a706d3f7a218443a0f77f0ba45e1a8469e87679789205dbd0b679525b1e587b3f9ae3a22e4ceac82006 + checksum: d006fe3ddfcd6578e36f2951f6a21419af2ba8812bc16681876a725a0981b339c920e6afb2cd222d74ca5943e0aa41260cff8fb3528dae12e66419369ae616fc languageName: node linkType: hard @@ -30170,7 +30583,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.10, update-browserslist-db@npm:^1.0.11": +"update-browserslist-db@npm:^1.0.11": version: 1.0.11 resolution: "update-browserslist-db@npm:1.0.11" dependencies: @@ -30218,12 +30631,27 @@ __metadata: linkType: hard "url@npm:^0.11.0": - version: 0.11.0 - resolution: "url@npm:0.11.0" + version: 0.11.1 + resolution: "url@npm:0.11.1" dependencies: - punycode: 1.3.2 - querystring: 0.2.0 - checksum: bbe05f9f570ec5c06421c50ca63f287e61279092eed0891db69a9619323703ccd3987e6eed234c468794cf25680c599680d5c1f58d26090f1956c8e9ed8346a2 + punycode: ^1.4.1 + qs: ^6.11.0 + checksum: 9e18c57b854d6a8e0288c4ddf21f9e30273a0ef2efb28a7e3e3d6eac392637dbdecce0d8f616586d58ff43154997150ecc2c9873e6c845d1e742e24c940b6e12 + languageName: node + linkType: hard + +"use-callback-ref@npm:^1.3.0": + version: 1.3.0 + resolution: "use-callback-ref@npm:1.3.0" + dependencies: + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 8a0867ffd441f358c66d79567970a745cc78ac2f98840a81c1fa749a525e8716116c645497d886a815e1dcf40ad81a107ebd6a7d15fd9ab5925c44a994a1d89a languageName: node linkType: hard @@ -30274,6 +30702,22 @@ __metadata: languageName: node linkType: hard +"use-sidecar@npm:^1.1.2": + version: 1.1.2 + resolution: "use-sidecar@npm:1.1.2" + dependencies: + detect-node-es: ^1.1.0 + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 89f0018fd9aee1fc17c85ac18c4bf8944d460d453d0d0e04ddbc8eaddf3fa591e9c74a1f8a438a1bff368a7a2417fab380bdb3df899d2194c4375b0982736de0 + languageName: node + linkType: hard + "use@npm:^3.1.0": version: 3.1.1 resolution: "use@npm:3.1.1" @@ -30518,7 +30962,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:4.3.9, vite@npm:^4.0.0, vite@npm:^4.0.4": +"vite@npm:4.3.9": version: 4.3.9 resolution: "vite@npm:4.3.9" dependencies: @@ -30555,6 +30999,46 @@ __metadata: languageName: node linkType: hard +"vite@npm:^4.0.0, vite@npm:^4.0.4": + version: 4.4.4 + resolution: "vite@npm:4.4.4" + dependencies: + esbuild: ^0.18.10 + fsevents: ~2.3.2 + postcss: ^8.4.25 + rollup: ^3.25.2 + peerDependencies: + "@types/node": ">= 14" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 7030c008595eecaf03800292ca6ac626941b7d90b9c18e3ca0de62f8127cb6f7624c2c5e4e5528260fff807996e56e099a6d3bd069a7644eedc13c7df081d818 + languageName: node + linkType: hard + "vitefu@npm:^0.2.4": version: 0.2.4 resolution: "vitefu@npm:0.2.4" @@ -30632,15 +31116,15 @@ __metadata: linkType: hard "vue-component-type-helpers@npm:latest": - version: 1.6.5 - resolution: "vue-component-type-helpers@npm:1.6.5" - checksum: 205d520c05e53d1cc6f53fe920c64b4c6883249cbfe15026fcda250980bf4ddfc004292e0c9ecaa7fcf983bd143482ffbc4191e0b84f6d3f996a0a07ca3396c4 + version: 1.8.5 + resolution: "vue-component-type-helpers@npm:1.8.5" + checksum: 37d5c5b319bc5746a0764ca53e5b3570074450651693629db1f6a86db330edcc5f5db9c1e04893701865af81e3d3fe3fd6199b7b8350dc0e01cdc35063e48b93 languageName: node linkType: hard "vue-docgen-api@npm:^4.40.0, vue-docgen-api@npm:^4.44.23, vue-docgen-api@npm:^4.46.0": - version: 4.72.5 - resolution: "vue-docgen-api@npm:4.72.5" + version: 4.73.0 + resolution: "vue-docgen-api@npm:4.73.0" dependencies: "@babel/parser": ^7.21.4 "@babel/types": ^7.21.4 @@ -30653,7 +31137,7 @@ __metadata: recast: ^0.23.1 ts-map: ^1.0.3 vue-inbrowser-compiler-independent-utils: ^4.69.0 - checksum: 67fde90f1f8eac12a63a1fc71bbc45ab58e608f462be959313ca9379e08367bf74a70fcb0ce0eb0bfa95084a1eeedb58e9a8e6c0823d8ad3afae523b82c99ed8 + checksum: 0d2f164aec9e1fa811bab0338ca1539a67d65ee44318052eb0f44c4c9df633c8228b06cf57895897019cfa803356563f4b151be59d8f964f49f4ff1b61be6dad languageName: node linkType: hard @@ -30785,17 +31269,17 @@ __metadata: linkType: hard "vue-tsc@npm:latest": - version: 1.6.5 - resolution: "vue-tsc@npm:1.6.5" + version: 1.8.5 + resolution: "vue-tsc@npm:1.8.5" dependencies: - "@volar/vue-language-core": 1.6.5 - "@volar/vue-typescript": 1.6.5 + "@vue/language-core": 1.8.5 + "@vue/typescript": 1.8.5 semver: ^7.3.8 peerDependencies: typescript: "*" bin: vue-tsc: bin/vue-tsc.js - checksum: aee0e66dc1962a2ac628a23ee35da9eac4862bfb68ab151a58bc527647d4231ca92044380e4ce77356fe5735624dba874ebbf7eb320c2b23ebafbeef6562741c + checksum: 810a382a9a360cacdb63b5439a158c0616ef6a9f2aeedaf7eb2b0cb52978da4fcfa8fd6d7d6b896f925802affe72b44b1a5c49e7ea09677a9f9ce2376efd1635 languageName: node linkType: hard @@ -30986,9 +31470,9 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:6.0.2": - version: 6.0.2 - resolution: "webpack-dev-middleware@npm:6.0.2" +"webpack-dev-middleware@npm:6.1.1, webpack-dev-middleware@npm:^6.1.1": + version: 6.1.1 + resolution: "webpack-dev-middleware@npm:6.1.1" dependencies: colorette: ^2.0.10 memfs: ^3.4.12 @@ -31000,7 +31484,7 @@ __metadata: peerDependenciesMeta: webpack: optional: true - checksum: fabc2eccc96884b5ef41ca58e9a23454745f891f76feee67de4ade371008fc5a0ed1e7b86af59f5eabed4e6d89e8d394245830e4f8de7639a891411542b090a1 + checksum: f8f5b7f7591fa3e4d4008b28ab2b5c13367a24587257e3e37cff31e2d8a6c859de5294af83c79e8faf3137db194377f392fffacdf5010b5c1311eba6f9b71568 languageName: node linkType: hard @@ -31019,27 +31503,9 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:^6.1.1": - version: 6.1.1 - resolution: "webpack-dev-middleware@npm:6.1.1" - dependencies: - colorette: ^2.0.10 - memfs: ^3.4.12 - mime-types: ^2.1.31 - range-parser: ^1.2.1 - schema-utils: ^4.0.0 - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - checksum: f8f5b7f7591fa3e4d4008b28ab2b5c13367a24587257e3e37cff31e2d8a6c859de5294af83c79e8faf3137db194377f392fffacdf5010b5c1311eba6f9b71568 - languageName: node - linkType: hard - -"webpack-dev-server@npm:4.13.2": - version: 4.13.2 - resolution: "webpack-dev-server@npm:4.13.2" +"webpack-dev-server@npm:4.15.0": + version: 4.15.0 + resolution: "webpack-dev-server@npm:4.15.0" dependencies: "@types/bonjour": ^3.5.9 "@types/connect-history-api-fallback": ^1.3.5 @@ -31080,28 +31546,28 @@ __metadata: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: e787f3122ccf376f4a3f5e981c37aad32686f2fa9f8fdda65938689dc6a43372b88ae98f751ab87df282a12e34effe376828c9ed57103b6831e037228b9d433a + checksum: 7e4555b687071f2f4c6d7ff0faa1c7fc155bc35983c703b6fd250f3fb3e387a18394e0bd43ce0ede9bb433efe0947bc05ad55996b3ac5669a8adb64d6c1abba0 languageName: node linkType: hard "webpack-hot-middleware@npm:^2.25.1": - version: 2.25.3 - resolution: "webpack-hot-middleware@npm:2.25.3" + version: 2.25.4 + resolution: "webpack-hot-middleware@npm:2.25.4" dependencies: ansi-html-community: 0.0.8 html-entities: ^2.1.0 strip-ansi: ^6.0.0 - checksum: dca26d6d32eb684469830b4074dcd11c298036fe3ec8276ea5a69bc14bc8a53aab2494e02871ada146ec0881965d7018d559683cbcc73bcafcfa4da1184e92b5 + checksum: c0702d308a39bdbc9277d66df50272e8c358c2238cecb0881df57136f54cb7a3d8291320b13075325b58f7a3cbf7a1ef10829554a5bc2ddfa3effbf416dc8e8c languageName: node linkType: hard -"webpack-merge@npm:5.8.0": - version: 5.8.0 - resolution: "webpack-merge@npm:5.8.0" +"webpack-merge@npm:5.9.0": + version: 5.9.0 + resolution: "webpack-merge@npm:5.9.0" dependencies: clone-deep: ^4.0.1 wildcard: ^2.0.0 - checksum: 400eaaba69d2240d51dc7a4427dde37849a8f2fdf93731be6a8aad34d70d55bb38cb10c5001c7b339fc91f8c8547e782ecbd79eff24ad861e21e6a4c5dc959fb + checksum: 74935a4b03612ee65c0867ca1050788ccfec3efa6d17bb5acceacbd4fbbd0356a073997723eff7380deccd88f13a55c52cb004e80e34f3a67808ac455da6ad64 languageName: node linkType: hard @@ -31145,8 +31611,8 @@ __metadata: linkType: hard "webpack@npm:5, webpack@npm:^5, webpack@npm:^5.65.0": - version: 5.86.0 - resolution: "webpack@npm:5.86.0" + version: 5.88.2 + resolution: "webpack@npm:5.88.2" dependencies: "@types/eslint-scope": ^3.7.3 "@types/estree": ^1.0.0 @@ -31157,7 +31623,7 @@ __metadata: acorn-import-assertions: ^1.9.0 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.14.1 + enhanced-resolve: ^5.15.0 es-module-lexer: ^1.2.1 eslint-scope: 5.1.1 events: ^3.2.0 @@ -31167,7 +31633,7 @@ __metadata: loader-runner: ^4.2.0 mime-types: ^2.1.27 neo-async: ^2.6.2 - schema-utils: ^3.1.2 + schema-utils: ^3.2.0 tapable: ^2.1.1 terser-webpack-plugin: ^5.3.7 watchpack: ^2.4.0 @@ -31177,13 +31643,13 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 138cd2f9d6ddd028ce7deec8958e9bc6092471c6514a3429a2383dcf9a33b4060b05de1337c461f1d3038b066f62198e5e820497f8f618441ec63108c83b8711 + checksum: 743acf04cdb7f73ec059761d3921798014139005c88e136ab99fe158f544695eee2caf4be775cc06e7f481d84725d443df2c1c8e00ec24a130e8b8fd514ff7b9 languageName: node linkType: hard -"webpack@npm:5.80.0": - version: 5.80.0 - resolution: "webpack@npm:5.80.0" +"webpack@npm:5.86.0": + version: 5.86.0 + resolution: "webpack@npm:5.86.0" dependencies: "@types/eslint-scope": ^3.7.3 "@types/estree": ^1.0.0 @@ -31191,10 +31657,10 @@ __metadata: "@webassemblyjs/wasm-edit": ^1.11.5 "@webassemblyjs/wasm-parser": ^1.11.5 acorn: ^8.7.1 - acorn-import-assertions: ^1.7.6 + acorn-import-assertions: ^1.9.0 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.13.0 + enhanced-resolve: ^5.14.1 es-module-lexer: ^1.2.1 eslint-scope: 5.1.1 events: ^3.2.0 @@ -31214,7 +31680,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: a5d5c0b738efd0dd84da05f5546ac5d41954cd294bce85ba4bb9f8e7d301b7bfd2dfb75f527a73e5a85fe46d0280c82f028172464f00a5a34ca53f70431f8a2d + checksum: 138cd2f9d6ddd028ce7deec8958e9bc6092471c6514a3429a2383dcf9a33b4060b05de1337c461f1d3038b066f62198e5e820497f8f618441ec63108c83b8711 languageName: node linkType: hard @@ -31311,17 +31777,16 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": - version: 1.1.9 - resolution: "which-typed-array@npm:1.1.9" +"which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": + version: 1.1.11 + resolution: "which-typed-array@npm:1.1.11" dependencies: available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 for-each: ^0.3.3 gopd: ^1.0.1 has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.10 - checksum: 7edb12cfd04bfe2e2d3ec3e6046417c59e6a8c72209e4fe41fe1a1a40a3b196626c2ca63dac2a0fa2491d5c37c065dfabd2fcf7c0c15f1d19f5640fef88f6368 + checksum: 2cf4ce417beb50ae0ec3b1b479ea6d72d3e71986462ebd77344ca6398f77c7c59804eebe88f4126ce79f85edbcaa6c7783f54b0a5bf34f785eab7cbb35c30499 languageName: node linkType: hard @@ -31404,13 +31869,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": - version: 1.2.3 - resolution: "word-wrap@npm:1.2.3" - checksum: 1cb6558996deb22c909330db1f01d672feee41d7f0664492912de3de282da3f28ba2d49e87b723024e99d56ba2dac2f3ab28f8db07ac199f5e5d5e2e437833de - languageName: node - linkType: hard - "wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0" @@ -31841,6 +32299,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 + languageName: node + linkType: hard + "zod@npm:3.21.4": version: 3.21.4 resolution: "zod@npm:3.21.4" @@ -31849,11 +32314,11 @@ __metadata: linkType: hard "zone.js@npm:^0.13.0": - version: 0.13.0 - resolution: "zone.js@npm:0.13.0" + version: 0.13.1 + resolution: "zone.js@npm:0.13.1" dependencies: tslib: ^2.3.0 - checksum: 6b19d56360354d267de2e762ba6d3f8af1b4f9db55def46b976d9fd865b413a1ef6b033e3fc9a677905af02d691d289228f4a468d5d950b5abe901fec708ebcd + checksum: 3f04ded7d2f5496befbce030aa57ba58d1c604795445e555af1a0079fc9938d0a0a9c128fdbff13563423ea2e2956549383629e39c59a7f1d8d3362deacc5e5b languageName: node linkType: hard diff --git a/scripts/prepare/check.ts b/scripts/prepare/check.ts new file mode 100755 index 000000000000..d200e921ea0b --- /dev/null +++ b/scripts/prepare/check.ts @@ -0,0 +1,80 @@ +#!/usr/bin/env ../../node_modules/.bin/ts-node-script + +import { join } from 'path'; +import fs from 'fs-extra'; +import * as ts from 'typescript'; + +const run = async ({ cwd }: { cwd: string }) => { + const { + bundler: { tsConfig: tsconfigPath = 'tsconfig.json' }, + } = await fs.readJson(join(cwd, 'package.json')); + + const { options, fileNames } = getTSFilesAndConfig(tsconfigPath); + const { program, host } = getTSProgramAndHost(fileNames, options); + + const tsDiagnostics = getTSDiagnostics(program, cwd, host); + if (tsDiagnostics.length > 0) { + console.log(tsDiagnostics); + process.exit(1); + } else { + console.log('no type errors'); + } + + // TODO, add more package checks here, like: + // - check for missing dependencies/peerDependencies + // - check for unused exports + + console.log('done'); +}; + +run({ cwd: process.cwd() }).catch((err: unknown) => { + // We can't let the stack try to print, it crashes in a way that sets the exit code to 0. + // Seems to have something to do with running JSON.parse() on binary / base64 encoded sourcemaps + // in @cspotcode/source-map-support + if (err instanceof Error) { + console.error(err.message); + } + process.exit(1); +}); + +function getTSDiagnostics(program: ts.Program, cwd: string, host: ts.CompilerHost): any { + return ts.formatDiagnosticsWithColorAndContext( + ts.getPreEmitDiagnostics(program).filter((d) => d.file.fileName.startsWith(cwd)), + host + ); +} + +function getTSProgramAndHost(fileNames: string[], options: ts.CompilerOptions) { + const program = ts.createProgram({ + rootNames: fileNames, + options: { + module: ts.ModuleKind.CommonJS, + ...options, + declaration: false, + noEmit: true, + }, + }); + + const host = ts.createCompilerHost(program.getCompilerOptions()); + return { program, host }; +} + +function getTSFilesAndConfig(tsconfigPath: string) { + const content = ts.readJsonConfigFile(tsconfigPath, ts.sys.readFile); + return ts.parseJsonSourceFileConfigFileContent( + content, + { + useCaseSensitiveFileNames: true, + readDirectory: ts.sys.readDirectory, + fileExists: ts.sys.fileExists, + readFile: ts.sys.readFile, + }, + process.cwd(), + { + noEmit: true, + outDir: join(process.cwd(), 'types'), + target: ts.ScriptTarget.ES2022, + declaration: false, + } + ); +} diff --git a/scripts/tasks/check.ts b/scripts/tasks/check.ts index 2c7fa33a7c79..8514d453dde4 100644 --- a/scripts/tasks/check.ts +++ b/scripts/tasks/check.ts @@ -4,7 +4,8 @@ import { maxConcurrentTasks } from '../utils/maxConcurrentTasks'; const parallel = process.env.CI ? 8 : maxConcurrentTasks; -const command = `nx run-many --target="check" --all --parallel=${parallel} --exclude=@storybook/addon-storyshots,@storybook/addon-storyshots-puppeteer`; +const linkCommand = `nx run-many --target="check" --all --parallel=${parallel} --exclude=@storybook/addon-storyshots,@storybook/addon-storyshots-puppeteer,@storybook/vue,@storybook/svelte,@storybook/vue3,@storybook/angular`; +const nolinkCommand = `nx run-many --target="check" --all --parallel=${parallel} --exclude=@storybook/addon-storyshots,@storybook/addon-storyshots-puppeteer`; export const check: Task = { description: 'Typecheck the source code of the monorepo', @@ -13,9 +14,8 @@ export const check: Task = { return false; }, async run({ codeDir }, { dryRun, debug, link }) { - if (link) throw new Error('Cannot check when linked, please run with `--no-link`'); return exec( - command, + link ? linkCommand : nolinkCommand, { cwd: codeDir }, { startMessage: '🥾 Checking types validity', diff --git a/scripts/yarn.lock b/scripts/yarn.lock index 0e7e1ab2bf03..8c45344140b8 100644 --- a/scripts/yarn.lock +++ b/scripts/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8c0 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: 53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f + languageName: node + linkType: hard + "@actions/core@npm:^1.10.0": version: 1.10.0 resolution: "@actions/core@npm:1.10.0" @@ -50,45 +57,45 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/compat-data@npm:7.22.5" - checksum: 97f3c24a71b4e7d5f91c5807f6206a9cdb4123e595c51b34a19e9ea22b837003f969f732fde8819928d66e7b64047fd736c6717c8a1b96bf27fbfc30f6834aff +"@babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/compat-data@npm:7.22.9" + checksum: 1334264b041f8ad4e33036326970c9c26754eb5c04b3af6c223fe6da988cbb8a8542b5526f49ec1ac488210d2f710484a0e4bcd30256294ae3f261d0141febad languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.0": - version: 7.22.5 - resolution: "@babel/core@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/core@npm:7.22.9" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.5 - "@babel/helper-module-transforms": ^7.22.5 - "@babel/helpers": ^7.22.5 - "@babel/parser": ^7.22.5 + "@babel/generator": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 + "@babel/helper-module-transforms": ^7.22.9 + "@babel/helpers": ^7.22.6 + "@babel/parser": ^7.22.7 "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 + "@babel/traverse": ^7.22.8 "@babel/types": ^7.22.5 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.2 - semver: ^6.3.0 - checksum: c00e1474a41c18b669511dd1a1bd757d854cc8128218421a73c3b1c76b44fb22a57bbbd29a73b7a156cb1460af7a94602f81bed76b8d78c6ffae4de954b32a50 + semver: ^6.3.1 + checksum: 4dffc8844bd8ab5c292e795f3eb0e636246177d28b75ec99f3349a29fe08a9f3e089fe68b857ed160f3312c035c8fb73fdc83b0c781f4629164e548a7d62a8c7 languageName: node linkType: hard -"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.7.2": - version: 7.22.5 - resolution: "@babel/generator@npm:7.22.5" +"@babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.7.2": + version: 7.22.9 + resolution: "@babel/generator@npm:7.22.9" dependencies: "@babel/types": ^7.22.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 0613eddb4d1f7d82d88ad304e1acf48fddc3cdfb4c94bc3d2a9128cf0cdeedc0aa8d60301715c3b67537c00d9c9c9d50aad4339e7af1295c90def21893b17f7f + checksum: 6ef82c7f6dc8f749c0eb3a04fe35acab032a9221d82984e67cbbada449ca857dd981e08c129f9cf5d2f342ba00efcc683a99e46a470f233b0948edf197e35d26 languageName: node linkType: hard @@ -110,66 +117,65 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-compilation-targets@npm:7.22.5" +"@babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-compilation-targets@npm:7.22.9" dependencies: - "@babel/compat-data": ^7.22.5 + "@babel/compat-data": ^7.22.9 "@babel/helper-validator-option": ^7.22.5 - browserslist: ^4.21.3 + browserslist: ^4.21.9 lru-cache: ^5.1.1 - semver: ^6.3.0 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: f36a2f27d970fa61b32090840ec847f73c6ada50becf7222c8778dd7ae07661c56f83d57e4c18437160e221512f91c442e3b86703741b45fc1277a548a6fd819 + checksum: 543b9a45800c1db2f91cc53462ed1799834a1259e498d3d91f45816ae79d19719ef957fa00b0f015d8b768eac09fd1f4f5f42f868c5a10f4389e3883a3f050f1 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.5" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.5, @babel/helper-create-class-features-plugin@npm:^7.22.6, @babel/helper-create-class-features-plugin@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-function-name": ^7.22.5 "@babel/helper-member-expression-to-functions": ^7.22.5 "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.9 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 - semver: ^6.3.0 + "@babel/helper-split-export-declaration": ^7.22.6 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: a7a98b73dde9c7b0820f5b56e2b8f4cdeaf1a23ec9ab5bb642a9b6cc7c24154e84d20f6de49761dbc34dc84a4797a87db328e8f4b86867bff004a5809fe9e3d5 + checksum: f383152992996b0b936e555aaef35264852908720216c298f677f4b53ba3c4325b700c6a62ff08a8e1377d76ed6538e1bd5232557266eae777cc06b7eb3dd4ad languageName: node linkType: hard "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 regexpu-core: ^5.3.1 - semver: ^6.3.0 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 134e019881cd985bf329648c2885eee31298e2ef0610ed3ba36dca8dc3a5d17851c61d890acb7904bf72a755182bdca39861079729ca71940f0149ed589c9f85 + checksum: 056c9913299ba399194d9aef5f4281a81806f66979c3c9c6da19b2e29bc92abad6d6d6be0cd4b3ed5945abbdf2d4c45362ee26a012f75f16de7d26859dfde11d languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.4.0": - version: 0.4.0 - resolution: "@babel/helper-define-polyfill-provider@npm:0.4.0" +"@babel/helper-define-polyfill-provider@npm:^0.4.1": + version: 0.4.1 + resolution: "@babel/helper-define-polyfill-provider@npm:0.4.1" dependencies: - "@babel/helper-compilation-targets": ^7.17.7 - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-compilation-targets": ^7.22.6 + "@babel/helper-plugin-utils": ^7.22.5 debug: ^4.1.1 lodash.debounce: ^4.0.8 resolve: ^1.14.2 - semver: ^6.1.2 peerDependencies: "@babel/core": ^7.4.0-0 - checksum: 953c6ebda6871f2aa093f002f5e085ecbefe684580543fc7c309fe9aa5ce626758e02697a51cd25acf5cab56b1028a789fd38674d5872de74927a58049fbdc19 + checksum: 402a8ca29354f01640d7226587576479507093437239ec1ba283c190986442a8759e5043859df9795c07c43d9b99d0685ee36ff77974c5be9a0cbec36a8283af languageName: node linkType: hard @@ -217,19 +223,18 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-transforms@npm:7.22.5" +"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-module-transforms@npm:7.22.9" dependencies: "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-module-imports": ^7.22.5 "@babel/helper-simple-access": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 "@babel/helper-validator-identifier": ^7.22.5 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: a28cf9a91ed657392f75ada08d96a46e8d0df420b7d5d1ac0bb1633d1404807d0cb6e6a3b0666c747d30f378fbb34985d30c6f25e2fcdd69dc58656e47aafe92 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 1844dc2c9049552d13d40385cb196704a754feab60ef8c370a5e1c431a4f64b0ddd7bb1dddaa5c98288cafd5c08cd4d8e6d5aba9a11e1133b8b999ab7c9defd1 languageName: node linkType: hard @@ -242,7 +247,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" checksum: d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d @@ -250,30 +255,28 @@ __metadata: linkType: hard "@babel/helper-remap-async-to-generator@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-wrap-function": ^7.22.5 - "@babel/types": ^7.22.5 + "@babel/helper-wrap-function": ^7.22.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: a4ec78db69db61dbc65eb5b07c8ab4e836caf89a3a8b2983c2afcde805c11f5c660e0932739315d9f08d7ac442360822227ce9f9fdd9436993d342de9a043cf5 + checksum: e753f19726846df26a13a304632aff2bc6e437201f27eecc7ba12db04b9175062da307e72512cf4761e659ec82cb71016352acd83fbe5e527f4b881ce1e633e8 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-replace-supers@npm:7.22.5" +"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-replace-supers@npm:7.22.9" dependencies: "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-member-expression-to-functions": ^7.22.5 "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 0590aa037340e069de866f313eca7d7f0031bd95b56e5182bef79c05a97e763a6098fa4ab77fed8e3798e832bb6a3230bea438e669bc4d90112f09e841bff064 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 9ef42e0d1f81d3377c96449c82666d54daea86db9f352915d2aff7540008cd65f23574bc97a74308b6203f7a8c6bf886d1cc1fa24917337d3d12ea93cb2a53a8 languageName: node linkType: hard @@ -295,12 +298,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-split-export-declaration@npm:7.22.5" +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" dependencies: "@babel/types": ^7.22.5 - checksum: a1e463086f97778584c44129c5c37282d033bf97867b300ff42e64279df18d41fe0e56ebe6a1b27f907afa66ad2a313558db8d2e83e73384c5b22ac726c9c52a + checksum: d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 languageName: node linkType: hard @@ -325,26 +328,25 @@ __metadata: languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-wrap-function@npm:7.22.5" +"@babel/helper-wrap-function@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-wrap-function@npm:7.22.9" dependencies: "@babel/helper-function-name": ^7.22.5 "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 "@babel/types": ^7.22.5 - checksum: 34aa811cc433a3fe2d1bcb7c703ad57c523fd9cad5df8da0651175569cb63dc95b1557305735d922d94a4420e11b2a87d65dbe7f14b49b69e2c7a9c0fdea5647 + checksum: 233c10fe3b38efbf8fcf9bcda8b45b998e963d352beb1966012f4b0be8c221776546a999190c77f0a43524b35c0271691453baf71fe2772fcf7f7938d3621b0d languageName: node linkType: hard -"@babel/helpers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helpers@npm:7.22.5" +"@babel/helpers@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helpers@npm:7.22.6" dependencies: "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.5 + "@babel/traverse": ^7.22.6 "@babel/types": ^7.22.5 - checksum: efa2d0fc2107e270782a784af3a52e5e0b97187b7b34feeeeb00454bc322e802ff4007b22410c387c05580c793f517c4bafc8a6a3acfdb0e3a1b349728f270c4 + checksum: 8c03c19802d0fcc78d00d1eaa9ddab28f97f0c78a5d570762800e86f08c6f41750ad61e20cdede977a56173edf85e7175f1fd804eb6ef817280f064d3a3ca514 languageName: node linkType: hard @@ -359,12 +361,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.7.0": - version: 7.22.5 - resolution: "@babel/parser@npm:7.22.5" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.7.0": + version: 7.22.7 + resolution: "@babel/parser@npm:7.22.7" bin: parser: ./bin/babel-parser.js - checksum: d6a1b1e1f375cf7f81263c57f0b6d41d67e9f498d75960ec7ab62a194d7c232a125a951009edc0c991cb7d6cc6b78b006b15e1e8fb83e0de3fe0ceb6bf3d95ef + checksum: d2bdf212644c39de58f1216540ec5aca4a05ffbec07c904eaaef8575dd9546b55345b91dcc0d306be4adbb717401ce321027bac7e2f7babfd66794c96243bb79 languageName: node linkType: hard @@ -405,17 +407,17 @@ __metadata: linkType: hard "@babel/plugin-proposal-decorators@npm:^7.22.0": - version: 7.22.5 - resolution: "@babel/plugin-proposal-decorators@npm:7.22.5" + version: 7.22.7 + resolution: "@babel/plugin-proposal-decorators@npm:7.22.7" dependencies: - "@babel/helper-create-class-features-plugin": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.22.6 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-replace-supers": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 "@babel/plugin-syntax-decorators": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 31930187a8b3fc58ea92b7b667c7947de70a31c4309122e223cdac7bddaab963f4ed0ca8aaeca730dd313521574f8c34e427c4fadc0ecb2d38522ddd5a7acb5f + checksum: 80a0db66b04fb09afb57abcc5dbde89659f076b4579656e4a0670510d9de7c68aa17fff7479f42078d42b00ada546228a55694a9bd6a050bc57997d1f7feb008 languageName: node linkType: hard @@ -694,9 +696,9 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.5" +"@babel/plugin-transform-async-generator-functions@npm:^7.22.7": + version: 7.22.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.7" dependencies: "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-plugin-utils": ^7.22.5 @@ -704,7 +706,7 @@ __metadata: "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 99ba86cbabb93d6a339398ca8ddaba8fbb40224831daa9ccff692c8532d7ce5de34fd71e60396427d4585ded9484b242aecd042af449f1944ca7b4bbb8ef5b4a + checksum: b9712f47de65d8409625de5cfa4bda6984f9e7065f6170c34b3d11974879276ffa61675c8118de5de7746f5de378c5dfc21efc706664c6f0c652fb58949b53f0 languageName: node linkType: hard @@ -768,22 +770,22 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-classes@npm:7.22.5" +"@babel/plugin-transform-classes@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/plugin-transform-classes@npm:7.22.6" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.6 "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-function-name": ^7.22.5 "@babel/helper-optimise-call-expression": ^7.22.5 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-replace-supers": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c5ac4a3ea8bf7441246e963c35617c1fe8d6515c94a376ef0b724c6950fbb9e5481c51fc4ff13e5afd8949a6bfe1ef20ab937692054772e2376dfeae3b6b99b5 + checksum: 915f1c0d3a0446a3ebfb099c4a5e714896f773322432b91572e6739d7af82e9743ae2874eb596ef1d26ed94472385eb814e1f33b033fc708155576d566e1f5ff languageName: node linkType: hard @@ -1076,16 +1078,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.5" +"@babel/plugin-transform-optional-chaining@npm:^7.22.5, @babel/plugin-transform-optional-chaining@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.6" dependencies: "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 73c62d707d47a8a483e81700beef9119e8af7290623b8ac2cf4918fadd7286a700c8fdb846e66b0fb795d4dc67c8e60b13dfed3fa2311129c67314bbe173b82a + checksum: bb8188df57ab46c4c708eea17eddd20238ef9106c0e82016b1eb9565f073746e385e0be0b6ee25148507f3dc849311147a43323109c97106f15e0e7ff3220fdf languageName: node linkType: hard @@ -1266,16 +1268,16 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-typescript@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/plugin-transform-typescript@npm:7.22.9" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-create-class-features-plugin": ^7.22.5 + "@babel/helper-create-class-features-plugin": ^7.22.9 "@babel/helper-plugin-utils": ^7.22.5 "@babel/plugin-syntax-typescript": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1ee79ead40f8a299dd643d433a514e2bc970f954d27c3a92d62f2139a19128c31d76d094df7e1c1789a70528f349ba536f271a0b47117c77ca49cd26f8b1c66d + checksum: dc0623bbb21bffdc3c64bf5f50677ba06c6bd9f17edae08fd40f3e639632a716efce91100a46aeaad064e082ee71dfd35941cb605bf27f5d32363912a86ba07f languageName: node linkType: hard @@ -1327,11 +1329,11 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.22.0": - version: 7.22.5 - resolution: "@babel/preset-env@npm:7.22.5" + version: 7.22.9 + resolution: "@babel/preset-env@npm:7.22.9" dependencies: - "@babel/compat-data": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.5 + "@babel/compat-data": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-validator-option": ^7.22.5 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.22.5 @@ -1356,13 +1358,13 @@ __metadata: "@babel/plugin-syntax-top-level-await": ^7.14.5 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 "@babel/plugin-transform-arrow-functions": ^7.22.5 - "@babel/plugin-transform-async-generator-functions": ^7.22.5 + "@babel/plugin-transform-async-generator-functions": ^7.22.7 "@babel/plugin-transform-async-to-generator": ^7.22.5 "@babel/plugin-transform-block-scoped-functions": ^7.22.5 "@babel/plugin-transform-block-scoping": ^7.22.5 "@babel/plugin-transform-class-properties": ^7.22.5 "@babel/plugin-transform-class-static-block": ^7.22.5 - "@babel/plugin-transform-classes": ^7.22.5 + "@babel/plugin-transform-classes": ^7.22.6 "@babel/plugin-transform-computed-properties": ^7.22.5 "@babel/plugin-transform-destructuring": ^7.22.5 "@babel/plugin-transform-dotall-regex": ^7.22.5 @@ -1387,7 +1389,7 @@ __metadata: "@babel/plugin-transform-object-rest-spread": ^7.22.5 "@babel/plugin-transform-object-super": ^7.22.5 "@babel/plugin-transform-optional-catch-binding": ^7.22.5 - "@babel/plugin-transform-optional-chaining": ^7.22.5 + "@babel/plugin-transform-optional-chaining": ^7.22.6 "@babel/plugin-transform-parameters": ^7.22.5 "@babel/plugin-transform-private-methods": ^7.22.5 "@babel/plugin-transform-private-property-in-object": ^7.22.5 @@ -1405,14 +1407,14 @@ __metadata: "@babel/plugin-transform-unicode-sets-regex": ^7.22.5 "@babel/preset-modules": ^0.1.5 "@babel/types": ^7.22.5 - babel-plugin-polyfill-corejs2: ^0.4.3 - babel-plugin-polyfill-corejs3: ^0.8.1 - babel-plugin-polyfill-regenerator: ^0.5.0 - core-js-compat: ^3.30.2 - semver: ^6.3.0 + babel-plugin-polyfill-corejs2: ^0.4.4 + babel-plugin-polyfill-corejs3: ^0.8.2 + babel-plugin-polyfill-regenerator: ^0.5.1 + core-js-compat: ^3.31.0 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: dd2b70e96102fc2a64f57c3ab177abeb5aac3f71f47701787b6264d91d7d3ea3d38526d8e1133eb667ca88e87c997ed4a1b8d498ca8be2af07ae4995dfac1b83 + checksum: fad75686dd55638be71657edbd428bb0266a3f34bc6e367bd55fbff911652c971fcea3e5c346288d4e0a15c81b732c4a2549fce97910b602e19170fe1ddf72d0 languageName: node linkType: hard @@ -1470,11 +1472,11 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": - version: 7.22.5 - resolution: "@babel/runtime@npm:7.22.5" + version: 7.22.6 + resolution: "@babel/runtime@npm:7.22.6" dependencies: regenerator-runtime: ^0.13.11 - checksum: 11dcaeecd2246857ccf22f939fcae28a58d29e410607bfa28b95d9b03e298a3e3df8a530e22637d5bfccfc1661fb39cc50c06b404b5d53454bd93889c7dd3eb8 + checksum: 5a273e7d66586582041c68332028db5376d754d483422541fdc904e10474a6f8aef14dd3a5aabcbcb6daea87b64531cc4be993d2943557ede4a2613f5328a981 languageName: node linkType: hard @@ -1489,21 +1491,21 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.22.5, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.7.2": - version: 7.22.5 - resolution: "@babel/traverse@npm:7.22.5" +"@babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.7.0": + version: 7.22.8 + resolution: "@babel/traverse@npm:7.22.8" dependencies: "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.5 + "@babel/generator": ^7.22.7 "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-function-name": ^7.22.5 "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.5 - "@babel/parser": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/parser": ^7.22.7 "@babel/types": ^7.22.5 debug: ^4.1.0 globals: ^11.1.0 - checksum: 0217ec5ece6e4e3b6fd39dc4a23903d2d8ec76a7163731ae51a8cca03a450fb592782d620b8525219a5df9268b22901f3328a23440646d5ec2db4e3952817121 + checksum: 839014824c210388ed46f92bf5265522bd5bbb4a9a03c700f9d79b151bdd0aa077c2f6448a0cef41132188cc2bc6d8cdcad98a297ba59983401e882bdc256b1f languageName: node linkType: hard @@ -1572,156 +1574,156 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/android-arm64@npm:0.18.6" +"@esbuild/android-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/android-arm64@npm:0.18.14" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/android-arm@npm:0.18.6" +"@esbuild/android-arm@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/android-arm@npm:0.18.14" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/android-x64@npm:0.18.6" +"@esbuild/android-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/android-x64@npm:0.18.14" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/darwin-arm64@npm:0.18.6" +"@esbuild/darwin-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/darwin-arm64@npm:0.18.14" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/darwin-x64@npm:0.18.6" +"@esbuild/darwin-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/darwin-x64@npm:0.18.14" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/freebsd-arm64@npm:0.18.6" +"@esbuild/freebsd-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/freebsd-arm64@npm:0.18.14" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/freebsd-x64@npm:0.18.6" +"@esbuild/freebsd-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/freebsd-x64@npm:0.18.14" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-arm64@npm:0.18.6" +"@esbuild/linux-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-arm64@npm:0.18.14" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-arm@npm:0.18.6" +"@esbuild/linux-arm@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-arm@npm:0.18.14" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-ia32@npm:0.18.6" +"@esbuild/linux-ia32@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-ia32@npm:0.18.14" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-loong64@npm:0.18.6" +"@esbuild/linux-loong64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-loong64@npm:0.18.14" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-mips64el@npm:0.18.6" +"@esbuild/linux-mips64el@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-mips64el@npm:0.18.14" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-ppc64@npm:0.18.6" +"@esbuild/linux-ppc64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-ppc64@npm:0.18.14" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-riscv64@npm:0.18.6" +"@esbuild/linux-riscv64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-riscv64@npm:0.18.14" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-s390x@npm:0.18.6" +"@esbuild/linux-s390x@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-s390x@npm:0.18.14" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/linux-x64@npm:0.18.6" +"@esbuild/linux-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/linux-x64@npm:0.18.14" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/netbsd-x64@npm:0.18.6" +"@esbuild/netbsd-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/netbsd-x64@npm:0.18.14" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/openbsd-x64@npm:0.18.6" +"@esbuild/openbsd-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/openbsd-x64@npm:0.18.14" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/sunos-x64@npm:0.18.6" +"@esbuild/sunos-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/sunos-x64@npm:0.18.14" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/win32-arm64@npm:0.18.6" +"@esbuild/win32-arm64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/win32-arm64@npm:0.18.14" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/win32-ia32@npm:0.18.6" +"@esbuild/win32-ia32@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/win32-ia32@npm:0.18.14" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.6": - version: 0.18.6 - resolution: "@esbuild/win32-x64@npm:0.18.6" +"@esbuild/win32-x64@npm:0.18.14": + version: 0.18.14 + resolution: "@esbuild/win32-x64@npm:0.18.14" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1744,27 +1746,27 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.3": - version: 2.0.3 - resolution: "@eslint/eslintrc@npm:2.0.3" +"@eslint/eslintrc@npm:^2.1.0": + version: 2.1.0 + resolution: "@eslint/eslintrc@npm:2.1.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.5.2 + espree: ^9.6.0 globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 46291c33bf580ab12101fb7f20adabaa60326a7de094409ab4a5ca4611552ab2325f8d677d6c1d2d9f45f83f93360b115a0b4488bc48180cca0d0f386804d829 + checksum: 6ffbc3e7867b377754492539af0e2f5b55645a2c67279a70508fe09080bc76d49ba64b579e59a2a04014f84d0768301736fbcdd94c7b3ad4f0e648c32bf21e43 languageName: node linkType: hard -"@eslint/js@npm:8.43.0": - version: 8.43.0 - resolution: "@eslint/js@npm:8.43.0" - checksum: ff1a1587e8f28c21dda36a331cf70ca16b76e5897cecf10f6b4c326abddf18db565ee5f71feb89cbb0d3d20ff321a2536357562c0233868eed70784640b73cf4 +"@eslint/js@npm:8.44.0": + version: 8.44.0 + resolution: "@eslint/js@npm:8.44.0" + checksum: ce7b966f8804228e4d5725d44d3c8fb7fc427176f077401323a02e082f628d207133a25704330e610ebe3254fdf1acb186f779d1242fd145a758fdcc4486a660 languageName: node linkType: hard @@ -1805,8 +1807,8 @@ __metadata: linkType: hard "@google-cloud/bigquery@npm:^6.2.0": - version: 6.2.0 - resolution: "@google-cloud/bigquery@npm:6.2.0" + version: 6.2.1 + resolution: "@google-cloud/bigquery@npm:6.2.1" dependencies: "@google-cloud/common": ^4.0.0 "@google-cloud/paginator": ^4.0.0 @@ -1817,11 +1819,9 @@ __metadata: duplexify: ^4.0.0 extend: ^3.0.2 is: ^3.3.0 - p-event: ^4.1.0 - readable-stream: ^4.0.0 stream-events: ^1.0.5 uuid: ^9.0.0 - checksum: 52989491997d5089ee8fec14ce1f07eb5445f69c2d8eccb766637e7f95e6b975c05e6d22efa4341728fcd48d10fe3430c8c70ba57eff7d770f9f3777db7b31fa + checksum: a100285bf342ca31c19e744d3edd5f7dc7412afbe8482b138ee800f8281c8ce69e68b7257f2be641c61722a4280b335f08225ab977fbe9a9bc1e6e62c8765a91 languageName: node linkType: hard @@ -1955,29 +1955,29 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/console@npm:29.5.0" +"@jest/console@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/console@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 slash: ^3.0.0 - checksum: 59dfbdb6c3c15652f8d7267071f24d6335afbed0b1cf71aed70b6ce8deb1d86e7f4aadb978f639435650107fd22476b59e63a3d3a9ac99b1aca739b795a54410 + checksum: d62b089015f06d2ca277d8bff63a2c19b861b12161f5b8a69207498b980659dedfdcdcdcd1c0d5078a73cba5dd270392c65476ba9a48b795d1276517ba30f7ed languageName: node linkType: hard -"@jest/core@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/core@npm:29.5.0" +"@jest/core@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/core@npm:29.6.1" dependencies: - "@jest/console": ^29.5.0 - "@jest/reporters": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/console": ^29.6.1 + "@jest/reporters": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 @@ -1985,20 +1985,20 @@ __metadata: exit: ^0.1.2 graceful-fs: ^4.2.9 jest-changed-files: ^29.5.0 - jest-config: ^29.5.0 - jest-haste-map: ^29.5.0 - jest-message-util: ^29.5.0 + jest-config: ^29.6.1 + jest-haste-map: ^29.6.1 + jest-message-util: ^29.6.1 jest-regex-util: ^29.4.3 - jest-resolve: ^29.5.0 - jest-resolve-dependencies: ^29.5.0 - jest-runner: ^29.5.0 - jest-runtime: ^29.5.0 - jest-snapshot: ^29.5.0 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 - jest-watcher: ^29.5.0 + jest-resolve: ^29.6.1 + jest-resolve-dependencies: ^29.6.1 + jest-runner: ^29.6.1 + jest-runtime: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 + jest-watcher: ^29.6.1 micromatch: ^4.0.4 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -2006,77 +2006,77 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: e4b3e0de48614b2c339083b9159f00a024839984bd89b9afa4cfff4c38f6ce485c2009f2efa1c1e3bb3b87386288bc15798c6aebb7937d7820e8048d75461a4d + checksum: dccd83243af657da9af4c7ae578d55267c85e5bf1755a3a3e189c9ec0d23d409956e0eff7c13b81a388940ab9f294b0afc0241288d5832769687d919fae576fe languageName: node linkType: hard -"@jest/environment@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/environment@npm:29.5.0" +"@jest/environment@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/environment@npm:29.6.1" dependencies: - "@jest/fake-timers": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-mock: ^29.5.0 - checksum: 1fbe63cbfb9c3f6c9fc9d8f6917a5aceee1828d589569bbffcf5fb4bb56bc021dc3a6f239cde3099144767c97763ae134904ee522f236cd8c0d071bd7f9ef63b + jest-mock: ^29.6.1 + checksum: 9c9fddcbec02b59b9719ede7d51e23e5dcd2230365a1df45ff782ea18af4b51fa0d9f5a3e76fbee6d0b7403ae4cd3fb9c45e9f86177c9be02bbbf84ae7f778c6 languageName: node linkType: hard -"@jest/expect-utils@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/expect-utils@npm:29.5.0" +"@jest/expect-utils@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/expect-utils@npm:29.6.1" dependencies: jest-get-type: ^29.4.3 - checksum: e7f44de651b5ef71c6e1b7a0350a704258167c20b6e8165b3100346d5c7f8eb4cd2c229ea2c048e9161666d1c086fbbc422f111f3b77da3fb89a99d52d4b3690 + checksum: e04164280c0b47a6285f39e70323b54eafc42367d9304897d55d70abd50324e060cb81efc7df82b1031eb46b82b85ecf343ed50c72654b11f1492b34c5e1a7b9 languageName: node linkType: hard -"@jest/expect@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/expect@npm:29.5.0" +"@jest/expect@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/expect@npm:29.6.1" dependencies: - expect: ^29.5.0 - jest-snapshot: ^29.5.0 - checksum: 447e7450af8ba61ac34d8a2ca11c56c62f6f0fb33ff13130f11a1ec9526a08d756ee72da622316a2c52ecfe726fe14432bdfb46e45aff5676f8d1a8efc8d201c + expect: ^29.6.1 + jest-snapshot: ^29.6.1 + checksum: 7766e9e02eac18edd2dfdf3481083f1a45b42efdc5fb13e3290132a0379d807a8b892ba1055c6917a3a2ed902240c556ac8704e17652b1b8387a58711867ca2f languageName: node linkType: hard -"@jest/fake-timers@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/fake-timers@npm:29.5.0" +"@jest/fake-timers@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/fake-timers@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@sinonjs/fake-timers": ^10.0.2 "@types/node": "*" - jest-message-util: ^29.5.0 - jest-mock: ^29.5.0 - jest-util: ^29.5.0 - checksum: dbf52fd302bf6b3d7ec49499f12835b7d7d4069d61adc62dac233021eba61186bbad3add1ceb3225a23a8745dd04fa0dcc2c38d350ecb0f26eec63f2cf5e6aff + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: 112b1f26f48f16dd8732f9842d480b66545cd5226d674e59c758f56680d234fc4debb77497784bf26130b21caab4d8cd39cf09afbbb2863a0a4ee0ccdb4c6e14 languageName: node linkType: hard -"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/globals@npm:29.5.0" +"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/globals@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/expect": ^29.5.0 - "@jest/types": ^29.5.0 - jest-mock: ^29.5.0 - checksum: 0c25f07d8125e45cf3c21442e625f6a636eaf7f4cf1cf3f9f66bae059aeb31d3dc61dfff9479eb861a5089dca34c95e231ad88b8925bee42387abecbfe5ecbc2 + "@jest/environment": ^29.6.1 + "@jest/expect": ^29.6.1 + "@jest/types": ^29.6.1 + jest-mock: ^29.6.1 + checksum: 9ee8a6e476b8e74d4aa16150ea0ba0b8ecc25328062762cb46095fdec9638fc525d0e7f06e3aa1413600749c79d02a4db18da9912675843672242ea44763fa49 languageName: node linkType: hard -"@jest/reporters@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/reporters@npm:29.5.0" +"@jest/reporters@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/reporters@npm:29.6.1" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 - "@jridgewell/trace-mapping": ^0.3.15 + "@jest/console": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 + "@jridgewell/trace-mapping": ^0.3.18 "@types/node": "*" chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 @@ -2088,9 +2088,9 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 - jest-worker: ^29.5.0 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 + jest-worker: ^29.6.1 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 @@ -2100,74 +2100,74 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 72b771a7749ac2eb9b671f2a886dc98cbe914dfa1a4266854b040e4cc563bf9f5db02b8ff8654b7bfbc3b28caa6d48ca0dde9707454ea4f79d77bd13b6357929 + checksum: fd6e1eab9afee7eebb0a5f461b447b72d227459ce0e96e3ad4024e8795a36d03e1110c91fae9c61a5da50df42978041455f96bf5b09e5b0cead33fb44c63150b languageName: node linkType: hard -"@jest/schemas@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/schemas@npm:29.4.3" +"@jest/schemas@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/schemas@npm:29.6.0" dependencies: - "@sinclair/typebox": ^0.25.16 - checksum: 8a35967cec454d1de2d5a58ab99b49a0ff798d1dce2d817bdd9960bb2f070493f767fbbf419e6a263860d3b1ef1e50ab609a76ae21b5f8c09bb0859e8f51a098 + "@sinclair/typebox": ^0.27.8 + checksum: 8671b1fb59c4296204d335190e8451e1983d9f2db6dbbd38f838c6c273fd222fc11e4e0df04adfb6169d36acfb9693d525db136653ec04e6884180f45a131d8f languageName: node linkType: hard -"@jest/source-map@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/source-map@npm:29.4.3" +"@jest/source-map@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/source-map@npm:29.6.0" dependencies: - "@jridgewell/trace-mapping": ^0.3.15 + "@jridgewell/trace-mapping": ^0.3.18 callsites: ^3.0.0 graceful-fs: ^4.2.9 - checksum: 353f9989dcb416e8a2559ad2831b4b3e8446a9f8259782cec97f89903b5c00baa76ea3e23a3f1c83c1ccb3999a9e318b8c6a4bab29e4b66a4abdbb760e445a50 + checksum: afa654e3634ad74d5f8388ccffd7ecbd745bdce7f6f0860b69c07827c3ee5bb408f52b6c3136b43157ef5874c099059484e43bd3aa391232ab27d8c330399789 languageName: node linkType: hard -"@jest/test-result@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/test-result@npm:29.5.0" +"@jest/test-result@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/test-result@npm:29.6.1" dependencies: - "@jest/console": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/console": ^29.6.1 + "@jest/types": ^29.6.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 5d637c9935ea0438b2a7c106d48756967e5a96fa4426a9b16ea2a3e73e1538eabd10fd4faa8eb46aa4fee710a165e0fd2ce0603dacde5e8a1bba541100854b1d + checksum: 0b460253f092042cb2edaae92f9f22aed150a2dc3eaa8dbd60a31db8a3b12fc14c89784b580e0a678ef52e7438a11b27eaaedd2bc9c4328dbbd6d5d72983de6c languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/test-sequencer@npm:29.5.0" +"@jest/test-sequencer@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/test-sequencer@npm:29.6.1" dependencies: - "@jest/test-result": ^29.5.0 + "@jest/test-result": ^29.6.1 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 + jest-haste-map: ^29.6.1 slash: ^3.0.0 - checksum: 6fb7549a5dbe2da6817eb853134f76cf2b320b283900c5e63c997ecfadc616379372a49ac8c0f4ffdb9616eed4a5908c74cb7a560a395a6e1dc0d072b865657b + checksum: 411b7fd3a55daaf6f3ce7d3f3cd7114580126df9190a3f27d4e5a5429d91cb56c77899560afefd69451cde4911259c44f9e5fb09d975dc1f1ba597295a64f165 languageName: node linkType: hard -"@jest/transform@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/transform@npm:29.5.0" +"@jest/transform@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/transform@npm:29.6.1" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.5.0 - "@jridgewell/trace-mapping": ^0.3.15 + "@jest/types": ^29.6.1 + "@jridgewell/trace-mapping": ^0.3.18 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^2.0.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 + jest-haste-map: ^29.6.1 jest-regex-util: ^29.4.3 - jest-util: ^29.5.0 + jest-util: ^29.6.1 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.2 - checksum: 113598311d84ec7e4a4aadd340e332bbfbbd66e20eabea8b2f084b80cf97c1bc9e1ff90278c4f04b227afa95e3386d702363715f9923062c370c042c31911d94 + checksum: e34ddd89f372af749e983e29febfbb6f9a96eb677af32b5b299ce36eeab7b1ae55ddda2b64ff91437991f3f9b43cfc7ffa3b511ce7e7c1c23ae2b50d8a65a07f languageName: node linkType: hard @@ -2184,17 +2184,17 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/types@npm:29.5.0" +"@jest/types@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/types@npm:29.6.1" dependencies: - "@jest/schemas": ^29.4.3 + "@jest/schemas": ^29.6.0 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: f1cccd2e9b00a985bfdac03517f906cdf7a481be3606c335f8ec08a7272b7cf700b23484ce323a912b374defb90d3ab88c643cf2a2f47635c1c4feacfa1c1b2d + checksum: 58de1c2484f6c4968b566fb1661506794d3df79476c0605a71b6e40b8a5a1a9837b9c692782540a179daa424c572c7d0818afa306918e3fcd29c4a962ed34a7b languageName: node linkType: hard @@ -2254,7 +2254,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.18 resolution: "@jridgewell/trace-mapping@npm:0.3.18" dependencies: @@ -2280,6 +2280,15 @@ __metadata: languageName: node linkType: hard +"@nicolo-ribaudo/semver-v6@npm:^6.3.3": + version: 6.3.3 + resolution: "@nicolo-ribaudo/semver-v6@npm:6.3.3" + bin: + semver: bin/semver.js + checksum: 9ef70305fa9b03709805128611c0d95beec479cdd6f6b608386d6cee7a3d36f61e6f749378b60f1e5fca19fc58da7b06fccfe3540c0dbc40719731827d4eb1df + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2785,10 +2794,10 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.25.16": - version: 0.25.24 - resolution: "@sinclair/typebox@npm:0.25.24" - checksum: 2faf9878f3a65a1f2855add80b0fe8c6fe83f084ea1ab432fa7506e7c85c55ae121c4af516d089b5737f5fad23b3628fcc83a6a5df29030c3f611185ce0388ac +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e languageName: node linkType: hard @@ -3068,90 +3077,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-darwin-arm64@npm:1.3.66" +"@swc/core-darwin-arm64@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-darwin-arm64@npm:1.3.70" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-darwin-x64@npm:1.3.66" +"@swc/core-darwin-x64@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-darwin-x64@npm:1.3.70" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.66" +"@swc/core-linux-arm-gnueabihf@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.70" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.66" +"@swc/core-linux-arm64-gnu@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.70" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.66" +"@swc/core-linux-arm64-musl@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.70" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.66" +"@swc/core-linux-x64-gnu@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.70" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-linux-x64-musl@npm:1.3.66" +"@swc/core-linux-x64-musl@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-linux-x64-musl@npm:1.3.70" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.66" +"@swc/core-win32-arm64-msvc@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.70" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.66" +"@swc/core-win32-ia32-msvc@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.70" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.66": - version: 1.3.66 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.66" +"@swc/core-win32-x64-msvc@npm:1.3.70": + version: 1.3.70 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.70" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.23": - version: 1.3.66 - resolution: "@swc/core@npm:1.3.66" - dependencies: - "@swc/core-darwin-arm64": 1.3.66 - "@swc/core-darwin-x64": 1.3.66 - "@swc/core-linux-arm-gnueabihf": 1.3.66 - "@swc/core-linux-arm64-gnu": 1.3.66 - "@swc/core-linux-arm64-musl": 1.3.66 - "@swc/core-linux-x64-gnu": 1.3.66 - "@swc/core-linux-x64-musl": 1.3.66 - "@swc/core-win32-arm64-msvc": 1.3.66 - "@swc/core-win32-ia32-msvc": 1.3.66 - "@swc/core-win32-x64-msvc": 1.3.66 + version: 1.3.70 + resolution: "@swc/core@npm:1.3.70" + dependencies: + "@swc/core-darwin-arm64": 1.3.70 + "@swc/core-darwin-x64": 1.3.70 + "@swc/core-linux-arm-gnueabihf": 1.3.70 + "@swc/core-linux-arm64-gnu": 1.3.70 + "@swc/core-linux-arm64-musl": 1.3.70 + "@swc/core-linux-x64-gnu": 1.3.70 + "@swc/core-linux-x64-musl": 1.3.70 + "@swc/core-win32-arm64-msvc": 1.3.70 + "@swc/core-win32-ia32-msvc": 1.3.70 + "@swc/core-win32-x64-msvc": 1.3.70 peerDependencies: "@swc/helpers": ^0.5.0 dependenciesMeta: @@ -3178,7 +3187,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: bf1d9eb0c29d1cc100cb15272dfb55db8da02f9a90c4ae11af1803a189f686bdad9ce9b06af3b7ad004b6811efd9332cbab75be87a2c2aa7cf0a44999fab6d5d + checksum: 9433f6df1623de33c400d45bec65b1e54ad9e250ff1c24b3adb6d1925c753dc694ea0a0c6d75456fcf28d0c3e01866c3a880f24d23e35b2f62a9a3218ce7c15e languageName: node linkType: hard @@ -3208,8 +3217,8 @@ __metadata: linkType: hard "@testing-library/jest-dom@npm:^5.11.9, @testing-library/jest-dom@npm:^5.16.2": - version: 5.16.5 - resolution: "@testing-library/jest-dom@npm:5.16.5" + version: 5.17.0 + resolution: "@testing-library/jest-dom@npm:5.17.0" dependencies: "@adobe/css-tools": ^4.0.1 "@babel/runtime": ^7.9.2 @@ -3220,7 +3229,7 @@ __metadata: dom-accessibility-api: ^0.5.6 lodash: ^4.17.15 redent: ^3.0.0 - checksum: 0925fda78096cca355d164d5358b84b9371c4fb6ba60ce60c2263446ac6d9c6aaca75e2792cdb42699fe78c379924c53db672a3510361b577ebb89a0c6e1c629 + checksum: 24e09c5779ea44644945ec26f2e4e5f48aecfe57d469decf2317a3253a5db28d865c55ad0ea4818d8d1df7572a6486c45daa06fa09644a833a7dd84563881939 languageName: node linkType: hard @@ -3486,11 +3495,11 @@ __metadata: linkType: hard "@types/hast@npm:^2.0.0": - version: 2.3.4 - resolution: "@types/hast@npm:2.3.4" + version: 2.3.5 + resolution: "@types/hast@npm:2.3.5" dependencies: - "@types/unist": "*" - checksum: 635cfe9a8e91f6b3c15c9929455d0136ac4d75c5b7f596ce21b453cecdfda785e89b10eb2b2d9da9d43e548b1d65ba3e20c741bbaf83823575c9c45001ade4bb + "@types/unist": ^2 + checksum: 3fc5185e7fb5139a4f60f0d4450179c1f88b7e288a054415b273e4a32f0c4cfe825a4cad075824dcdf3984609b47f13141f8900dedb3aeab482ae5a16275e807 languageName: node linkType: hard @@ -3501,6 +3510,13 @@ __metadata: languageName: node linkType: hard +"@types/http-errors@npm:*": + version: 2.0.1 + resolution: "@types/http-errors@npm:2.0.1" + checksum: 3bbc8c84fb02b381737e2eec563b434121384b1aef4e070edec4479a1bc74f27373edc09162680cd3ea1035ef8e5ab6d606bd7c99e3855c424045fb74376cb66 + languageName: node + linkType: hard + "@types/http-server@npm:^0.12.1": version: 0.12.1 resolution: "@types/http-server@npm:0.12.1" @@ -3543,12 +3559,12 @@ __metadata: linkType: hard "@types/jest@npm:*, @types/jest@npm:>=26.0.0": - version: 29.5.2 - resolution: "@types/jest@npm:29.5.2" + version: 29.5.3 + resolution: "@types/jest@npm:29.5.3" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: e85525fe83a0792632a31ca32968b33a0014d617442e9a515357d2aa8890052ef622b1f6fd25d48f4f1a3ab806bed94e6d9b056dea23a897464e0e35957ff654 + checksum: ba5a28569368db62eeff85ea53661c7dff79a5be739a59926c37868888cc69f8b7d0c7c6209139ecca5b83056843ba67fa764f7e7fc9c8d1c4e1f80351ede0f4 languageName: node linkType: hard @@ -3603,11 +3619,11 @@ __metadata: linkType: hard "@types/mdast@npm:^3.0.0": - version: 3.0.11 - resolution: "@types/mdast@npm:3.0.11" + version: 3.0.12 + resolution: "@types/mdast@npm:3.0.12" dependencies: - "@types/unist": "*" - checksum: 569ec32ac16deb42f2c9e7cdbfb5be0f67d2407036b49ba9cfa07ad0258b044c259922acba170eaed165ebcf5eb168032fbb4b3e35023fe8c581fe46e9bcbad0 + "@types/unist": ^2 + checksum: b5af41e4f19a149eba58cde8ccacc36117640aefe28966637c54c27a8fbcfa3972e88cafd859c7bf39cd5c4e965e4196169001beac4a1980cfee6b08eea896a6 languageName: node linkType: hard @@ -3649,24 +3665,17 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>= 8": - version: 20.3.1 - resolution: "@types/node@npm:20.3.1" - checksum: 7e8a6f5d6fc1ad3778f038f5f8df570741459984280fd2e9539af32620d93438c955fd1b90d00f9cc438cd132ec04d7669ada9e32502336e78713a3ad9b51d10 - languageName: node - linkType: hard - -"@types/node@npm:^16.0.0": - version: 16.18.36 - resolution: "@types/node@npm:16.18.36" - checksum: 7d7c30bcca0f61a0f051c2d5b03a625bca209c982bae35450828ee19e5f2c79df89c0f741f98e258203b82dc027f86b6c02860830b103a5b6ec3baf4d41fe0cf +"@types/node@npm:*, @types/node@npm:>= 8, @types/node@npm:^16.0.0": + version: 16.18.38 + resolution: "@types/node@npm:16.18.38" + checksum: 02631f1cfe0c111024e4bf0909c3bfc7476e65e03cb32dc48b2f71f000590b244d239b349b91a6b03667c33f31fbd3200c8fc5838623fcaadce3e92d60efee1a languageName: node linkType: hard "@types/node@npm:^18.0.0": - version: 18.16.18 - resolution: "@types/node@npm:18.16.18" - checksum: 1ad22342d1aaad446625e7eb2ca6137d0036fbc451fcb367c005ed4d6a102190bbba3d104652b2f9a73d0e520752b98fb89f22f5ef8fe09e8487bcb6fd75223f + version: 18.16.19 + resolution: "@types/node@npm:18.16.19" + checksum: 322aaf3c04dcbbae619c7e8d40ed70e4ae41894e88776267d87bf3719a71b9a21ecde903d9f67cec3a663cf608d2822056ab739b48dada75433db38fadac2514 languageName: node linkType: hard @@ -3738,26 +3747,15 @@ __metadata: linkType: hard "@types/react-dom@npm:^18.0.0": - version: 18.2.6 - resolution: "@types/react-dom@npm:18.2.6" + version: 18.2.7 + resolution: "@types/react-dom@npm:18.2.7" dependencies: "@types/react": "*" - checksum: bd734ca04c52b3c96891a7f9c1139486807dac7a2449fb72e8f8e23018bc6eeeb87a490a105cb39d05ccb7ddf80ed7a441e5bd3e5866c6f6ae8870cd723599e8 - languageName: node - linkType: hard - -"@types/react@npm:*": - version: 18.2.13 - resolution: "@types/react@npm:18.2.13" - dependencies: - "@types/prop-types": "*" - "@types/scheduler": "*" - csstype: ^3.0.2 - checksum: 59b434ab9f2cf4874c8715a3d848d7cfd257419af8c0e486e2af5b6760c99aab62a511cb3456a3044d8250c93539016ca84fbd23eaac988e74987e268df2eef2 + checksum: bd090f5e1b13765fbc191d9eb720dd152d26c20558221963009189c4636ce11e4c1c976e4cde4a74335f997a2be651af27d3727474a8091424101a83a71eebfb languageName: node linkType: hard -"@types/react@npm:^16, @types/react@npm:^16.14.34": +"@types/react@npm:*, @types/react@npm:^16, @types/react@npm:^16.14.34": version: 16.14.43 resolution: "@types/react@npm:16.14.43" dependencies: @@ -3809,12 +3807,13 @@ __metadata: linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.13.8": - version: 1.15.1 - resolution: "@types/serve-static@npm:1.15.1" + version: 1.15.2 + resolution: "@types/serve-static@npm:1.15.2" dependencies: + "@types/http-errors": "*" "@types/mime": "*" "@types/node": "*" - checksum: dc934e2adce730480af5af6081b99f50be4dfb7f44537893444bcf1dc97f5d5ffb16b38350ecd89dd114184d751ba3271500631fa56cf1faa35be56f8e45971b + checksum: 5e7b3e17b376f8910d5c9a0b1def38d7841c8939713940098f1b80a330d5caa9cfe9b632c122252cd70165052439e18fafa46635dc55b1d6058343901eec22eb languageName: node linkType: hard @@ -3833,11 +3832,11 @@ __metadata: linkType: hard "@types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.6 - resolution: "@types/testing-library__jest-dom@npm:5.14.6" + version: 5.14.8 + resolution: "@types/testing-library__jest-dom@npm:5.14.8" dependencies: "@types/jest": "*" - checksum: f681d1af71b969b84cb2bfbf6e09f97a951eed577f983f4c0335e9175bc94b0721217fa10d06f30fabc3b09ccbcfb3c1f5957fa1d3a8becf04c1536bd8364948 + checksum: 83b9e7470da50d1a594c0afd999f689955e61cb8d9a8a32582ca14f73cc8503428376f98414becc1dc9e712f3de8ee2e49f41ed0117ab6a382c79988682e857e languageName: node linkType: hard @@ -3855,10 +3854,10 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:*, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.6 - resolution: "@types/unist@npm:2.0.6" - checksum: 8690789328e8e10c487334341fcf879fd49f8987c98ce49849f9871052f95d87477735171bb661e6f551bdb95235e015dfdad1867ca1d9b5b88a053f72ac40eb +"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": + version: 2.0.7 + resolution: "@types/unist@npm:2.0.7" + checksum: ecfb4ad9909ba9390fc3b6923a1d783e99753b0687f5cd99a0e56b6c05e1c72bf4e55cb1b8c0ffda49c6cbead4636de351a130f63d7648c554dc526038733b25 languageName: node linkType: hard @@ -3904,15 +3903,15 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^5.45.0": - version: 5.60.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.60.0" + version: 5.62.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.60.0 - "@typescript-eslint/type-utils": 5.60.0 - "@typescript-eslint/utils": 5.60.0 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/type-utils": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 - grapheme-splitter: ^1.0.4 + graphemer: ^1.4.0 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 semver: ^7.3.7 @@ -3923,54 +3922,54 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: e41d1a45f330e766afb594429fad535f4db06efc458e74cc05109c4555550efdad57141aa088d5cb836aeb90b822e08e7690e5b650fd7b2419da1d64113d5360 + checksum: 3f40cb6bab5a2833c3544e4621b9fdacd8ea53420cadc1c63fac3b89cdf5c62be1e6b7bcf56976dede5db4c43830de298ced3db60b5494a3b961ca1b4bff9f2a languageName: node linkType: hard "@typescript-eslint/experimental-utils@npm:^5.45.0": - version: 5.60.0 - resolution: "@typescript-eslint/experimental-utils@npm:5.60.0" + version: 5.62.0 + resolution: "@typescript-eslint/experimental-utils@npm:5.62.0" dependencies: - "@typescript-eslint/utils": 5.60.0 + "@typescript-eslint/utils": 5.62.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 048dd2ed5f1aa974561bb97b8bf90fa93fdaf5a4d94fd06863282bb0251849f6623be9a7b9a9e5670eba0b93440d0fb9a3e5058c2c43d05b2a4c65f137d0c1d1 + checksum: f7037977e00849cd8c03677a88b0659a4f0e0b1e0151aebb47c49c92b8e57408578142df598eac08b364623d926343c724f42494f87662e437b1c89f0b2e815b languageName: node linkType: hard "@typescript-eslint/parser@npm:^5.45.0": - version: 5.60.0 - resolution: "@typescript-eslint/parser@npm:5.60.0" + version: 5.62.0 + resolution: "@typescript-eslint/parser@npm:5.62.0" dependencies: - "@typescript-eslint/scope-manager": 5.60.0 - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/typescript-estree": 5.60.0 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: a9b4875a3ed37cfe8205173caf85b21f8025cf21bc295036c6265010ff622054b137fa7f3251476104086804bf55b420431efa887935b67c506800e3adcc8910 + checksum: 315194b3bf39beb9bd16c190956c46beec64b8371e18d6bb72002108b250983eb1e186a01d34b77eb4045f4941acbb243b16155fbb46881105f65e37dc9e24d4 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.60.0": - version: 5.60.0 - resolution: "@typescript-eslint/scope-manager@npm:5.60.0" +"@typescript-eslint/scope-manager@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/scope-manager@npm:5.62.0" dependencies: - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/visitor-keys": 5.60.0 - checksum: 87c742ea716359206244e1c7a8d2805b9e1caf04bce127f84b790046ae994849f25bf38af05de7a283eec58b34ecc701f441f23dfcccb59b9185260667bfe6e7 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + checksum: 861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.60.0": - version: 5.60.0 - resolution: "@typescript-eslint/type-utils@npm:5.60.0" +"@typescript-eslint/type-utils@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/type-utils@npm:5.62.0" dependencies: - "@typescript-eslint/typescript-estree": 5.60.0 - "@typescript-eslint/utils": 5.60.0 + "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -3978,23 +3977,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 0baa4baa9c059e3a0d4da19cb62b821ababce781208cf18965e54916ea718a993d969f8f42b4356409ac1ce74228532e9d1cd0f2e9d3e0815c405467775b4015 + checksum: 93112e34026069a48f0484b98caca1c89d9707842afe14e08e7390af51cdde87378df29d213d3bbd10a7cfe6f91b228031b56218515ce077bdb62ddea9d9f474 languageName: node linkType: hard -"@typescript-eslint/types@npm:5.60.0": - version: 5.60.0 - resolution: "@typescript-eslint/types@npm:5.60.0" - checksum: 008aedc2322120b9b760204ae26b5ecf5a1a61da84e77427048d076074cef703914a7a2db0286f891bbd045c1246238823671ec97192e03eabec35e9f75288e2 +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.60.0": - version: 5.60.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.60.0" +"@typescript-eslint/typescript-estree@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" dependencies: - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/visitor-keys": 5.60.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -4003,35 +4002,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 83352afbd5b32a2c0d939ba17dc3420c0e72b5d920146b96af863acda675d4f307bb5b8cff25637761dfcba0cbe71c624307f45e2b87810798967b5af0798d43 + checksum: d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.60.0, @typescript-eslint/utils@npm:^5.45.0": - version: 5.60.0 - resolution: "@typescript-eslint/utils@npm:5.60.0" +"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.45.0": + version: 5.62.0 + resolution: "@typescript-eslint/utils@npm:5.62.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.60.0 - "@typescript-eslint/types": 5.60.0 - "@typescript-eslint/typescript-estree": 5.60.0 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 eslint-scope: ^5.1.1 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 00556a31fc288d2d59e85c139077c111ad2218ce817e24d02d9a50fb29c62293be7ab5200ae2a0cecce9c193a43519b690e9fd263bdc8bcef940eec005dc2bef + checksum: f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.60.0": - version: 5.60.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.60.0" +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" dependencies: - "@typescript-eslint/types": 5.60.0 + "@typescript-eslint/types": 5.62.0 eslint-visitor-keys: ^3.3.0 - checksum: 797888d1e9cfd42b92382443956f0a46d093c49bca2789699f638d79387f26c91c55b8545bfaba7b9b6d846efc6b1134df640c3975d51a8c3b57d8e6a837ab5b + checksum: 7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d languageName: node linkType: hard @@ -4045,32 +4044,32 @@ __metadata: languageName: node linkType: hard -"@verdaccio/config@npm:6.0.0-6-next.71": - version: 6.0.0-6-next.71 - resolution: "@verdaccio/config@npm:6.0.0-6-next.71" +"@verdaccio/config@npm:6.0.0-6-next.74": + version: 6.0.0-6-next.74 + resolution: "@verdaccio/config@npm:6.0.0-6-next.74" dependencies: - "@verdaccio/core": 6.0.0-6-next.71 - "@verdaccio/utils": 6.0.0-6-next.39 + "@verdaccio/core": 6.0.0-6-next.74 + "@verdaccio/utils": 6.0.0-6-next.42 debug: 4.3.4 js-yaml: 4.1.0 lodash: 4.17.21 minimatch: 3.1.2 yup: 0.32.11 - checksum: 7cb21de773342e059d28fc1049bd405c1311d4120f6ca62af3a39c8bca2bce4055ccc0fabadf1b5608cde697c5f140da85c356c64257798b68d4af1cafd4ff0f + checksum: e5f058d33d49a5734df9f8abb5e4bd2971d86956c523c45279957ea41d964a42070708d5293be379fd876cbb01d177248cf3c42c738d19cf7057dbfcde693df1 languageName: node linkType: hard -"@verdaccio/core@npm:6.0.0-6-next.71": - version: 6.0.0-6-next.71 - resolution: "@verdaccio/core@npm:6.0.0-6-next.71" +"@verdaccio/core@npm:6.0.0-6-next.74": + version: 6.0.0-6-next.74 + resolution: "@verdaccio/core@npm:6.0.0-6-next.74" dependencies: ajv: 8.12.0 core-js: 3.30.2 http-errors: 2.0.0 http-status-codes: 2.2.0 process-warning: 1.0.0 - semver: 7.5.0 - checksum: 8357deee9b0744a97aec90b90d8e7443ff191953cdac012005c333b70d72aee51b89dcfb4918c12ee716bc7e8c2a2d9adcd5276e681aa26c50a8d94065e79c0b + semver: 7.5.4 + checksum: fd67973cb6d9d368e492892d81d497d2cf6959f5a0598b4d61b738392f84a9ccafbcad2b9c8ca6dc7240e028178a84a78636d998f1db43a7abe823e3813a827a languageName: node linkType: hard @@ -4108,25 +4107,25 @@ __metadata: languageName: node linkType: hard -"@verdaccio/logger-7@npm:6.0.0-6-next.16": - version: 6.0.0-6-next.16 - resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.16" +"@verdaccio/logger-7@npm:6.0.0-6-next.19": + version: 6.0.0-6-next.19 + resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.19" dependencies: - "@verdaccio/logger-commons": 6.0.0-6-next.39 + "@verdaccio/logger-commons": 6.0.0-6-next.42 pino: 7.11.0 - checksum: 13cad11e871c28a2903e281cc147cbd9433ed30ecca397041fa8404875463c861f9f494dbb029e8f5570ce5ca6675013e7db99bc4785488fcbecd38b6cc60577 + checksum: f14ce17274ff3b8119f6b0544b07d24708e6c14a874fb7e945bb993652ef01ff96eccb0e9cdd49b5cd2e16c31c2b0d20e66413e429844e56464b3623629c580a languageName: node linkType: hard -"@verdaccio/logger-commons@npm:6.0.0-6-next.39": - version: 6.0.0-6-next.39 - resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.39" +"@verdaccio/logger-commons@npm:6.0.0-6-next.42": + version: 6.0.0-6-next.42 + resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.42" dependencies: - "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.74 "@verdaccio/logger-prettify": 6.0.0-6-next.10 colorette: 2.0.20 debug: 4.3.4 - checksum: bf71ba0c5fef3e19ef45ca7a4a6b44d9fcc4873e37445f78cf4c4747aee319664d33c0f056eec2a21228055350e08f0353edfe8743da45148c7b6cd556159945 + checksum: 012f947588755e2973a2f73243f6ecadce078de9a5a69afe3fc1c5d3f2c48fec75ba49935f8906dec72d940101fc96a3e6cfd36c6e09f36e39e50d47ec857524 languageName: node linkType: hard @@ -4143,21 +4142,21 @@ __metadata: languageName: node linkType: hard -"@verdaccio/middleware@npm:6.0.0-6-next.50": - version: 6.0.0-6-next.50 - resolution: "@verdaccio/middleware@npm:6.0.0-6-next.50" +"@verdaccio/middleware@npm:6.0.0-6-next.53": + version: 6.0.0-6-next.53 + resolution: "@verdaccio/middleware@npm:6.0.0-6-next.53" dependencies: - "@verdaccio/config": 6.0.0-6-next.71 - "@verdaccio/core": 6.0.0-6-next.71 - "@verdaccio/url": 11.0.0-6-next.37 - "@verdaccio/utils": 6.0.0-6-next.39 + "@verdaccio/config": 6.0.0-6-next.74 + "@verdaccio/core": 6.0.0-6-next.74 + "@verdaccio/url": 11.0.0-6-next.40 + "@verdaccio/utils": 6.0.0-6-next.42 debug: 4.3.4 express: 4.18.2 express-rate-limit: 5.5.1 lodash: 4.17.21 lru-cache: 7.18.3 mime: 2.6.0 - checksum: 6878fdb62f9e9f843a736be626577725941fbeb981d8fd57ff732edfaae5c7fe76367de59a41d872af455a91c3822a177c8fa9b8dbdc9aecc2d9ba670d3bf62c + checksum: ad93e542bcd6820f3ba9f951c5b919fe9e6aadde9ed914017ac19ab1db729b31aab4a8a6395e7c00d8f0d97bfd0a226f28049e129038feb71e544c392dd8d8ef languageName: node linkType: hard @@ -4186,16 +4185,16 @@ __metadata: languageName: node linkType: hard -"@verdaccio/tarball@npm:11.0.0-6-next.40": - version: 11.0.0-6-next.40 - resolution: "@verdaccio/tarball@npm:11.0.0-6-next.40" +"@verdaccio/tarball@npm:11.0.0-6-next.43": + version: 11.0.0-6-next.43 + resolution: "@verdaccio/tarball@npm:11.0.0-6-next.43" dependencies: - "@verdaccio/core": 6.0.0-6-next.71 - "@verdaccio/url": 11.0.0-6-next.37 - "@verdaccio/utils": 6.0.0-6-next.39 + "@verdaccio/core": 6.0.0-6-next.74 + "@verdaccio/url": 11.0.0-6-next.40 + "@verdaccio/utils": 6.0.0-6-next.42 debug: 4.3.4 lodash: 4.17.21 - checksum: 4075b0d6b59b0a6cf7dad6fea1edc70b5f749dd3471ee368151f127dcfa94f84df7a3374aec5564d0560630488349e3bbfe259a411b7b6de319cd42abd593c6c + checksum: e1b5bd8ba9e1a9a2b6920672f5cede450a432c29d3c837dc59bb99ae3753622a3c180a4f245b1c5991e03094ae38a2257b07098dee5236fceb7ff1f33e9f17bb languageName: node linkType: hard @@ -4206,34 +4205,34 @@ __metadata: languageName: node linkType: hard -"@verdaccio/ui-theme@npm:6.0.0-6-next.71": - version: 6.0.0-6-next.71 - resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.71" - checksum: f1062ed90b4083576111fd7bde117e6c75e24ef2eeef6bf1abe73e472e10ddd1af33ed129624c695eaa46051db2e28ed61de7e35ff1c5eec3dcc85b7544f80a4 +"@verdaccio/ui-theme@npm:6.0.0-6-next.74": + version: 6.0.0-6-next.74 + resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.74" + checksum: 887457df9282304c2650b3c0510f7e04cc63f3488746ebecc261b11fb650f3104c70a060b116185b17ad7282b2800342ec7c867d10bfac66b27ed5c539f0b321 languageName: node linkType: hard -"@verdaccio/url@npm:11.0.0-6-next.37": - version: 11.0.0-6-next.37 - resolution: "@verdaccio/url@npm:11.0.0-6-next.37" +"@verdaccio/url@npm:11.0.0-6-next.40": + version: 11.0.0-6-next.40 + resolution: "@verdaccio/url@npm:11.0.0-6-next.40" dependencies: - "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.74 debug: 4.3.4 lodash: 4.17.21 validator: 13.9.0 - checksum: b68c15c7db4134551b811f8edc5562883d8c981899d3b50fda1ea4774838f6210503170db2c6f365321162c783d2ddbd1ada0d3713c362f5f0e647b1f1a61d4e + checksum: bcce4083797591a4ffc45e4162909912487a2635bd6d541adc326261d220598b57979eeae788b3d31c8347d0583cce99ed538e0ef8b6b9e88bfc6cd45a8f6e73 languageName: node linkType: hard -"@verdaccio/utils@npm:6.0.0-6-next.39": - version: 6.0.0-6-next.39 - resolution: "@verdaccio/utils@npm:6.0.0-6-next.39" +"@verdaccio/utils@npm:6.0.0-6-next.42": + version: 6.0.0-6-next.42 + resolution: "@verdaccio/utils@npm:6.0.0-6-next.42" dependencies: - "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.74 lodash: 4.17.21 minimatch: 3.1.2 - semver: 7.5.0 - checksum: 771c96243c3f7e4f5c61a5a2e1b31bf8869bf8df51539243766d3d7b40c12cc48876ee4fc4c1d1a5b1ca988e10bc29996549e15b6ed0d805e8460eea453ac00f + semver: 7.5.4 + checksum: c3f3dbed86dc470f19909127ad660b1a78f6fb58944ba4e9114d3683444014c723372f320d329e8c6b57962f5287fe43c3201afa0b7e6d3a5dd7f88647796b0c languageName: node linkType: hard @@ -4245,12 +4244,12 @@ __metadata: linkType: hard "@yarnpkg/parsers@npm:^3.0.0-rc.18": - version: 3.0.0-rc.46 - resolution: "@yarnpkg/parsers@npm:3.0.0-rc.46" + version: 3.0.0-rc.48.1 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.48.1" dependencies: js-yaml: ^3.10.0 tslib: ^2.4.0 - checksum: c7f421c6885142f351459031c093fb2e79abcce6f4a89765a10e600bb7ab122949c54bcea2b23de9572a2b34ba29f822b17831c1c43ba50373ceb8cb5b336667 + checksum: 05197a056e9817f9fe059df303f7e0cb9b1740ffd18b4f5bc831366f8284f638973f1ae324e99300c463540ecb5a3c189c1b36f96c320d782c8224ff2954e8c2 languageName: node linkType: hard @@ -4370,12 +4369,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1": - version: 8.9.0 - resolution: "acorn@npm:8.9.0" +"acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" bin: acorn: bin/acorn - checksum: 5b51689d56f1ca5d6ea1fa58af478affd8d3396403637abcbc7caf28e1a47beb537cf1654f537b6cf4c73377f3e1aa99fd4a50674e64daefe08cb25c799ded28 + checksum: deaeebfbea6e40f6c0e1070e9b0e16e76ba484de54cbd735914d1d41d19169a450de8630b7a3a0c4e271a3b0c0b075a3427ad1a40d8a69f8747c0e8cb02ee3e2 languageName: node linkType: hard @@ -4635,12 +4634,21 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.1.3, aria-query@npm:^5.0.0, aria-query@npm:^5.1.3": - version: 5.2.1 - resolution: "aria-query@npm:5.2.1" +"aria-query@npm:5.1.3": + version: 5.1.3 + resolution: "aria-query@npm:5.1.3" + dependencies: + deep-equal: ^2.0.5 + checksum: edcbc8044c4663d6f88f785e983e6784f98cb62b4ba1e9dd8d61b725d0203e4cfca38d676aee984c31f354103461102a3d583aa4fbe4fd0a89b679744f4e5faf + languageName: node + linkType: hard + +"aria-query@npm:^5.0.0, aria-query@npm:^5.1.3": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" dependencies: dequal: ^2.0.3 - checksum: 898031f69f8e9d63c914b73f45e50316fef157aae41af682fe64e8f10c9a9d623952929df01f6524b4ce37c3b21806b04e7617e38909720fbc0fad3f207d9e09 + checksum: 2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 languageName: node linkType: hard @@ -4661,7 +4669,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": +"array-includes@npm:^3.1.6": version: 3.1.6 resolution: "array-includes@npm:3.1.6" dependencies: @@ -4734,6 +4742,20 @@ __metadata: languageName: node linkType: hard +"arraybuffer.prototype.slice@npm:^1.0.1": + version: 1.0.1 + resolution: "arraybuffer.prototype.slice@npm:1.0.1" + dependencies: + array-buffer-byte-length: ^1.0.0 + call-bind: ^1.0.2 + define-properties: ^1.2.0 + get-intrinsic: ^1.2.1 + is-array-buffer: ^3.0.2 + is-shared-array-buffer: ^1.0.2 + checksum: db460cb4a96c3c9e27a2a7eed5d0ab1fcfccae9fc8cd1b4883cbb03cd29060b373e0723e78b5c786fdec2025a0ab12eb840c72b2f26016bac906b91bc4e9e4db + languageName: node + linkType: hard + "arrify@npm:^2.0.0, arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" @@ -4916,11 +4938,11 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.5.0": - version: 29.5.0 - resolution: "babel-jest@npm:29.5.0" +"babel-jest@npm:^29.6.1": + version: 29.6.1 + resolution: "babel-jest@npm:29.6.1" dependencies: - "@jest/transform": ^29.5.0 + "@jest/transform": ^29.6.1 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 babel-preset-jest: ^29.5.0 @@ -4929,20 +4951,20 @@ __metadata: slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: 1114d3935e0f62b72e155ac79916214c078e798561be3b03d12ddd862f2849becc8516f89046719161ec457bded35d2e1fd7ddfb207a6169dd18bbb2a67ee987 + checksum: a32ac32f3b5bd66f3f8370cfd6244b0f7b18c2dd367d5829e86dea9f8516ffda63edfb2743d3e1768db93a0698b4db09cd9d22961447e0ed6fd309b5b9c22764 languageName: node linkType: hard "babel-loader@npm:^9.1.2": - version: 9.1.2 - resolution: "babel-loader@npm:9.1.2" + version: 9.1.3 + resolution: "babel-loader@npm:9.1.3" dependencies: - find-cache-dir: ^3.3.2 + find-cache-dir: ^4.0.0 schema-utils: ^4.0.0 peerDependencies: "@babel/core": ^7.12.0 webpack: ">=5" - checksum: e62ca6af7dec5e9138908ca23f0f29b0865f733d76680b0b0ebc97b1ae18dc6e9cf887c02439ee0634a16eaaef0dc000d78d20c30c348f651a55f50aea5a62ff + checksum: e3fc3c9e02bd908b37e8e8cd4f3d7280cf6ac45e33fc203aedbb615135a0fecc33bf92573b71a166a827af029d302c0b060354985cd91d510320bd70a2f949eb languageName: node linkType: hard @@ -4971,39 +4993,39 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.3": - version: 0.4.3 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.3" +"babel-plugin-polyfill-corejs2@npm:^0.4.4": + version: 0.4.4 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.4" dependencies: - "@babel/compat-data": ^7.17.7 - "@babel/helper-define-polyfill-provider": ^0.4.0 - semver: ^6.1.1 + "@babel/compat-data": ^7.22.6 + "@babel/helper-define-polyfill-provider": ^0.4.1 + "@nicolo-ribaudo/semver-v6": ^6.3.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 27e014ab6116704a201a71aefa2a377f26d0e5432d0dcb7f71930773ef0ddac7a693f3a6699721efa15ae4c83631a35dcc52cc8b3032878b2dadd0a33aeabc59 + checksum: 4bb3056ae17002776e3003314068bdd7dd8e5d4b038ce1198db84346b953e73beb8d2b4445bff831c09ff217e533466eb28e771a80c3696decc2dae1347164e3 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.8.1": - version: 0.8.1 - resolution: "babel-plugin-polyfill-corejs3@npm:0.8.1" +"babel-plugin-polyfill-corejs3@npm:^0.8.2": + version: 0.8.2 + resolution: "babel-plugin-polyfill-corejs3@npm:0.8.2" dependencies: - "@babel/helper-define-polyfill-provider": ^0.4.0 - core-js-compat: ^3.30.1 + "@babel/helper-define-polyfill-provider": ^0.4.1 + core-js-compat: ^3.31.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 90320f5e5a27bcaf9a370d86ff3a9c72fd28618e51f83a7c1e31e34f9a2d671f5ca446b1c4af806cdee6388a6868da38299b3167dd860985981feeda3f2bf1c3 + checksum: de094cc9d703a3bf6518f4312491b6f033f2db45791825499c905173b2d7d0f8ab9b1919a607eb76833907c6533a2106c951108da7689c0929354d38c661f346 languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.5.0": - version: 0.5.0 - resolution: "babel-plugin-polyfill-regenerator@npm:0.5.0" +"babel-plugin-polyfill-regenerator@npm:^0.5.1": + version: 0.5.1 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.1" dependencies: - "@babel/helper-define-polyfill-provider": ^0.4.0 + "@babel/helper-define-polyfill-provider": ^0.4.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d33f4e6f5b925754175d4058ede4d400ea92b9ad465f07a4211e4ad01a6cdb60e3a04428150eb9dd5fb7ba9c1d0cba9e22278206462b432d46d7d851b3c3cb19 + checksum: 5ec9e2ab2f031028a36f8d611f3fc3bc8347e2842e4354a28ac303e81697968549ea0ebea79cf0c28658e1e09d3a55a2a2085bb5a53d00f28bd688daa301fd6b languageName: node linkType: hard @@ -5178,26 +5200,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.2": - version: 1.20.2 - resolution: "body-parser@npm:1.20.2" - dependencies: - bytes: 3.1.2 - content-type: ~1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 - type-is: ~1.6.18 - unpipe: 1.0.0 - checksum: 06f1438fff388a2e2354c96aa3ea8147b79bfcb1262dfcc2aae68ec13723d01d5781680657b74e9f83c808266d5baf52804032fbde2b7382b89bd8cdb273ace9 - languageName: node - linkType: hard - "boxen@npm:^5.1.2": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -5242,7 +5244,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.3, browserslist@npm:^4.21.5": +"browserslist@npm:^4.21.9": version: 4.21.9 resolution: "browserslist@npm:4.21.9" dependencies: @@ -5443,9 +5445,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001503": - version: 1.0.30001506 - resolution: "caniuse-lite@npm:1.0.30001506" - checksum: 999f7e1c955a430bda94392f44fd56450f727a9f55908b1d63e6f1f1a2ac6646c6b41f79fbcf3cd800b24162e427ee56c446be9a99d62c191fa558cba91c53aa + version: 1.0.30001516 + resolution: "caniuse-lite@npm:1.0.30001516" + checksum: 64ae815c5319c7054146d8c443a34edcfce766e97b9e24cec030d4ce787b114fa949dff047cc59883967fd275b41e3dfdbe87ff53c65f475b4a7e93fa3fdb59d languageName: node linkType: hard @@ -5488,9 +5490,9 @@ __metadata: linkType: hard "chalk@npm:^5.0.0, chalk@npm:^5.2.0": - version: 5.2.0 - resolution: "chalk@npm:5.2.0" - checksum: 8a519b35c239f96e041b7f1ed8fdd79d3ca2332a8366cb957378b8a1b8a4cdfb740d19628e8bf74654d4c0917aa10cf39c20752e177a1304eac29a1168a740e9 + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 languageName: node linkType: hard @@ -5637,14 +5639,14 @@ __metadata: languageName: node linkType: hard -"clipanion@npm:3.2.0": - version: 3.2.0 - resolution: "clipanion@npm:3.2.0" +"clipanion@npm:3.2.1": + version: 3.2.1 + resolution: "clipanion@npm:3.2.1" dependencies: typanion: ^3.8.0 peerDependencies: typanion: "*" - checksum: fcc3d44145bc0e162ccf856c27437c0770ba1be863d73296d54c352621accd7675bca33f0a1bed1b1cd7dd22c695abd35e4839da85f12fc1edb77a3f8aa100f4 + checksum: 6c148bd01ae645031aeb6e9a1a16f3ce07eb754cd9981c91edcab82b09e063b805ac41e4f36039d07602334b6dbba036b030d1807c12acd7f90778a696b7ac6e languageName: node linkType: hard @@ -5723,9 +5725,9 @@ __metadata: linkType: hard "collect-v8-coverage@npm:^1.0.0": - version: 1.0.1 - resolution: "collect-v8-coverage@npm:1.0.1" - checksum: df8192811a773d10978fd25060124e4228d9a86bab40de3f18df5ce1a3730832351a52ba1c0e3915d5bd638298fc7bc9723760d25f534462746e269a6f0ac91c + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 languageName: node linkType: hard @@ -5814,10 +5816,10 @@ __metadata: languageName: node linkType: hard -"commondir@npm:^1.0.1": - version: 1.0.1 - resolution: "commondir@npm:1.0.1" - checksum: 33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 +"common-path-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "common-path-prefix@npm:3.0.0" + checksum: c4a74294e1b1570f4a8ab435285d185a03976c323caa16359053e749db4fde44e3e6586c29cd051100335e11895767cbbd27ea389108e327d62f38daf4548fdb languageName: node linkType: hard @@ -5894,7 +5896,7 @@ __metadata: languageName: node linkType: hard -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": +"content-type@npm:~1.0.4": version: 1.0.5 resolution: "content-type@npm:1.0.5" checksum: b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af @@ -5939,12 +5941,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.30.1, core-js-compat@npm:^3.30.2": - version: 3.31.0 - resolution: "core-js-compat@npm:3.31.0" +"core-js-compat@npm:^3.31.0": + version: 3.31.1 + resolution: "core-js-compat@npm:3.31.1" dependencies: - browserslist: ^4.21.5 - checksum: 09cca4c2565ddea1fb65324ef17c2dcc61e6c3ec089d8b343e6cbea2b42a9c3ae5e76a42c6faff3759a321c5e7165201db93b7b47912c4c2d1c3d6afad44f7fc + browserslist: ^4.21.9 + checksum: 2f05c5d5b04e8a69cf50f538ef3fb1932ab83bd7dc690c438c7b876049cb1515eb4ca9fa29400ed7cd5885f34c901bf6a26d9149dfff8665d8302cace7e96d72 languageName: node linkType: hard @@ -5956,9 +5958,9 @@ __metadata: linkType: hard "core-js@npm:^3.8.2": - version: 3.31.0 - resolution: "core-js@npm:3.31.0" - checksum: 6216c7ada80b2468b1297d844fa99a99da97d6156cb05270b3627d8c463fb8c17baeff74ef204ef1c905712930fe82740ba2a74e2f957e4909fd241416fe5735 + version: 3.31.1 + resolution: "core-js@npm:3.31.1" + checksum: 17b44ddc675d7e924ecf0da21dcae3dc9e26758048e3275ba05fcd1a8805d45e6bacee1335b781e9d59d0c38302d5cbfc49073ef33232387459f432852fb6cd9 languageName: node linkType: hard @@ -6321,7 +6323,33 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": +"deep-equal@npm:^2.0.5": + version: 2.2.2 + resolution: "deep-equal@npm:2.2.2" + dependencies: + array-buffer-byte-length: ^1.0.0 + call-bind: ^1.0.2 + es-get-iterator: ^1.1.3 + get-intrinsic: ^1.2.1 + is-arguments: ^1.1.1 + is-array-buffer: ^3.0.2 + is-date-object: ^1.0.5 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + isarray: ^2.0.5 + object-is: ^1.1.5 + object-keys: ^1.1.1 + object.assign: ^4.1.4 + regexp.prototype.flags: ^1.5.0 + side-channel: ^1.0.4 + which-boxed-primitive: ^1.0.2 + which-collection: ^1.0.1 + which-typed-array: ^1.1.9 + checksum: 07b46a9a848efdab223abc7e3ba612ef9168d88970c3400df185d5840a30ca384749c996ae5d7af844d6b27c42587fb73a4445c63e38aac77c2d0ed9a63faa87 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" checksum: 7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c @@ -6739,9 +6767,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.431": - version: 1.4.437 - resolution: "electron-to-chromium@npm:1.4.437" - checksum: 58825f0e645985be1874d5f9c0395ed9c8620bea347ecfa523d18ddef8dd322862e039b7fbe18bbee1bf56c38333124d01125375a4ca3271abb3d33ff2aaeae4 + version: 1.4.463 + resolution: "electron-to-chromium@npm:1.4.463" + checksum: d56cbe2d9dc9914584fbe3f443a594aaa8acf808f2a3a6e59703724a9cc87c2b5626b9a4ee9e7f50076b7969f0f46cab4952b93e2458315877bd381059904140 languageName: node linkType: hard @@ -6852,12 +6880,12 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:7.8.1": - version: 7.8.1 - resolution: "envinfo@npm:7.8.1" +"envinfo@npm:7.10.0": + version: 7.10.0 + resolution: "envinfo@npm:7.10.0" bin: envinfo: dist/cli.js - checksum: 01efe7fcf55d4b84a146bc638ef89a89a70b610957db64636ac7cc4247d627eeb1c808ed79d3cfbe3d4fed5e8ba3d61db79c1ca1a3fea9f38639561eefd68733 + checksum: ebc7792fbedca72bc829913abe0c2a3384b883903012f97b56085afd4e83d26f7dd0652403fedd99cd3e1c93d4fb0706f5d2c3dc06ac6a1eda348280a06a9dcf languageName: node linkType: hard @@ -6878,16 +6906,17 @@ __metadata: linkType: hard "es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": - version: 1.21.2 - resolution: "es-abstract@npm:1.21.2" + version: 1.22.1 + resolution: "es-abstract@npm:1.22.1" dependencies: array-buffer-byte-length: ^1.0.0 + arraybuffer.prototype.slice: ^1.0.1 available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 function.prototype.name: ^1.1.5 - get-intrinsic: ^1.2.0 + get-intrinsic: ^1.2.1 get-symbol-description: ^1.0.0 globalthis: ^1.0.3 gopd: ^1.0.1 @@ -6907,15 +6936,36 @@ __metadata: object-inspect: ^1.12.3 object-keys: ^1.1.1 object.assign: ^4.1.4 - regexp.prototype.flags: ^1.4.3 + regexp.prototype.flags: ^1.5.0 + safe-array-concat: ^1.0.0 safe-regex-test: ^1.0.0 string.prototype.trim: ^1.2.7 string.prototype.trimend: ^1.0.6 string.prototype.trimstart: ^1.0.6 + typed-array-buffer: ^1.0.0 + typed-array-byte-length: ^1.0.0 + typed-array-byte-offset: ^1.0.0 typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.9 - checksum: 7dc2c882bafbb13609b9c35c29f0717ebf5a4dbde23a73803be821f349aa38d55f324318ccebb6da83c074260622f11d0a7f4cd1e0e19f52cc03b6b5386693fb + which-typed-array: ^1.1.10 + checksum: 36abed2b7efa8dd337d938e50d0b97d070c0ef45b2257eec0ae8c3edc5c7e8f3e2906530afda5c0b8a4f44299391d078237fd5ea454ac4e9adb6f8343bf84980 + languageName: node + linkType: hard + +"es-get-iterator@npm:^1.1.3": + version: 1.1.3 + resolution: "es-get-iterator@npm:1.1.3" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + has-symbols: ^1.0.3 + is-arguments: ^1.1.1 + is-map: ^2.0.2 + is-set: ^2.0.2 + is-string: ^1.0.7 + isarray: ^2.0.5 + stop-iteration-iterator: ^1.0.0 + checksum: ebd11effa79851ea75d7f079405f9d0dc185559fd65d986c6afea59a0ff2d46c2ed8675f19f03dce7429d7f6c14ff9aede8d121fbab78d75cfda6a263030bac0 languageName: node linkType: hard @@ -6976,31 +7026,31 @@ __metadata: linkType: hard "esbuild@npm:^0.18.0": - version: 0.18.6 - resolution: "esbuild@npm:0.18.6" - dependencies: - "@esbuild/android-arm": 0.18.6 - "@esbuild/android-arm64": 0.18.6 - "@esbuild/android-x64": 0.18.6 - "@esbuild/darwin-arm64": 0.18.6 - "@esbuild/darwin-x64": 0.18.6 - "@esbuild/freebsd-arm64": 0.18.6 - "@esbuild/freebsd-x64": 0.18.6 - "@esbuild/linux-arm": 0.18.6 - "@esbuild/linux-arm64": 0.18.6 - "@esbuild/linux-ia32": 0.18.6 - "@esbuild/linux-loong64": 0.18.6 - "@esbuild/linux-mips64el": 0.18.6 - "@esbuild/linux-ppc64": 0.18.6 - "@esbuild/linux-riscv64": 0.18.6 - "@esbuild/linux-s390x": 0.18.6 - "@esbuild/linux-x64": 0.18.6 - "@esbuild/netbsd-x64": 0.18.6 - "@esbuild/openbsd-x64": 0.18.6 - "@esbuild/sunos-x64": 0.18.6 - "@esbuild/win32-arm64": 0.18.6 - "@esbuild/win32-ia32": 0.18.6 - "@esbuild/win32-x64": 0.18.6 + version: 0.18.14 + resolution: "esbuild@npm:0.18.14" + dependencies: + "@esbuild/android-arm": 0.18.14 + "@esbuild/android-arm64": 0.18.14 + "@esbuild/android-x64": 0.18.14 + "@esbuild/darwin-arm64": 0.18.14 + "@esbuild/darwin-x64": 0.18.14 + "@esbuild/freebsd-arm64": 0.18.14 + "@esbuild/freebsd-x64": 0.18.14 + "@esbuild/linux-arm": 0.18.14 + "@esbuild/linux-arm64": 0.18.14 + "@esbuild/linux-ia32": 0.18.14 + "@esbuild/linux-loong64": 0.18.14 + "@esbuild/linux-mips64el": 0.18.14 + "@esbuild/linux-ppc64": 0.18.14 + "@esbuild/linux-riscv64": 0.18.14 + "@esbuild/linux-s390x": 0.18.14 + "@esbuild/linux-x64": 0.18.14 + "@esbuild/netbsd-x64": 0.18.14 + "@esbuild/openbsd-x64": 0.18.14 + "@esbuild/sunos-x64": 0.18.14 + "@esbuild/win32-arm64": 0.18.14 + "@esbuild/win32-ia32": 0.18.14 + "@esbuild/win32-x64": 0.18.14 dependenciesMeta: "@esbuild/android-arm": optional: true @@ -7048,7 +7098,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: a5ed533def194066b82e87f2f8faab4f4d1e15136b33a67159328516687e085b5edbb9f79709bb95012198c957ae115b19a15b07c1d994ed79fc7d2bca568d69 + checksum: 0a2656670b0e1263e4cf3737f78d304aff1cf76222b2196a12dacc7b520308f8ffb6e5f62ca2d4550bd4d46c215b1d852efe5b7036c667403c0f55e88d89f360 languageName: node linkType: hard @@ -7088,13 +7138,12 @@ __metadata: linkType: hard "escodegen@npm:^2.0.0": - version: 2.0.0 - resolution: "escodegen@npm:2.0.0" + version: 2.1.0 + resolution: "escodegen@npm:2.1.0" dependencies: esprima: ^4.0.1 estraverse: ^5.2.0 esutils: ^2.0.2 - optionator: ^0.8.1 source-map: ~0.6.1 dependenciesMeta: source-map: @@ -7102,7 +7151,7 @@ __metadata: bin: escodegen: bin/escodegen.js esgenerate: bin/esgenerate.js - checksum: 7d9834841db85d7cce2026c18da56c803564ca18bd6c1e81934cc08329ac4d366fac8b571e8708a81e21143f3dada56a4e34c9a9904c8b066f13abe8d9869871 + checksum: e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 languageName: node linkType: hard @@ -7375,12 +7424,12 @@ __metadata: linkType: hard "eslint-scope@npm:^7.2.0": - version: 7.2.0 - resolution: "eslint-scope@npm:7.2.0" + version: 7.2.1 + resolution: "eslint-scope@npm:7.2.1" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: 5b48a3cc2485a3a58ca0bdecfb557c349009308a9b2afb24d070b1c0c254d445ee86d78bfee2c4ed6d1b8944307604a987c92f6d7e611e29de5d06256747a0ff + checksum: 7207497acab2be257979d43403368fb07d3172227d576e04f5906218d76ed7ee99e7116ca71c31b4e00ecc7bb0a00efd98b338c74aa9eec7b7dea7010f9e6da8 languageName: node linkType: hard @@ -7399,13 +7448,13 @@ __metadata: linkType: hard "eslint@npm:^8.28.0": - version: 8.43.0 - resolution: "eslint@npm:8.43.0" + version: 8.45.0 + resolution: "eslint@npm:8.45.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.43.0 + "@eslint/eslintrc": ^2.1.0 + "@eslint/js": 8.44.0 "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -7417,7 +7466,7 @@ __metadata: escape-string-regexp: ^4.0.0 eslint-scope: ^7.2.0 eslint-visitor-keys: ^3.4.1 - espree: ^9.5.2 + espree: ^9.6.0 esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -7427,7 +7476,6 @@ __metadata: globals: ^13.19.0 graphemer: ^1.4.0 ignore: ^5.2.0 - import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 @@ -7437,24 +7485,23 @@ __metadata: lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 + optionator: ^0.9.3 strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 1f9ff2c774e852c179ba569a3b672cbc4cf91aa59843ee32f7da363c10b5aad842672005ac04c760f6077b3471da428562274e0fcb0a78c2056866b3d36be948 + checksum: 2a043b8d3b9a5684e2f66bd446c3dc8522cc7afbb0982d0a5be76ea1f578d0e617598a7b289616a861ab8272b57f6056acb2b264bec6302c9b0921a1cfa66fdb languageName: node linkType: hard -"espree@npm:^9.5.2": - version: 9.5.2 - resolution: "espree@npm:9.5.2" +"espree@npm:^9.6.0": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: - acorn: ^8.8.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.4.1 - checksum: 6885e57b3dcea3f65211403a10077a80a57f03e6c8b45c1e1db4bc5958e0fdb5c358819c88898ea67655d25fb646836182f688156e124a05610e714d3fcb6822 + checksum: 1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 languageName: node linkType: hard @@ -7634,16 +7681,17 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.5.0": - version: 29.5.0 - resolution: "expect@npm:29.5.0" +"expect@npm:^29.0.0, expect@npm:^29.6.1": + version: 29.6.1 + resolution: "expect@npm:29.6.1" dependencies: - "@jest/expect-utils": ^29.5.0 + "@jest/expect-utils": ^29.6.1 + "@types/node": "*" jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.5.0 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 - checksum: 3c9382967217ad1453e9271e0da3f83c4aeb12272968007b90fc5873340e7fb64bf4852e1522bdf27556623d031ce62f82aaac09e485a15c6d0589d50999422d + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 + checksum: 8ffdd2c8c09d6d632ae85a1172a7e785e75f187ac0009330fa5bcb00e07a06d781b8016579952a1f0ef43e1604068fcdaade3029c8b5ffb99931f79bff57e778 languageName: node linkType: hard @@ -7769,16 +7817,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": + version: 3.3.0 + resolution: "fast-glob@npm:3.3.0" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: 08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 + checksum: 4700063a2d7c9aae178f575648580bee1fc3f02ab3f358236d77811f52332bc10a398e75c6d5ecde61216996f3308247b37d70e2ee605a0748abe147f01b8f64 languageName: node linkType: hard @@ -7796,7 +7844,7 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 @@ -7955,14 +8003,13 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.3.2": - version: 3.3.2 - resolution: "find-cache-dir@npm:3.3.2" +"find-cache-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "find-cache-dir@npm:4.0.0" dependencies: - commondir: ^1.0.1 - make-dir: ^3.0.2 - pkg-dir: ^4.1.0 - checksum: 92747cda42bff47a0266b06014610981cfbb71f55d60f2c8216bc3108c83d9745507fb0b14ecf6ab71112bed29cd6fb1a137ee7436179ea36e11287e3159e587 + common-path-prefix: ^3.0.0 + pkg-dir: ^7.0.0 + checksum: 0faa7956974726c8769671de696d24c643ca1e5b8f7a2401283caa9e07a5da093293e0a0f4bd18c920ec981d2ef945c7f5b946cde268dfc9077d833ad0293cff languageName: node linkType: hard @@ -7995,6 +8042,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: ^7.1.0 + path-exists: ^5.0.0 + checksum: 07e0314362d316b2b13f7f11ea4692d5191e718ca3f7264110127520f3347996349bf9e16805abae3e196805814bc66ef4bff2b8904dc4a6476085fc9b0eba07 + languageName: node + linkType: hard + "find-versions@npm:^4.0.0": version: 4.0.0 resolution: "find-versions@npm:4.0.0" @@ -8249,24 +8306,24 @@ __metadata: linkType: hard "gaxios@npm:^5.0.0, gaxios@npm:^5.0.1": - version: 5.1.0 - resolution: "gaxios@npm:5.1.0" + version: 5.1.3 + resolution: "gaxios@npm:5.1.3" dependencies: extend: ^3.0.2 https-proxy-agent: ^5.0.0 is-stream: ^2.0.0 - node-fetch: ^2.6.7 - checksum: 6f70109d2f5bbb05c968cc2e799cf50739f7851b540b01fcf7471eabee4c630b2b93ba15a2cf81a3bc4f03b8eaa9faf1a49d2149ef74fc3880add7a409690871 + node-fetch: ^2.6.9 + checksum: eb1fd1910491c18445b4e22932098346b3c16917caa3b71567abba296e2d3dcf53d4ede47825ec06223f8943ea35744553d66238c5ad8f3f7835d9dc8ed540ba languageName: node linkType: hard -"gcp-metadata@npm:^5.2.0": - version: 5.2.0 - resolution: "gcp-metadata@npm:5.2.0" +"gcp-metadata@npm:^5.3.0": + version: 5.3.0 + resolution: "gcp-metadata@npm:5.3.0" dependencies: gaxios: ^5.0.0 json-bigint: ^1.0.0 - checksum: 67a17a1fe2d5823bec99937e60595f865d6ae26072f33f7d88f5137e76b1d9278bba3fe8bd46e04440d7a6a6d588654c5af521010118f49f35a59aa38e1c05b4 + checksum: c0570f8ed821429444d6d9d46279831aa1b68092bd5f394928dd816c39904721f8a80ed463fcbeb607a469b1917fe24dad0e66dc4a94388620c9172a54fb5a5f languageName: node linkType: hard @@ -8284,7 +8341,7 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": version: 1.2.1 resolution: "get-intrinsic@npm:1.2.1" dependencies: @@ -8324,6 +8381,13 @@ __metadata: languageName: node linkType: hard +"get-stdin@npm:^9.0.0": + version: 9.0.0 + resolution: "get-stdin@npm:9.0.0" + checksum: 7ef2edc0c81a0644ca9f051aad8a96ae9373d901485abafaabe59fd347a1c378689d8a3d8825fb3067415d1d09dfcaa43cb9b9516ecac6b74b3138b65a8ccc6b + languageName: node + linkType: hard + "get-stream@npm:^2.2.0": version: 2.3.1 resolution: "get-stream@npm:2.3.1" @@ -8462,17 +8526,17 @@ __metadata: linkType: hard "glob@npm:^10.0.0, glob@npm:^10.2.2": - version: 10.3.0 - resolution: "glob@npm:10.3.0" + version: 10.3.3 + resolution: "glob@npm:10.3.3" dependencies: foreground-child: ^3.1.0 jackspeak: ^2.0.3 minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 - path-scurry: ^1.7.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 bin: glob: dist/cjs/src/bin.js - checksum: 0ed8f32c3ff68710b9c09d6988901bca7b20f4786e7617d2ccdc6673efaf391b562e483871747d625415c394f61abda22a6adfdce554019ad09b7515292041f9 + checksum: 50effa4208762e508def5688e4d88242db80b5913f65e9c5d5aefb707c59e66a27e845fbf18127157189f6ed0f055e2c94d7112c97a065b9cbfe002e1b26d330 languageName: node linkType: hard @@ -8572,15 +8636,15 @@ __metadata: linkType: hard "globby@npm:^13.0.0, globby@npm:^13.1.2": - version: 13.2.0 - resolution: "globby@npm:13.2.0" + version: 13.2.2 + resolution: "globby@npm:13.2.2" dependencies: dir-glob: ^3.0.1 - fast-glob: ^3.2.11 - ignore: ^5.2.0 + fast-glob: ^3.3.0 + ignore: ^5.2.4 merge2: ^1.4.1 slash: ^4.0.0 - checksum: d1ea2b09dbb24961d16413cdb45764cb63280a2a7066739df5e5b33292ce4980d9da1d168a6a135c332ea1856f921e28d8ffcc2c6c24b82d4f4208477bfe62b4 + checksum: a8d7cc7cbe5e1b2d0f81d467bbc5bc2eac35f74eaded3a6c85fc26d7acc8e6de22d396159db8a2fc340b8a342e74cac58de8f4aee74146d3d146921a76062664 languageName: node linkType: hard @@ -8606,19 +8670,19 @@ __metadata: linkType: hard "google-auth-library@npm:^8.0.2": - version: 8.8.0 - resolution: "google-auth-library@npm:8.8.0" + version: 8.9.0 + resolution: "google-auth-library@npm:8.9.0" dependencies: arrify: ^2.0.0 base64-js: ^1.3.0 ecdsa-sig-formatter: ^1.0.11 fast-text-encoding: ^1.0.0 gaxios: ^5.0.0 - gcp-metadata: ^5.2.0 + gcp-metadata: ^5.3.0 gtoken: ^6.1.0 jws: ^4.0.0 lru-cache: ^6.0.0 - checksum: f41a1d37763c593b39533bb86d5d35960c04a05f89abbed74e1270c94a2034c0029e659b02efe406794eb83a92c64f2fe1c064c9abc6afcafdd48894323a7e77 + checksum: a9b101e15ba0457d3abe548b59323211f2c34071721da73a74ba6a773e199e73736910fd7d39b0c978eb7655220ae6f90f4e0b5665419d298ab544f9159d1625 languageName: node linkType: hard @@ -8668,13 +8732,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 108415fb07ac913f17040dc336607772fcea68c7f495ef91887edddb0b0f5ff7bc1d1ab181b125ecb2f0505669ef12c9a178a3bbd2dd8e042d8c5f1d7c90331a - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -9002,12 +9059,12 @@ __metadata: linkType: hard "https-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "https-proxy-agent@npm:7.0.0" + version: 7.0.1 + resolution: "https-proxy-agent@npm:7.0.1" dependencies: agent-base: ^7.0.2 debug: 4 - checksum: 52ca5dab4c410c00673cd614013dde6ead0ad37d4fca0d2b7949914075d1e51ec398c99f05bdfc712f21a53ae80ec09bffae248c5ba01a107d9b55e6ded46de4 + checksum: f08f646809c04803843534b5e0ea5b4034beaa065ef2f9505e4afaeb2fa962a15494e563357c819203cff07232d1631739947f031149eb837a16a2f3553fbe32 languageName: node linkType: hard @@ -9110,14 +9167,14 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.0, ignore@npm:^5.0.4, ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0": +"ignore@npm:^5.0.0, ignore@npm:^5.0.4, ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 7c7cd90edd9fea6e037f9b9da4b01bf0a86b198ce78345f9bbd983929d68ff14830be31111edc5d70c264921f4962404d75b7262b4d9cc3bc12381eccbd03096 languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -9191,7 +9248,7 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.5": +"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": version: 1.0.5 resolution: "internal-slot@npm:1.0.5" dependencies: @@ -9242,7 +9299,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": +"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -9337,7 +9394,7 @@ __metadata: languageName: node linkType: hard -"is-date-object@npm:^1.0.1": +"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" dependencies: @@ -9447,6 +9504,13 @@ __metadata: languageName: node linkType: hard +"is-map@npm:^2.0.1, is-map@npm:^2.0.2": + version: 2.0.2 + resolution: "is-map@npm:2.0.2" + checksum: 119ff9137a37fd131a72fab3f4ab8c9d6a24b0a1ee26b4eff14dc625900d8675a97785eea5f4174265e2006ed076cc24e89f6e57ebd080a48338d914ec9168a5 + languageName: node + linkType: hard + "is-nan@npm:^1.2.1": version: 1.3.2 resolution: "is-nan@npm:1.3.2" @@ -9569,6 +9633,13 @@ __metadata: languageName: node linkType: hard +"is-set@npm:^2.0.1, is-set@npm:^2.0.2": + version: 2.0.2 + resolution: "is-set@npm:2.0.2" + checksum: 5f8bd1880df8c0004ce694e315e6e1e47a3452014be792880bb274a3b2cdb952fdb60789636ca6e084c7947ca8b7ae03ccaf54c93a7fcfed228af810559e5432 + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "is-shared-array-buffer@npm:1.0.2" @@ -9618,15 +9689,11 @@ __metadata: linkType: hard "is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: b71268a2e5f493f2b95af4cbfe7a65254a822f07d57f20c18f084347cd45f11810915fe37d7a6831fe4b81def24621a042fd1169ec558c50f830b591bc8c1f66 + which-typed-array: ^1.1.11 + checksum: 9863e9cc7223c6fc1c462a2c3898a7beff6b41b1ee0fabb03b7d278ae7de670b5bcbc8627db56bb66ed60902fa37d53fe5cce0fd2f7d73ac64fe5da6f409b6ae languageName: node linkType: hard @@ -9644,6 +9711,13 @@ __metadata: languageName: node linkType: hard +"is-weakmap@npm:^2.0.1": + version: 2.0.1 + resolution: "is-weakmap@npm:2.0.1" + checksum: 9c9fec9efa7bf5030a4a927f33fff2a6976b93646259f92b517d3646c073cc5b98283a162ce75c412b060a46de07032444b530f0a4c9b6e012ef8f1741c3a987 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -9653,6 +9727,16 @@ __metadata: languageName: node linkType: hard +"is-weakset@npm:^2.0.1": + version: 2.0.2 + resolution: "is-weakset@npm:2.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: ef5136bd446ae4603229b897f73efd0720c6ab3ec6cc05c8d5c4b51aa9f95164713c4cad0a22ff1fedf04865ff86cae4648bc1d5eead4b6388e1150525af1cc1 + languageName: node + linkType: hard + "is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -9669,6 +9753,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + "isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -9779,48 +9870,48 @@ __metadata: languageName: node linkType: hard -"jest-circus@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-circus@npm:29.5.0" +"jest-circus@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-circus@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/expect": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/expect": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^29.5.0 - jest-matcher-utils: ^29.5.0 - jest-message-util: ^29.5.0 - jest-runtime: ^29.5.0 - jest-snapshot: ^29.5.0 - jest-util: ^29.5.0 + jest-each: ^29.6.1 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-runtime: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 p-limit: ^3.1.0 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 pure-rand: ^6.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 77f77b826941f67e9794e185072ee612cbddf53a1cfbf736de86176b7dc54e54aef151cf31b492adaef221f550924fd60dbaa01c9b939c3a4bfb46d8392c60a8 + checksum: 9321dfabfa6fe41d4495f4fd21d1a840baacdfe9f0cc7c2346b89cd4f775ee37cc839c6d6aaac415059852bbdfafca1ed8c392999f7fbd152d6b231ca0920d1d languageName: node linkType: hard -"jest-cli@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-cli@npm:29.5.0" +"jest-cli@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-cli@npm:29.6.1" dependencies: - "@jest/core": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/core": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.5.0 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 + jest-config: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -9830,34 +9921,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: d63df7e329760bc036d11980883399de86b41a7fa93bbc2e79feef28284b096dec40afc21796504555ccbf32806bfc78cf64a63eac9093bb4f036b282b409863 + checksum: 37850378efcb5bea2d000d4c78eac5af871bcd53d3f8e60902f33f116ec847f9a3641ca78f1ca046b4c1c6e2031e084d78b01eba3592788b3e3c983c0d5a4b21 languageName: node linkType: hard -"jest-config@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-config@npm:29.5.0" +"jest-config@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-config@npm:29.6.1" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.5.0 - "@jest/types": ^29.5.0 - babel-jest: ^29.5.0 + "@jest/test-sequencer": ^29.6.1 + "@jest/types": ^29.6.1 + babel-jest: ^29.6.1 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.5.0 - jest-environment-node: ^29.5.0 + jest-circus: ^29.6.1 + jest-environment-node: ^29.6.1 jest-get-type: ^29.4.3 jest-regex-util: ^29.4.3 - jest-resolve: ^29.5.0 - jest-runner: ^29.5.0 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 + jest-resolve: ^29.6.1 + jest-runner: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -9868,19 +9959,19 @@ __metadata: optional: true ts-node: optional: true - checksum: 01780eb66815e3d31d237aab5d7611ea59e0cdf159cbab2a7c682cb08bde6d053c17a528547440fb1b0294c26ebfd5b54ad35d8c9439f6fae76960ee0bc90197 + checksum: 6f3c3ac7587b651d22b199fdc3c4ad17a08397c2fcae05543a7a81e03a7e12355aaa3c75ce39e6df5c8fd8efcd65518cf05f528f7724cb8df17aa4e44dd74ecf languageName: node linkType: hard -"jest-diff@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-diff@npm:29.5.0" +"jest-diff@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-diff@npm:29.6.1" dependencies: chalk: ^4.0.0 diff-sequences: ^29.4.3 jest-get-type: ^29.4.3 - pretty-format: ^29.5.0 - checksum: 00fda597fa6ee22774453c3cd35c2210bd7f749cf48ad7a41c13b898b2943c9c047842720eb928cdb949b9de87204d8d8987bf12aefdb2f0504f5f4112cab5b0 + pretty-format: ^29.6.1 + checksum: f067d977937744df7dd8a269e2948620e4bcb35ff70d9ea1d0fe75a47fa603ce3edc350961b671c94f8de5adb65d6bdeb0002569b59983fba56f02dd4b47d171 languageName: node linkType: hard @@ -9893,51 +9984,51 @@ __metadata: languageName: node linkType: hard -"jest-each@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-each@npm:29.5.0" +"jest-each@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-each@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 chalk: ^4.0.0 jest-get-type: ^29.4.3 - jest-util: ^29.5.0 - pretty-format: ^29.5.0 - checksum: 214f6b5adfc0d6a3e837769018b7a7b69f41e99aac939fe4730bcca23f69e3566ed23706f95a396b20e63e6b9f90990053fc3c1662808036d4f41e4d6d32641d + jest-util: ^29.6.1 + pretty-format: ^29.6.1 + checksum: b2cbea027a7d68c6a22afff1d460c866389e5c3ec1fece930b3fa79df24fb39f3ca258679de9ca0c2af4a6a70e5aa542ff6779f32d21289bdf981a7c1470aa0e languageName: node linkType: hard "jest-environment-jsdom@npm:^29.3.1": - version: 29.5.0 - resolution: "jest-environment-jsdom@npm:29.5.0" + version: 29.6.1 + resolution: "jest-environment-jsdom@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/fake-timers": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/jsdom": ^20.0.0 "@types/node": "*" - jest-mock: ^29.5.0 - jest-util: ^29.5.0 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 jsdom: ^20.0.0 peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: canvas: optional: true - checksum: 972a1bdfb1d508a359951ec11ade5dfad7cfabea0ab9f7746737ba10e0c6381e34f2b4acb03c7e5eb623611813310dfb0775eb0607c5537b7618234d04aab2ac + checksum: 457ac6f78b9b98d1a86af944469fd2cce6d16d40afa748a8226c77850b98fd376d5bbcbf2b68a72ee3748091b95321fedc4044d3def45c47b139a9b57d4757be languageName: node linkType: hard -"jest-environment-node@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-environment-node@npm:29.5.0" +"jest-environment-node@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-environment-node@npm:29.6.1" dependencies: - "@jest/environment": ^29.5.0 - "@jest/fake-timers": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-mock: ^29.5.0 - jest-util: ^29.5.0 - checksum: 2e636a095ff9a9e0aa20fda5b4c06eebed8f3ba2411062bdf724b114eedafd49b880167998af9f77aa8aa68231621aebe3998389d73433e9553ea5735cad1e14 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: 2e168708553f45c2afc42234dd78c4677d1bd34a11e0c8d43e8ca6da8e68cd55acb2215cdfc46cba8c5b1dbc0061783006ecbc214a02a5ae962602f80232d7fc languageName: node linkType: hard @@ -9948,11 +10039,11 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-haste-map@npm:29.5.0" +"jest-haste-map@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-haste-map@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 @@ -9960,14 +10051,14 @@ __metadata: fsevents: ^2.3.2 graceful-fs: ^4.2.9 jest-regex-util: ^29.4.3 - jest-util: ^29.5.0 - jest-worker: ^29.5.0 + jest-util: ^29.6.1 + jest-worker: ^29.6.1 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: 162edfa185478db9ebe7dff73f3475ef2c205d94fa2b0fc3b41aba4fc29bab274d4a76ca41ca20ea7d9d6ed2b0d8519e298cfffbf5cad6631412d8961c190612 + checksum: 6d100cd80c89d2c45175e6504eafe40ba4dfb1e77a4e204204a5f2905a4840e73ff66cee187b39e33a1af2406831a48f1f945efdf872071e19ac417eb0a3aac1 languageName: node linkType: hard @@ -10002,42 +10093,42 @@ __metadata: languageName: node linkType: hard -"jest-leak-detector@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-leak-detector@npm:29.5.0" +"jest-leak-detector@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-leak-detector@npm:29.6.1" dependencies: jest-get-type: ^29.4.3 - pretty-format: ^29.5.0 - checksum: d7db5d4a7cb676fc151f533d6887f3d6bbb4e35346346cbed0b5583c296b13af2d3c8434b30f62b0eb9c711718c7f4bd48496c47af3a20320ee162e33d64aaf2 + pretty-format: ^29.6.1 + checksum: 17e702b3a790e37dd76b93e2f782de228bb332030e478264f2eb081e1d13907f414a6ec2271b173b2516e7faa4c7b0ddd1c9c5ae9b9293ed921a9ee943fafd1a languageName: node linkType: hard -"jest-matcher-utils@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-matcher-utils@npm:29.5.0" +"jest-matcher-utils@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-matcher-utils@npm:29.6.1" dependencies: chalk: ^4.0.0 - jest-diff: ^29.5.0 + jest-diff: ^29.6.1 jest-get-type: ^29.4.3 - pretty-format: ^29.5.0 - checksum: 0a3ae95ef5c5c4ac2b2c503c2f57e173fa82725722e1fadcd902fd801afe17d9d36e9366820959465f553627bf1e481a0e4a540125f3b4371eec674b3557f7f3 + pretty-format: ^29.6.1 + checksum: 4425bcb900bd25dbd679c220ef978f80aab11a7b6bed0e178cf8fe3c7167ecefdb6f522e3cf3e877a622160f781cea02aac43a3e243dc8afca917e90418434b8 languageName: node linkType: hard -"jest-message-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-message-util@npm:29.5.0" +"jest-message-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-message-util@npm:29.6.1" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.5.0 + pretty-format: ^29.6.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 706e89cacc89c090af584f4687c4e7f0616706481e468ec7c88270e07ae7458a829e477b7b3dff56b75d801f799d65eb2c28d6453c25dd02bea0fd98f0809dbb + checksum: 7a34c7ee4efada36aa385a07e1d22f8b6183dda37f7bca15fcf2e9575e9b91ce6ea88429a0b749bc59d934327492e622913d7cd9ab23ca78c29353184795a68d languageName: node linkType: hard @@ -10063,14 +10154,14 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-mock@npm:29.5.0" +"jest-mock@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-mock@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-util: ^29.5.0 - checksum: c5b71d397d6acd44d99cd48dad8ca76334fc5a27e120da72d264d7527a9efc7c6fc431d79de64d0b73aa0ab26a2d0712498e323d42b9e03bee05e983b0d2035c + jest-util: ^29.6.1 + checksum: 26e666787d04f341887d7612b2ada7a9c86868dac319056dac46709a00fc2ee694e7a64fad8f0d5450690d779ddaacaff7a35aaf1716a165b3e1eaf56d0aa300 languageName: node linkType: hard @@ -10100,89 +10191,89 @@ __metadata: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-resolve-dependencies@npm:29.5.0" +"jest-resolve-dependencies@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-resolve-dependencies@npm:29.6.1" dependencies: jest-regex-util: ^29.4.3 - jest-snapshot: ^29.5.0 - checksum: fbe513b7d905c4a70be17fd1cb4bd83da1e82cceb47ed7ceababbe11c75f1d0c18eadeb3f4ebb6997ba979f35fa18dfd02e1d57eb556675e47b35675fde0aac7 + jest-snapshot: ^29.6.1 + checksum: 330fdc103dd1c01ae73e9e4fc4ae11d341569187a82c09aea41d50cdf9e5353d00b0405177db020b3af76cb0e402c98f2dab129afde7bcd5d99f5123d6182321 languageName: node linkType: hard -"jest-resolve@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-resolve@npm:29.5.0" +"jest-resolve@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-resolve@npm:29.6.1" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 + jest-haste-map: ^29.6.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.5.0 - jest-validate: ^29.5.0 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 resolve: ^1.20.0 resolve.exports: ^2.0.0 slash: ^3.0.0 - checksum: e7ea3b1cf865a7e63ad297d0f43a093dde145f9ca72dc8e75b6c7eb3af60fe78e4f7d024fd92fa280419a4ca038d42a9268d4d5d512958d11347e680daca1f12 + checksum: 809ee25be7a97ed33755dbe536617cb83a0a8218c81310f5927f1a2f9e82e48353d60a5b0b630b6c25bc66825d0b2197c6c569d043a8431bae01ba6e226b5a57 languageName: node linkType: hard -"jest-runner@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-runner@npm:29.5.0" +"jest-runner@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-runner@npm:29.6.1" dependencies: - "@jest/console": ^29.5.0 - "@jest/environment": ^29.5.0 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/console": ^29.6.1 + "@jest/environment": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.13.1 graceful-fs: ^4.2.9 jest-docblock: ^29.4.3 - jest-environment-node: ^29.5.0 - jest-haste-map: ^29.5.0 - jest-leak-detector: ^29.5.0 - jest-message-util: ^29.5.0 - jest-resolve: ^29.5.0 - jest-runtime: ^29.5.0 - jest-util: ^29.5.0 - jest-watcher: ^29.5.0 - jest-worker: ^29.5.0 + jest-environment-node: ^29.6.1 + jest-haste-map: ^29.6.1 + jest-leak-detector: ^29.6.1 + jest-message-util: ^29.6.1 + jest-resolve: ^29.6.1 + jest-runtime: ^29.6.1 + jest-util: ^29.6.1 + jest-watcher: ^29.6.1 + jest-worker: ^29.6.1 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: 96f47976b9bcc0554455c200d02ebc1547b9a7749b05353c0d55aff535509032c0c12ea25ccc294350f62c14665dbc1e00b15e0d1c52207edfb807e4fec4a36a + checksum: 69d4f22c06d06498ffacf658460c3b40d87d77ac924a9f1e5c176f56e49d696b86234473463a764bd227f056d6e4e3852a2e10f95c74d5861d7fc4c17101ab55 languageName: node linkType: hard -"jest-runtime@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-runtime@npm:29.5.0" - dependencies: - "@jest/environment": ^29.5.0 - "@jest/fake-timers": ^29.5.0 - "@jest/globals": ^29.5.0 - "@jest/source-map": ^29.4.3 - "@jest/test-result": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 +"jest-runtime@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-runtime@npm:29.6.1" + dependencies: + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/globals": ^29.6.1 + "@jest/source-map": ^29.6.0 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 - jest-message-util: ^29.5.0 - jest-mock: ^29.5.0 + jest-haste-map: ^29.6.1 + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 jest-regex-util: ^29.4.3 - jest-resolve: ^29.5.0 - jest-snapshot: ^29.5.0 - jest-util: ^29.5.0 + jest-resolve: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: 9b5c0a97e1f24945059695e056188041730a3f1dc5924153e323eb7429244e10e7cc877b13d057869d6621c460deae11b77a2a2e9ab56e22b56864a3e44c4448 + checksum: 79850c21fb630cb35fe23e7688daa67d387735cf2912febcd95ef4195bcc4931699d28e3b16e705fa8c2843fca958524133b1fa3fe0361bc2dac17192b40125b languageName: node linkType: hard @@ -10195,62 +10286,60 @@ __metadata: languageName: node linkType: hard -"jest-snapshot@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-snapshot@npm:29.5.0" +"jest-snapshot@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-snapshot@npm:29.6.1" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 "@babel/plugin-syntax-jsx": ^7.7.2 "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.5.0 - "@jest/transform": ^29.5.0 - "@jest/types": ^29.5.0 - "@types/babel__traverse": ^7.0.6 + "@jest/expect-utils": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.5.0 + expect: ^29.6.1 graceful-fs: ^4.2.9 - jest-diff: ^29.5.0 + jest-diff: ^29.6.1 jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.5.0 - jest-message-util: ^29.5.0 - jest-util: ^29.5.0 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 natural-compare: ^1.4.0 - pretty-format: ^29.5.0 - semver: ^7.3.5 - checksum: db9957d9c8607d75bb08302605331b5d90fa738fafeed820ab8ebcb2c90f9e62fb4fec0b4c826c04a37557cbb7a9ed26a10b0c74d46ffedce2d6ae8a9c891b00 + pretty-format: ^29.6.1 + semver: ^7.5.3 + checksum: 1322fb9b23e7316b5f83d467ce2f46a65fdfa84a67e0000825fd9ef4910e66bdc732cb16e6da406f94c18905b2a8c6bbc29000c79f31e1e3eeb57508ac233bb4 languageName: node linkType: hard -"jest-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-util@npm:29.5.0" +"jest-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-util@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: c7f1dc8ae82cd9614a31e09806499560b4812beb57589b214241dd213d3cc6d24417593aef2caf2d3d9694925438849fec371ff36ca8a7f1be8438fd41e83373 + checksum: c4765afe8769239aef6a76aa69d9c98d383e171e4745eb65c4abb2e776f7965ab762c758f740bf726ebab428bc52b099c23f37e93dc30cf1ec46b915543f80af languageName: node linkType: hard -"jest-validate@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-validate@npm:29.5.0" +"jest-validate@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-validate@npm:29.6.1" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.1 camelcase: ^6.2.0 chalk: ^4.0.0 jest-get-type: ^29.4.3 leven: ^3.1.0 - pretty-format: ^29.5.0 - checksum: 7aabde27a9b736df65902a1bb4ec63af518d4c95e12a910e7658140784168f08c662d5babe67dfa70d843dd2096bc08aa7090fef83c7a9d6bb0893793c3a599a + pretty-format: ^29.6.1 + checksum: 4f6889852b0167f9087c3a67b598365be0807d4e8cce77e246b97df3e3cd1c13d3c98c18de07080d670c9e52b81b81d0ee48fa0544eddc987d32796f50f86371 languageName: node linkType: hard @@ -10271,42 +10360,42 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-watcher@npm:29.5.0" +"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-watcher@npm:29.6.1" dependencies: - "@jest/test-result": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 emittery: ^0.13.1 - jest-util: ^29.5.0 + jest-util: ^29.6.1 string-length: ^4.0.1 - checksum: 6a2e71e720183303913fc34fc24a3f87fca7fcfa638bc6c9109a4808b36251a1cb7fe98b956eb0d9c9ead1ad47c3dc3745289ee89e62c6c615168e92282069ca + checksum: bf007eb358f27c4f180202a8ec4bae2948a9563a84da073a185375b6a5251fe6cf9bf3f02f0682d2b8c343bcc5c1c2f185703009b6a47883ef1daeefed55881c languageName: node linkType: hard -"jest-worker@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-worker@npm:29.5.0" +"jest-worker@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-worker@npm:29.6.1" dependencies: "@types/node": "*" - jest-util: ^29.5.0 + jest-util: ^29.6.1 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: 4191ec3209cb1d838c931d47c7328fec7279eb7a5d40fa86bb3fac4d34cbad835349bc366150712259a274507fd210ddb450733032394d8e0b19640b3d3ac17d + checksum: 15a5c699e6074401aac85bcc869e3be95353767f127fd41cccc97c9b38e62596a1ec336866eab180beec305da2cc7da75a663f3a5ddf63b6838ff839ef5073ec languageName: node linkType: hard "jest@npm:^29.3.1": - version: 29.5.0 - resolution: "jest@npm:29.5.0" + version: 29.6.1 + resolution: "jest@npm:29.6.1" dependencies: - "@jest/core": ^29.5.0 - "@jest/types": ^29.5.0 + "@jest/core": ^29.6.1 + "@jest/types": ^29.6.1 import-local: ^3.0.2 - jest-cli: ^29.5.0 + jest-cli: ^29.6.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -10314,7 +10403,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 32e29cfa2373530ed323ea65dfb4fd5172026349be48ebb7a2dc5660adadd1c68f6b0fe2b67cc3ee723cc34e2d4552a852730ac787251b406cf58e37a90f6dac + checksum: 2c161c63cb502265805c4982b8b722307f6a7016afdcff267eab33e727b9b737baaf8c22e0a8fedfc19634e903421a0352f0c056d26a8f24b908aaed335283c8 languageName: node linkType: hard @@ -10558,7 +10647,7 @@ __metadata: languageName: node linkType: hard -"jsonwebtoken@npm:9.0.0, jsonwebtoken@npm:^9.0.0": +"jsonwebtoken@npm:9.0.0": version: 9.0.0 resolution: "jsonwebtoken@npm:9.0.0" dependencies: @@ -10570,6 +10659,18 @@ __metadata: languageName: node linkType: hard +"jsonwebtoken@npm:9.0.1, jsonwebtoken@npm:^9.0.0": + version: 9.0.1 + resolution: "jsonwebtoken@npm:9.0.1" + dependencies: + jws: ^3.2.2 + lodash: ^4.17.21 + ms: ^2.1.1 + semver: ^7.3.8 + checksum: 3508912a0fb5ad06a09a79f655681f6fc389376fb8e7fdcaf367fbdd02e9fb5e11a7a4ff715cbe44d8be0e7a99319b03a7d34ef5daede61cf1f8d3519bbb08d6 + languageName: node + linkType: hard + "jsprim@npm:^1.2.2": version: 1.4.2 resolution: "jsprim@npm:1.4.2" @@ -10583,12 +10684,14 @@ __metadata: linkType: hard "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": - version: 3.3.3 - resolution: "jsx-ast-utils@npm:3.3.3" + version: 3.3.4 + resolution: "jsx-ast-utils@npm:3.3.4" dependencies: - array-includes: ^3.1.5 - object.assign: ^4.1.3 - checksum: fb69ce100931e50d42c8f72a01495b7d090064824ce481cf7746449609c148a29aae6984624cf9066ac14bdf7978f8774461e120d5b50fa90b3bfe0a0e21ff77 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + object.assign: ^4.1.4 + object.values: ^1.1.6 + checksum: 6761ccd830deab6a4cb8ca182c7b3627f4478138b6f4e2b680afc2b5e954635feb460ff75218b67f8694a9f8a0da6f0833a013e34961a16fbe4457fb34a0a7b2 languageName: node linkType: hard @@ -10653,11 +10756,11 @@ __metadata: linkType: hard "keyv@npm:^4.0.0": - version: 4.5.2 - resolution: "keyv@npm:4.5.2" + version: 4.5.3 + resolution: "keyv@npm:4.5.3" dependencies: json-buffer: 3.0.1 - checksum: b633bf53a5afa5591f383d326746226e110e59f13c7e1e8d3e3c9580d2c2345c5eefc21cce168cd5be7fa34b9163e391927146fbd2b7ee7aa2f3aa02b7f0a7de + checksum: 7d3fc0469962bdff75ce92402b216a23d146e0caad011424947b32b95ffc4b91df12b1206026e6e945e7f80b3729a3109c0c3984f23038d738d355491179dd79 languageName: node linkType: hard @@ -10724,16 +10827,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 - languageName: node - linkType: hard - "li@npm:^1.3.0": version: 1.3.0 resolution: "li@npm:1.3.0" @@ -10874,6 +10967,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: ^6.0.0 + checksum: 139e8a7fe11cfbd7f20db03923cacfa5db9e14fa14887ea121345597472b4a63c1a42a8a5187defeeff6acf98fd568da7382aa39682d38f0af27433953a97751 + languageName: node + linkType: hard + "lockfile@npm:1.0.4": version: 1.0.4 resolution: "lockfile@npm:1.0.4" @@ -11052,10 +11154,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^9.1.1": - version: 9.1.2 - resolution: "lru-cache@npm:9.1.2" - checksum: 886811ab451332c899c230274e7e51507c15e5b3b18f0b39fb55f558978d58799a0b1a50e04d60a448d8c970ff4e6ee718bb119083ca88abb78930284f1e0900 +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.0 + resolution: "lru-cache@npm:10.0.0" + checksum: 347b7b391091e9f91182b6f683ce04329932a542376a2d7d300637213b99f06c222a3bb0f0db59adf246dac6cef1bb509cab352451a96621d07c41b10a20495f languageName: node linkType: hard @@ -11084,7 +11186,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0": +"make-dir@npm:^3.0.0, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -11703,11 +11805,11 @@ __metadata: linkType: hard "minimatch@npm:^9.0.0, minimatch@npm:^9.0.1": - version: 9.0.1 - resolution: "minimatch@npm:9.0.1" + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: brace-expansion: ^2.0.1 - checksum: aa043eb8822210b39888a5d0d28df0017b365af5add9bd522f180d2a6962de1cbbf1bdeacdb1b17f410dc3336bc8d76fb1d3e814cdc65d00c2f68e01f0010096 + checksum: 85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac languageName: node linkType: hard @@ -11785,10 +11887,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2": - version: 6.0.2 - resolution: "minipass@npm:6.0.2" - checksum: 3878076578f44ef4078ceed10af2cfebbec1b6217bf9f7a3d8b940da8153769db29bf88498b2de0d1e0c12dfb7b634c5729b7ca03457f46435e801578add210a +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": + version: 7.0.2 + resolution: "minipass@npm:7.0.2" + checksum: 5e800acfc9dc75eacac5c4969ab50210463a8afbe8b487de1ae681106e17eb93772513854b6a38462b200b5758af95eeeb481945e050ce76f575ff1150fff4b4 languageName: node linkType: hard @@ -11959,9 +12061,9 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": - version: 2.6.11 - resolution: "node-fetch@npm:2.6.11" +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9": + version: 2.6.12 + resolution: "node-fetch@npm:2.6.12" dependencies: whatwg-url: ^5.0.0 peerDependencies: @@ -11969,7 +12071,7 @@ __metadata: peerDependenciesMeta: encoding: optional: true - checksum: 3ec847ca43f678d07b80abfd85bdf06523c2554ee9a494c992c5fc61f5d9cde9f9f16aa33ff09a62f19eee9d54813b8850d7f054cdfee8b2daf789c57f8eeaea + checksum: 10372e4b5ee07acadc15e6b2bc6fd8940582eea7b9b2a331f4e3665fdcd968498c1656f79f2fa572080ebb37ea80e1474a6478b3b36057ef901b63f4be8fd899 languageName: node linkType: hard @@ -12041,9 +12143,9 @@ __metadata: linkType: hard "node-releases@npm:^2.0.12": - version: 2.0.12 - resolution: "node-releases@npm:2.0.12" - checksum: 01f9a7c135be5c8bc989b6c10b9840a7aee09040d46ba4e64b5ea0174fb8891f1277514aef75033ce42031f6cb72a04d4a7e99c70ca25488ad63ad6fc5a5b6a0 + version: 2.0.13 + resolution: "node-releases@npm:2.0.13" + checksum: 2fb44bf70fc949d27f3a48a7fd1a9d1d603ddad4ccd091f26b3fb8b1da976605d919330d7388ccd55ca2ade0dc8b2e12841ba19ef249c8bb29bf82532d401af7 languageName: node linkType: hard @@ -12163,9 +12265,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.2": - version: 2.2.5 - resolution: "nwsapi@npm:2.2.5" - checksum: bc1cffd006ac9648085b89550be6083cdde7d7d4bd93139d4f1d7183c8cc6ca8878d8274c9f00456fd02701928d14df4f4ab2ff5422f172b9e9c1fa845dd49ce + version: 2.2.7 + resolution: "nwsapi@npm:2.2.7" + checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db languageName: node linkType: hard @@ -12290,7 +12392,7 @@ __metadata: languageName: node linkType: hard -"object-is@npm:^1.0.1": +"object-is@npm:^1.0.1, object-is@npm:^1.1.5": version: 1.1.5 resolution: "object-is@npm:1.1.5" dependencies: @@ -12307,7 +12409,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.2, object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": +"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -12441,31 +12543,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: ad7000ea661792b3ec5f8f86aac28895850988926f483b5f308f59f4607dfbe24c05df2d049532ee227c040081f39401a268cf7bbf3301512f74c4d760dc6dd8 - languageName: node - linkType: hard - -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: 8b574d50b032f34713dc09bfacdc351824f713c3c80773ead3a05ab977364de88f2f3962a6f15437747b93a5e0636928253949970daea3aaeeefbd3a525da6a4 + checksum: 66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c languageName: node linkType: hard @@ -12517,15 +12605,6 @@ __metadata: languageName: node linkType: hard -"p-event@npm:^4.1.0": - version: 4.2.0 - resolution: "p-event@npm:4.2.0" - dependencies: - p-timeout: ^3.1.0 - checksum: f1b6a2fb13d47f2a8afc00150da5ece0d28940ce3d8fa562873e091d3337d298e78fee9cb18b768598ff1d11df608b2ae23868309ff6405b864a2451ccd6d25a - languageName: node - linkType: hard - "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -12558,6 +12637,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: ^1.0.0 + checksum: a56af34a77f8df2ff61ddfb29431044557fcbcb7642d5a3233143ebba805fc7306ac1d448de724352861cb99de934bc9ab74f0d16fe6a5460bdbdf938de875ad + languageName: node + linkType: hard + "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -12585,6 +12673,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: ^4.0.0 + checksum: d72fa2f41adce59c198270aa4d3c832536c87a1806e0f69dffb7c1a7ca998fb053915ca833d90f166a8c082d3859eabfed95f01698a3214c20df6bb8de046312 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -12604,15 +12701,6 @@ __metadata: languageName: node linkType: hard -"p-timeout@npm:^3.1.0": - version: 3.2.0 - resolution: "p-timeout@npm:3.2.0" - dependencies: - p-finally: ^1.0.0 - checksum: 524b393711a6ba8e1d48137c5924749f29c93d70b671e6db761afa784726572ca06149c715632da8f70c090073afb2af1c05730303f915604fd38ee207b70a61 - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -12747,6 +12835,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: b170f3060b31604cde93eefdb7392b89d832dfbc1bed717c9718cbe0f230c1669b7e75f87e19901da2250b84d092989a0f9e44d2ef41deb09aa3ad28e691a40a + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -12782,13 +12877,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.7.0": - version: 1.9.2 - resolution: "path-scurry@npm:1.9.2" +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" dependencies: - lru-cache: ^9.1.1 - minipass: ^5.0.0 || ^6.0.2 - checksum: 99a3461a1ebc5269165170a744367a900802dc1ecc8a17a8c9700cca9b00b0938c8a06d57ec9bc9a485e430fd37c647f4029ccaf31b5f9dacedaf685cef3e69a + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e languageName: node linkType: hard @@ -12946,7 +13041,7 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": +"pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" dependencies: @@ -12964,6 +13059,15 @@ __metadata: languageName: node linkType: hard +"pkg-dir@npm:^7.0.0": + version: 7.0.0 + resolution: "pkg-dir@npm:7.0.0" + dependencies: + find-up: ^6.3.0 + checksum: 1afb23d2efb1ec9d8b2c4a0c37bf146822ad2774f074cb05b853be5dca1b40815c5960dd126df30ab8908349262a266f31b771e877235870a3b8fd313beebec5 + languageName: node + linkType: hard + "pkginfo@npm:0.4.1": version: 0.4.1 resolution: "pkginfo@npm:0.4.1" @@ -13057,13 +13161,6 @@ __metadata: languageName: node linkType: hard -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: 7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0": version: 1.0.0 resolution: "prettier-linter-helpers@npm:1.0.0" @@ -13083,9 +13180,9 @@ __metadata: linkType: hard "pretty-bytes@npm:^6.1.0": - version: 6.1.0 - resolution: "pretty-bytes@npm:6.1.0" - checksum: 717ed82f8d4bbf038b623062d360bf71fe9107c3f2c43de7d0fd3e9610780306e38059d8d8356bc2c151d2929fada934c051f7d51be2587ebe8f426268b43112 + version: 6.1.1 + resolution: "pretty-bytes@npm:6.1.1" + checksum: c7a660b933355f3b4587ad3f001c266a8dd6afd17db9f89ebc50812354bb142df4b9600396ba5999bdb1f9717300387dc311df91895c5f0f2a1780e22495b5f8 languageName: node linkType: hard @@ -13100,14 +13197,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.5.0": - version: 29.5.0 - resolution: "pretty-format@npm:29.5.0" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.6.1": + version: 29.6.1 + resolution: "pretty-format@npm:29.6.1" dependencies: - "@jest/schemas": ^29.4.3 + "@jest/schemas": ^29.6.0 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: bcc0190d050196b64e501e5c2b44beb802d79a2b70b6fe6b24ae2d5e0f31237dfcb1f0ab2ada4678829b6ee38507ba292396301aff0a8122e575ffd45d5d037c + checksum: decb4ca86b34e53a08e525d2b50be19ef4bffa4bb4122787740b012c11490311879de53dee8b669a82376b6fec06040ec546831f2c3ce0df963c00d743cce664 languageName: node linkType: hard @@ -13337,18 +13434,6 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - checksum: b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - "react-dom@npm:16.14.0": version: 16.14.0 resolution: "react-dom@npm:16.14.0" @@ -13462,14 +13547,15 @@ __metadata: linkType: hard "readable-stream@npm:^4.0.0": - version: 4.4.0 - resolution: "readable-stream@npm:4.4.0" + version: 4.4.2 + resolution: "readable-stream@npm:4.4.2" dependencies: abort-controller: ^3.0.0 buffer: ^6.0.3 events: ^3.3.0 process: ^0.11.10 - checksum: 83f5a11285e5ebefb7b22a43ea77a2275075639325b4932a328a1fb0ee2475b83b9cc94326724d71c6aa3b60fa87e2b16623530b1cac34f3825dcea0996fdbe4 + string_decoder: ^1.3.0 + checksum: cf7cc8daa2b57872d120945a20a1458c13dcb6c6f352505421115827b18ac4df0e483ac1fe195cb1f5cd226e1073fc55b92b569269d8299e8530840bcdbba40c languageName: node linkType: hard @@ -13507,15 +13593,15 @@ __metadata: linkType: hard "recast@npm:^0.23.1": - version: 0.23.2 - resolution: "recast@npm:0.23.2" + version: 0.23.3 + resolution: "recast@npm:0.23.3" dependencies: assert: ^2.0.0 ast-types: ^0.16.1 esprima: ~4.0.0 source-map: ~0.6.1 tslib: ^2.0.1 - checksum: 48addbe43930bb265b292929571d1e845a56c70913c1c75c234f11c54d20b82c7ee647bcde657fc845f545769faacd1e44e66c5d46567e9fb8bff90e86c19948 + checksum: 2f2d0ce271b187e29f8ea15bf3c319e708376145aaef2797e9a9d3e337e12178bd0d05d607baf601bb607075fbc040ca51f2d58a8bd566d8069c8a9d4b334608 languageName: node linkType: hard @@ -13561,7 +13647,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3": +"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.0": version: 1.5.0 resolution: "regexp.prototype.flags@npm:1.5.0" dependencies: @@ -14400,8 +14486,8 @@ __metadata: linkType: hard "rollup@npm:^3.2.5": - version: 3.25.1 - resolution: "rollup@npm:3.25.1" + version: 3.26.3 + resolution: "rollup@npm:3.26.3" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -14409,7 +14495,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 52ac7b8ae9dc2d47a08c7bba99b2f79a66906a8db3fce5eccc96c91315f2fb8fc2555ef212299854b463d04c0afd8cb84481e847e19d01f198c69be0261e4cbd + checksum: 41d02540dcb125150d2dc4a136e35776290eef489ed0735814afcdcfd3e0a8944cd30875daa872360e4fe8bf75bb4adf41090913a32e636722f43a5d2caf241e languageName: node linkType: hard @@ -14440,6 +14526,18 @@ __metadata: languageName: node linkType: hard +"safe-array-concat@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-array-concat@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.0 + has-symbols: ^1.0.3 + isarray: ^2.0.5 + checksum: 792d41fde9834583980912cb16bee511ce25e1759d3c467fdbbb3fc3245346a2289a6476d821713aa1ae23cc1d613d17e79c80e55adb29577f6a29e6f45e7f46 + languageName: node + linkType: hard + "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -14544,31 +14642,42 @@ __metadata: linkType: hard "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": - version: 5.7.1 - resolution: "semver@npm:5.7.1" + version: 5.7.2 + resolution: "semver@npm:5.7.2" bin: - semver: ./bin/semver - checksum: d4884f2aeca28bff35d0bd40ff0a9b2dfc4b36a883bf0ea5dc15d10d9a01bdc9041035b05f825d4b5ac8a56e490703dbf0d986d054de82cc5e9bad3f02ca6e00 + semver: bin/semver + checksum: e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 languageName: node linkType: hard -"semver@npm:7.3.4, semver@npm:7.5.0, semver@npm:7.5.1, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": - version: 7.5.2 - resolution: "semver@npm:7.5.2" +"semver@npm:7.3.4": + version: 7.3.4 + resolution: "semver@npm:7.3.4" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: d151207ab762a8067f6302076edc04e5b8da2362eb9e3f21c2567ceadfd415064936d215b4aae7791da118c230649d29089be979ffa49c5b56a6bcf82147efdd + checksum: 16b77752071597135b934bb33258badbac6c1cebbabe507ce31f68db3229acae7afa9602265c375c34df092339caa738b105e0c62240536ea1efd4767c36e674 languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": - version: 6.3.0 - resolution: "semver@npm:6.3.0" +"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 bin: - semver: ./bin/semver.js - checksum: 1f4959e15bcfbaf727e964a4920f9260141bb8805b399793160da4e7de128e42a7d1f79c1b7d5cd21a6073fba0d55feb9966f5fef3e5ccb8e1d7ead3d7527458 + semver: bin/semver.js + checksum: 5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d languageName: node linkType: hard @@ -14677,13 +14786,13 @@ __metadata: linkType: hard "simple-git@npm:^3.18.0": - version: 3.19.0 - resolution: "simple-git@npm:3.19.0" + version: 3.19.1 + resolution: "simple-git@npm:3.19.1" dependencies: "@kwsites/file-exists": ^1.1.1 "@kwsites/promise-deferred": ^1.1.1 debug: ^4.3.4 - checksum: 4dc448e663f92bed8dd2d43e07b1c3dbb2444412f39d38b710fe3dc41b1c25dae07aff1960fbf5bd17d4f8f33b6908a335c82f0b9c5db5b87c4ad1d7a2873d7e + checksum: 0f6ba68824cb97fcdd3a53dfd6e3920f00e988141f69f24ffd8ebe98c06cf963c1ebe1cf3344975e5778f26e4d093689acf3eb5aad98be05e5d3ae83036b268f languageName: node linkType: hard @@ -14821,18 +14930,19 @@ __metadata: linkType: hard "sort-package-json@npm:^2.0.0": - version: 2.4.1 - resolution: "sort-package-json@npm:2.4.1" + version: 2.5.1 + resolution: "sort-package-json@npm:2.5.1" dependencies: detect-indent: ^7.0.1 detect-newline: ^4.0.0 + get-stdin: ^9.0.0 git-hooks-list: ^3.0.0 globby: ^13.1.2 is-plain-obj: ^4.1.0 sort-object-keys: ^1.1.3 bin: sort-package-json: cli.js - checksum: 90fdf61b338f90c899c0c09e38de1826171976843889aeac1e34b87724a179140a4e89b967382635e2b0dcb3a4519c7f3dca3b219406a31f8d80e0e78d39df03 + checksum: 923d272e419110dd7d0261b54471a65db3e0b9b0097b1f762d3f65fd3f37f8468018e29bbcd64be34d446cbad268c6f2dc570adc79b356005760795935e4b32b languageName: node linkType: hard @@ -14988,6 +15098,15 @@ __metadata: languageName: node linkType: hard +"stop-iteration-iterator@npm:^1.0.0": + version: 1.0.0 + resolution: "stop-iteration-iterator@npm:1.0.0" + dependencies: + internal-slot: ^1.0.4 + checksum: c4158d6188aac510d9e92925b58709207bd94699e9c31186a040c80932a687f84a51356b5895e6dc72710aad83addb9411c22171832c9ae0e6e11b7d61b0dfb9 + languageName: node + linkType: hard + "stream-events@npm:^1.0.5": version: 1.0.5 resolution: "stream-events@npm:1.0.5" @@ -15109,7 +15228,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -15209,7 +15328,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd @@ -15244,8 +15363,8 @@ __metadata: linkType: hard "sucrase@npm:^3.20.3": - version: 3.32.0 - resolution: "sucrase@npm:3.32.0" + version: 3.33.0 + resolution: "sucrase@npm:3.33.0" dependencies: "@jridgewell/gen-mapping": ^0.3.2 commander: ^4.0.0 @@ -15257,7 +15376,7 @@ __metadata: bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: c5f2d0c49a2462da3440a14ed62caad655c27919408471141b6866b18be9b29635e8b5e9246cc476a2c3df84e94a8d5498903f0f4e765c50d95d9ff360b95f79 + checksum: 559aac6198403d4a8cd59d07165c18920e31de8f686d59e0bb86c887146c4bf867c9c60bad8e48afadff3df4fd4b4f9c1ec634ffcf0991f29f97b9c57b78314f languageName: node linkType: hard @@ -15298,9 +15417,9 @@ __metadata: linkType: hard "supports-color@npm:^9.0.0": - version: 9.3.1 - resolution: "supports-color@npm:9.3.1" - checksum: cf142b72def173b318515b9481e12288adb00f03166f32c02bd75fab66f01d044f946e38dd8912ba09fd5e81a1f572fb991448f8da73adc21d5bc58bf808f773 + version: 9.4.0 + resolution: "supports-color@npm:9.4.0" + checksum: 6c24e6b2b64c6a60e5248490cfa50de5924da32cf09ae357ad8ebbf305cc5d2717ba705a9d4cb397d80bbf39417e8fdc8d7a0ce18bd0041bf7b5b456229164e4 languageName: node linkType: hard @@ -15688,8 +15807,8 @@ __metadata: linkType: hard "ts-loader@npm:^9.4.2": - version: 9.4.3 - resolution: "ts-loader@npm:9.4.3" + version: 9.4.4 + resolution: "ts-loader@npm:9.4.4" dependencies: chalk: ^4.1.0 enhanced-resolve: ^5.0.0 @@ -15698,7 +15817,7 @@ __metadata: peerDependencies: typescript: "*" webpack: ^5.0.0 - checksum: 01f49cb016a14f9502ce34d2c8ec370694f16b627a85867e074654f495458047a90574190c592aa2a28a30fd7d01ef83cdd39a61075268058b3a2f3bceaab868 + checksum: 11dba0651d7177eba9af38c43c79a28898ffcdfe7e73079fe48716dd93ca6634d3140dbbbc3ac34907be564be2429f0299ebdc7b58ce09482fad54333ccf611c languageName: node linkType: hard @@ -15771,9 +15890,9 @@ __metadata: linkType: hard "tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0": - version: 2.5.3 - resolution: "tslib@npm:2.5.3" - checksum: 4cb1817d34fae5b27d146e6c4a468d4155097d95c1335d0bc9690f11f33e63844806bf4ed6d97c30c72b8d85261b66cbbe16d871d9c594ac05701ec83e62a607 + version: 2.6.0 + resolution: "tslib@npm:2.6.0" + checksum: 8d18020a8b9e70ecc529a744c883c095f177805efdbc9786bd50bd82a46c17547923133c5444fbcaf1f7f1c44e0e29c89f73ecf6d8fd1039668024a073a81dc6 languageName: node linkType: hard @@ -15855,9 +15974,9 @@ __metadata: linkType: hard "typanion@npm:^3.8.0": - version: 3.12.1 - resolution: "typanion@npm:3.12.1" - checksum: 90cf558a34011144d4b741d85615423f594ac769c9850677989e9c42ef6f5e1ea9be5d55c6ff00291038058273a9bc25d7271bec5db0bd05e26af9a0872fb8e6 + version: 3.13.0 + resolution: "typanion@npm:3.13.0" + checksum: eeeb03e419cd466dae97ed58c78c2752aee38db9778975773a6e9cabc7aee18f6a11e3cb0dd3c5baf76840b64de4efafffe89645e3e89832286b47580c6bfe0b languageName: node linkType: hard @@ -15870,15 +15989,6 @@ __metadata: languageName: node linkType: hard -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: ~1.1.2 - checksum: 776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 - languageName: node - linkType: hard - "type-detect@npm:4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" @@ -15887,9 +15997,9 @@ __metadata: linkType: hard "type-fest@npm:^3.11.0": - version: 3.12.0 - resolution: "type-fest@npm:3.12.0" - checksum: c51abb6bcb7f92601a9b143d0fa44cacc1d1c19041300168303476c36f05e561610b8c2457e321a107c715160a33f63f507552034d2fd49a7bc1dbb4c1de565f + version: 3.13.1 + resolution: "type-fest@npm:3.13.1" + checksum: 547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 languageName: node linkType: hard @@ -15903,6 +16013,42 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-buffer@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + is-typed-array: ^1.1.10 + checksum: ebad66cdf00c96b1395dffc7873169cf09801fca5954507a484f41f253feb1388d815db297b0b3bb8ce7421eac6f7ff45e2ec68450a3d68408aa4ae02fcf3a6c + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5 + languageName: node + linkType: hard + "typed-array-length@npm:^1.0.4": version: 1.0.4 resolution: "typed-array-length@npm:1.0.4" @@ -16563,16 +16709,16 @@ __metadata: languageName: node linkType: hard -"verdaccio-audit@npm:11.0.0-6-next.34": - version: 11.0.0-6-next.34 - resolution: "verdaccio-audit@npm:11.0.0-6-next.34" +"verdaccio-audit@npm:11.0.0-6-next.37": + version: 11.0.0-6-next.37 + resolution: "verdaccio-audit@npm:11.0.0-6-next.37" dependencies: - "@verdaccio/config": 6.0.0-6-next.71 - "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/config": 6.0.0-6-next.74 + "@verdaccio/core": 6.0.0-6-next.74 express: 4.18.2 https-proxy-agent: 5.0.1 node-fetch: cjs - checksum: 4385a069b8e34dad5c84823805b8e4c82c0f84e0fe93ecad046a2cb5272d904d89f9d5d9015b03263351ed81b43b36424fd5fb996afa2dd4c129add6b0b8e73d + checksum: b146b062ad4a55f295443ffb301d287832531173c59ffa294d016c9ba29d3cd256e04feb67c40c6fbdf8a2515d4d56e82d03f30746c3b686ff54c4ba22743393 languageName: node linkType: hard @@ -16585,11 +16731,11 @@ __metadata: languageName: node linkType: hard -"verdaccio-htpasswd@npm:11.0.0-6-next.41": - version: 11.0.0-6-next.41 - resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.41" +"verdaccio-htpasswd@npm:11.0.0-6-next.44": + version: 11.0.0-6-next.44 + resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.44" dependencies: - "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/core": 6.0.0-6-next.74 "@verdaccio/file-locking": 11.0.0-6-next.7 apache-md5: 1.1.8 bcryptjs: 2.4.3 @@ -16597,41 +16743,40 @@ __metadata: debug: 4.3.4 http-errors: 2.0.0 unix-crypt-td-js: 1.1.4 - checksum: 25478263efe9fa63dc817efe91a58cdb4b9069690fffe774937a39c294e6c0a85e15f7e80985bc2969f0e6c41028a382db1c03a5976f3adcd71e9a7c125d1615 + checksum: 60bfcef8ec382898850745b179e243c1d8f2ee0c22f16c81d517c21459b09731de6901effdc42cbc1cb7276e9006f5ea0aa167a6623517bde36ea0555f34fdf4 languageName: node linkType: hard "verdaccio@npm:^5.19.1": - version: 5.25.0 - resolution: "verdaccio@npm:5.25.0" + version: 5.26.0 + resolution: "verdaccio@npm:5.26.0" dependencies: - "@verdaccio/config": 6.0.0-6-next.71 - "@verdaccio/core": 6.0.0-6-next.71 + "@verdaccio/config": 6.0.0-6-next.74 + "@verdaccio/core": 6.0.0-6-next.74 "@verdaccio/local-storage": 10.3.3 - "@verdaccio/logger-7": 6.0.0-6-next.16 - "@verdaccio/middleware": 6.0.0-6-next.50 + "@verdaccio/logger-7": 6.0.0-6-next.19 + "@verdaccio/middleware": 6.0.0-6-next.53 "@verdaccio/search": 6.0.0-6-next.2 "@verdaccio/signature": 6.0.0-6-next.2 "@verdaccio/streams": 10.2.1 - "@verdaccio/tarball": 11.0.0-6-next.40 - "@verdaccio/ui-theme": 6.0.0-6-next.71 - "@verdaccio/url": 11.0.0-6-next.37 - "@verdaccio/utils": 6.0.0-6-next.39 + "@verdaccio/tarball": 11.0.0-6-next.43 + "@verdaccio/ui-theme": 6.0.0-6-next.74 + "@verdaccio/url": 11.0.0-6-next.40 + "@verdaccio/utils": 6.0.0-6-next.42 JSONStream: 1.3.5 async: 3.2.4 - body-parser: 1.20.2 - clipanion: 3.2.0 + clipanion: 3.2.1 compression: 1.7.4 cookies: 0.8.0 cors: 2.8.5 debug: ^4.3.4 - envinfo: 7.8.1 + envinfo: 7.10.0 express: 4.18.2 express-rate-limit: 5.5.1 fast-safe-stringify: 2.1.1 handlebars: 4.7.7 js-yaml: 4.1.0 - jsonwebtoken: 9.0.0 + jsonwebtoken: 9.0.1 kleur: 4.1.5 lodash: 4.17.21 lru-cache: 7.18.3 @@ -16640,16 +16785,13 @@ __metadata: mv: 2.1.1 pkginfo: 0.4.1 request: 2.88.2 - semver: 7.5.1 + semver: 7.5.4 validator: 13.9.0 - verdaccio-audit: 11.0.0-6-next.34 - verdaccio-htpasswd: 11.0.0-6-next.41 - dependenciesMeta: - "@verdaccio/types@11.0.0-6-next.24": - unplugged: true + verdaccio-audit: 11.0.0-6-next.37 + verdaccio-htpasswd: 11.0.0-6-next.44 bin: verdaccio: bin/verdaccio - checksum: 9d6a8bfa4865c30e96d6a4840a090cf021fa43bec0318e7b5ded97d05bf75174c7b62061baa295954f3e31e1a90562ec27cff3a550491c99271cf852bd4cff69 + checksum: 8b31d908a05c50b8bda55f72e367ae4202892744fdb49b858bf0c62383b4462200f4fc1dc5d73247ae6aa71d88ddcc35bee9ab3abc13b33459864983b28ab438 languageName: node linkType: hard @@ -16960,6 +17102,18 @@ __metadata: languageName: node linkType: hard +"which-collection@npm:^1.0.1": + version: 1.0.1 + resolution: "which-collection@npm:1.0.1" + dependencies: + is-map: ^2.0.1 + is-set: ^2.0.1 + is-weakmap: ^2.0.1 + is-weakset: ^2.0.1 + checksum: 249f913e1758ed2f06f00706007d87dc22090a80591a56917376e70ecf8fc9ab6c41d98e1c87208bb9648676f65d4b09c0e4d23c56c7afb0f0a73a27d701df5d + languageName: node + linkType: hard + "which-pm-runs@npm:^1.0.0": version: 1.1.0 resolution: "which-pm-runs@npm:1.1.0" @@ -16967,17 +17121,16 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": - version: 1.1.9 - resolution: "which-typed-array@npm:1.1.9" +"which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": + version: 1.1.11 + resolution: "which-typed-array@npm:1.1.11" dependencies: available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 for-each: ^0.3.3 gopd: ^1.0.1 has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.10 - checksum: 7edb12cfd04bfe2e2d3ec3e6046417c59e6a8c72209e4fe41fe1a1a40a3b196626c2ca63dac2a0fa2491d5c37c065dfabd2fcf7c0c15f1d19f5640fef88f6368 + checksum: 2cf4ce417beb50ae0ec3b1b479ea6d72d3e71986462ebd77344ca6398f77c7c59804eebe88f4126ce79f85edbcaa6c7783f54b0a5bf34f785eab7cbb35c30499 languageName: node linkType: hard @@ -17042,13 +17195,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": - version: 1.2.3 - resolution: "word-wrap@npm:1.2.3" - checksum: 1cb6558996deb22c909330db1f01d672feee41d7f0664492912de3de282da3f28ba2d49e87b723024e99d56ba2dac2f3ab28f8db07ac199f5e5d5e2e437833de - languageName: node - linkType: hard - "wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0" @@ -17266,6 +17412,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 + languageName: node + linkType: hard + "yup@npm:0.32.11": version: 0.32.11 resolution: "yup@npm:0.32.11" diff --git a/test-storybooks/ember-cli/package.json b/test-storybooks/ember-cli/package.json index a5914ff7344a..f2cf2b5d8dfc 100644 --- a/test-storybooks/ember-cli/package.json +++ b/test-storybooks/ember-cli/package.json @@ -1,6 +1,6 @@ { "name": "ember-example", - "version": "7.1.0-alpha.25", + "version": "7.1.0", "private": true, "scripts": { "--build-storybook": "yarn storybook-prebuild && NODE_OPTIONS=\"--preserve-symlinks --preserve-symlinks-main\" storybook build", @@ -30,13 +30,10 @@ "@storybook/addon-viewport": "portal:../../code/addons/viewport", "@storybook/addons": "portal:../../code/deprecated/addons", "@storybook/angular": "portal:../../code/frameworks/angular", - "@storybook/api": "portal:../../code/lib/api", "@storybook/blocks": "portal:../../code/lib/blocks", "@storybook/builder-manager": "portal:../../code/builders/builder-manager", "@storybook/builder-vite": "portal:../../code/builders/builder-vite", "@storybook/builder-webpack5": "portal:../../code/builders/builder-webpack5", - "@storybook/channel-postmessage": "portal:../../code/lib/channel-postmessage", - "@storybook/channel-websocket": "portal:../../code/lib/channel-websocket", "@storybook/channels": "portal:../../code/lib/channels", "@storybook/cli": "portal:../../code/lib/cli", "@storybook/client-api": "portal:../../code/deprecated/client-api", @@ -101,19 +98,19 @@ "devDependencies": { "@babel/core": "^7.22.0", "@ember/optional-features": "^2.0.0", - "@storybook/addon-a11y": "7.1.0-alpha.25", - "@storybook/addon-actions": "7.1.0-alpha.25", - "@storybook/addon-backgrounds": "7.1.0-alpha.25", - "@storybook/addon-controls": "7.1.0-alpha.25", - "@storybook/addon-docs": "7.1.0-alpha.25", - "@storybook/addon-highlight": "7.1.0-alpha.25", - "@storybook/addon-links": "7.1.0-alpha.25", - "@storybook/addon-storysource": "7.1.0-alpha.25", - "@storybook/addon-viewport": "7.1.0-alpha.25", - "@storybook/addons": "7.1.0-alpha.25", - "@storybook/ember": "7.1.0-alpha.25", + "@storybook/addon-a11y": "7.1.0", + "@storybook/addon-actions": "7.1.0", + "@storybook/addon-backgrounds": "7.1.0", + "@storybook/addon-controls": "7.1.0", + "@storybook/addon-docs": "7.1.0", + "@storybook/addon-highlight": "7.1.0", + "@storybook/addon-links": "7.1.0", + "@storybook/addon-storysource": "7.1.0", + "@storybook/addon-viewport": "7.1.0", + "@storybook/addons": "7.1.0", + "@storybook/ember": "7.1.0", "@storybook/ember-cli-storybook": "^0.2.1", - "@storybook/source-loader": "7.1.0-alpha.25", + "@storybook/source-loader": "7.1.0", "babel-loader": "^8.2.5", "broccoli-asset-rev": "^3.0.0", "browserify-zlib": "^0.2.0", @@ -133,7 +130,7 @@ "loader.js": "^4.7.0", "os-browserify": "^0.3.0", "shx": "^0.3.2", - "storybook": "7.1.0-alpha.25", + "storybook": "7.1.0", "stream-browserify": "^3.0.0", "vm-browserify": "^1.1.2", "webpack": "5", diff --git a/test-storybooks/external-docs/package.json b/test-storybooks/external-docs/package.json index 3bf8e47fc385..24827e917ec1 100644 --- a/test-storybooks/external-docs/package.json +++ b/test-storybooks/external-docs/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/external-docs", - "version": "7.1.0-alpha.25", + "version": "7.1.0", "private": true, "scripts": { "build": "next build", @@ -34,8 +34,6 @@ "@storybook/builder-manager": "portal:../../code/builders/builder-manager", "@storybook/builder-vite": "portal:../../code/builders/builder-vite", "@storybook/builder-webpack5": "portal:../../code/builders/builder-webpack5", - "@storybook/channel-postmessage": "portal:../../code/lib/channel-postmessage", - "@storybook/channel-websocket": "portal:../../code/lib/channel-websocket", "@storybook/channels": "portal:../../code/lib/channels", "@storybook/cli": "portal:../../code/lib/cli", "@storybook/client-api": "portal:../../code/deprecated/client-api", @@ -95,14 +93,14 @@ "storybook": "portal:../../code/lib/cli-storybook" }, "dependencies": { - "@storybook/addon-docs": "7.1.0-alpha.25", - "@storybook/addon-essentials": "7.1.0-alpha.25", - "@storybook/blocks": "7.1.0-alpha.25", - "@storybook/components": "7.1.0-alpha.25", - "@storybook/preview-web": "7.1.0-alpha.25", - "@storybook/react": "7.1.0-alpha.25", - "@storybook/react-webpack5": "7.1.0-alpha.25", - "@storybook/theming": "7.1.0-alpha.25", + "@storybook/addon-docs": "7.1.0", + "@storybook/addon-essentials": "7.1.0", + "@storybook/blocks": "7.1.0", + "@storybook/components": "7.1.0", + "@storybook/preview-web": "7.1.0", + "@storybook/react": "7.1.0", + "@storybook/react-webpack5": "7.1.0", + "@storybook/theming": "7.1.0", "formik": "^2.2.9", "next": "^12.1.0", "nextra": "^1.1.0", @@ -121,7 +119,7 @@ "cross-env": "^7.0.3", "eslint": "8.7.0", "eslint-config-next": "12.0.8", - "storybook": "7.1.0-alpha.25", + "storybook": "7.1.0", "typescript": "~4.9.3", "webpack": "5" } diff --git a/test-storybooks/server-kitchen-sink/package.json b/test-storybooks/server-kitchen-sink/package.json index 0421848268af..8be6d8aabb7d 100644 --- a/test-storybooks/server-kitchen-sink/package.json +++ b/test-storybooks/server-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "server-kitchen-sink", - "version": "7.1.0-alpha.25", + "version": "7.1.0", "private": true, "description": "", "keywords": [], @@ -33,13 +33,10 @@ "@storybook/addon-viewport": "portal:../../code/addons/viewport", "@storybook/addons": "portal:../../code/deprecated/addons", "@storybook/angular": "portal:../../code/frameworks/angular", - "@storybook/api": "portal:../../code/lib/api", "@storybook/blocks": "portal:../../code/lib/blocks", "@storybook/builder-manager": "portal:../../code/builders/builder-manager", "@storybook/builder-vite": "portal:../../code/builders/builder-vite", "@storybook/builder-webpack5": "portal:../../code/builders/builder-webpack5", - "@storybook/channel-postmessage": "portal:../../code/lib/channel-postmessage", - "@storybook/channel-websocket": "portal:../../code/lib/channel-websocket", "@storybook/channels": "portal:../../code/lib/channels", "@storybook/cli": "portal:../../code/lib/cli", "@storybook/client-api": "portal:../../code/deprecated/client-api", @@ -98,15 +95,15 @@ "storybook": "portal:../../code/lib/cli-storybook" }, "devDependencies": { - "@storybook/addon-a11y": "7.1.0-alpha.25", - "@storybook/addon-actions": "7.1.0-alpha.25", - "@storybook/addon-backgrounds": "7.1.0-alpha.25", - "@storybook/addon-controls": "7.1.0-alpha.25", - "@storybook/addon-highlight": "7.1.0-alpha.25", - "@storybook/addon-links": "7.1.0-alpha.25", - "@storybook/node-logger": "7.1.0-alpha.25", - "@storybook/server": "7.1.0-alpha.25", - "@storybook/server-webpack5": "7.1.0-alpha.25", + "@storybook/addon-a11y": "7.1.0", + "@storybook/addon-actions": "7.1.0", + "@storybook/addon-backgrounds": "7.1.0", + "@storybook/addon-controls": "7.1.0", + "@storybook/addon-highlight": "7.1.0", + "@storybook/addon-links": "7.1.0", + "@storybook/node-logger": "7.1.0", + "@storybook/server": "7.1.0", + "@storybook/server-webpack5": "7.1.0", "concurrently": "^5.3.0", "cors": "^2.8.5", "express": "^4.17.3", @@ -114,6 +111,6 @@ "nodemon": "^2.0.7", "pug": "^3.0.0", "safe-identifier": "^0.4.1", - "storybook": "7.1.0-alpha.25" + "storybook": "7.1.0" } } \ No newline at end of file diff --git a/test-storybooks/standalone-preview/package.json b/test-storybooks/standalone-preview/package.json index 1cc475ca07d0..6ae10e4c4a9c 100644 --- a/test-storybooks/standalone-preview/package.json +++ b/test-storybooks/standalone-preview/package.json @@ -1,6 +1,6 @@ { "name": "standalone-preview", - "version": "7.1.0-alpha.25", + "version": "7.1.0", "private": true, "scripts": { "storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true NODE_OPTIONS=\"--preserve-symlinks --preserve-symlinks-main\" storybook dev -p 9011 -c ../official-storybook --preview-url=http://localhost:1337/external-iframe.html", @@ -26,13 +26,10 @@ "@storybook/addon-viewport": "portal:../../code/addons/viewport", "@storybook/addons": "portal:../../code/deprecated/addons", "@storybook/angular": "portal:../../code/frameworks/angular", - "@storybook/api": "portal:../../code/lib/api", "@storybook/blocks": "portal:../../code/lib/blocks", "@storybook/builder-manager": "portal:../../code/builders/builder-manager", "@storybook/builder-vite": "portal:../../code/builders/builder-vite", "@storybook/builder-webpack5": "portal:../../code/builders/builder-webpack5", - "@storybook/channel-postmessage": "portal:../../code/lib/channel-postmessage", - "@storybook/channel-websocket": "portal:../../code/lib/channel-websocket", "@storybook/channels": "portal:../../code/lib/channels", "@storybook/cli": "portal:../../code/lib/cli", "@storybook/client-api": "portal:../../code/deprecated/client-api", @@ -91,14 +88,14 @@ "storybook": "portal:../../code/lib/cli-storybook" }, "devDependencies": { - "@storybook/addon-docs": "7.1.0-alpha.25", - "@storybook/cli": "7.1.0-alpha.25", - "@storybook/react": "7.1.0-alpha.25", - "@storybook/react-webpack5": "7.1.0-alpha.25", + "@storybook/addon-docs": "7.1.0", + "@storybook/cli": "7.1.0", + "@storybook/react": "7.1.0", + "@storybook/react-webpack5": "7.1.0", "cross-env": "^7.0.3", "parcel": "2.0.1", "react": "16.14.0", "react-dom": "16.14.0", - "storybook": "7.1.0-alpha.25" + "storybook": "7.1.0" } } \ No newline at end of file