diff --git a/client/web-sveltekit/BUILD.bazel b/client/web-sveltekit/BUILD.bazel index 4c0c6532a23..d0d580496c7 100644 --- a/client/web-sveltekit/BUILD.bazel +++ b/client/web-sveltekit/BUILD.bazel @@ -46,7 +46,6 @@ BUILD_DEPS = [ ":node_modules/@graphql-tools/utils", ":node_modules/@melt-ui/svelte", ":node_modules/@popperjs/core", - ":node_modules/@remix-run/router", ":node_modules/@rollup/plugin-graphql", ":node_modules/@sourcegraph/branded", ":node_modules/@sourcegraph/common", @@ -61,7 +60,6 @@ BUILD_DEPS = [ ":node_modules/lodash-es", ":node_modules/graphql", ":node_modules/prismjs", - ":node_modules/react", ":node_modules/svelte", ":node_modules/ts-key-enum", ":node_modules/vite", @@ -76,16 +74,13 @@ BUILD_DEPS = [ "//:node_modules/@reach/menu-button", "//:node_modules/@types/lodash", "//:node_modules/@types/node", - "//:node_modules/@types/react", "//:node_modules/classnames", "//:node_modules/date-fns", "//:node_modules/highlight.js", "//:node_modules/lodash", "//:node_modules/open-color", "//:node_modules/path-browserify", - "//:node_modules/react-dom", "//:node_modules/react-resizable", - "//:node_modules/react-router-dom", "//:node_modules/rxjs", "//:node_modules/uuid", "//cmd/frontend/graphqlbackend:graphql_schema", diff --git a/client/web-sveltekit/package.json b/client/web-sveltekit/package.json index b96401826ea..34933f2ca9b 100644 --- a/client/web-sveltekit/package.json +++ b/client/web-sveltekit/package.json @@ -29,7 +29,7 @@ "@storybook/addon-essentials": "^7.2.0", "@storybook/addon-interactions": "^7.2.0", "@storybook/addon-links": "^7.2.0", - "@storybook/addon-svelte-csf": "^3.0.7", + "@storybook/addon-svelte-csf": "^4.1.0", "@storybook/blocks": "^7.2.0", "@storybook/svelte": "^7.2.0", "@storybook/sveltekit": "^7.2.0", @@ -49,8 +49,6 @@ "msw-storybook-addon": "^1.8.0", "prettier": "2.8.1", "prettier-plugin-svelte": "^2.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", "signale": "^1.4.0", "storybook": "^7.2.0", "storybook-dark-mode": "^3.0.1", @@ -65,7 +63,6 @@ "dependencies": { "@melt-ui/svelte": "^0.66.2", "@popperjs/core": "^2.11.8", - "@remix-run/router": "~1.3.3", "@sourcegraph/branded": "workspace:*", "@sourcegraph/client-api": "workspace:*", "@sourcegraph/common": "workspace:*", diff --git a/client/web-sveltekit/src/app.d.ts b/client/web-sveltekit/src/app.d.ts index 3f38b4ee913..2cb234aa0c4 100644 --- a/client/web-sveltekit/src/app.d.ts +++ b/client/web-sveltekit/src/app.d.ts @@ -7,3 +7,9 @@ declare global { interface PageData {} } } + +// Importing highlight.js/lib/core or a language (highlight.js/lib/languages/*) results in +// a compiler error about not being able to find the types. Adding this declaration fixes it. +declare module 'highlight.js/lib/core' { + export * from 'highlight.js' +} diff --git a/client/web-sveltekit/src/lib/CodeMirrorBlob.svelte b/client/web-sveltekit/src/lib/CodeMirrorBlob.svelte index 7c92bd133e9..b8d9712cdaa 100644 --- a/client/web-sveltekit/src/lib/CodeMirrorBlob.svelte +++ b/client/web-sveltekit/src/lib/CodeMirrorBlob.svelte @@ -107,7 +107,7 @@ temporaryTooltip, } from '$lib/web' import { goto } from '$app/navigation' - import { type CodeIntelAPI } from '$lib/shared' + import type { CodeIntelAPI } from '$lib/shared' import { goToDefinition, openImplementations, openReferences } from './repo/blob' import type { LineOrPositionOrRange } from '$lib/common' diff --git a/client/web-sveltekit/src/lib/Paginator.svelte b/client/web-sveltekit/src/lib/Paginator.svelte index ce9953eb2d5..7bdf2e5f6e6 100644 --- a/client/web-sveltekit/src/lib/Paginator.svelte +++ b/client/web-sveltekit/src/lib/Paginator.svelte @@ -57,31 +57,33 @@
{#if showLastpageButton} {/if}
diff --git a/client/web-sveltekit/src/lib/ReactComponent.svelte b/client/web-sveltekit/src/lib/ReactComponent.svelte deleted file mode 100644 index b3f781b4187..00000000000 --- a/client/web-sveltekit/src/lib/ReactComponent.svelte +++ /dev/null @@ -1,45 +0,0 @@ - - -
diff --git a/client/web-sveltekit/src/stories/SeparatorExample.svelte b/client/web-sveltekit/src/lib/Separator.stories.svelte similarity index 59% rename from client/web-sveltekit/src/stories/SeparatorExample.svelte rename to client/web-sveltekit/src/lib/Separator.stories.svelte index 44b72d288e7..2d852d7222d 100644 --- a/client/web-sveltekit/src/stories/SeparatorExample.svelte +++ b/client/web-sveltekit/src/lib/Separator.stories.svelte @@ -1,15 +1,24 @@ - + + -
-
Left content
- -
Right content
-
+ +
+
Left content
+ +
Right content
+
+
diff --git a/client/web-sveltekit/src/lib/TreeView.stories.svelte b/client/web-sveltekit/src/lib/TreeView.stories.svelte new file mode 100644 index 00000000000..29313a3cfa1 --- /dev/null +++ b/client/web-sveltekit/src/lib/TreeView.stories.svelte @@ -0,0 +1,104 @@ + + + + + + + + + + + diff --git a/client/web-sveltekit/src/lib/UserAvatar.stories.svelte b/client/web-sveltekit/src/lib/UserAvatar.stories.svelte new file mode 100644 index 00000000000..bd122a097c1 --- /dev/null +++ b/client/web-sveltekit/src/lib/UserAvatar.stories.svelte @@ -0,0 +1,25 @@ + + + + + +

With avatarURL

+ +

With username "{username}"

+ +

With displayName "{displayName}"

+ +
diff --git a/client/web-sveltekit/src/lib/dom.ts b/client/web-sveltekit/src/lib/dom.ts index 5af437a03f4..3cb88f52282 100644 --- a/client/web-sveltekit/src/lib/dom.ts +++ b/client/web-sveltekit/src/lib/dom.ts @@ -128,6 +128,10 @@ export const restrictToViewport: Action = (nod } } +interface ComputeFitAttributes { + 'on:fit': (event: CustomEvent<{ itemCount: number }>) => void +} + /** * An action to compute the number of elements that fit inside the container. * This works by caching the position of the right hand of each child element, @@ -136,9 +140,7 @@ export const restrictToViewport: Action = (nod * Because of this this action only works for static element lists, * i.e. on initial render the node needs to contain all possible child elements. */ -export const computeFit: Action = ( - node -): ActionReturn) => void }> => { +export const computeFit: Action = node => { // Holds the cumulative width of all elements up to element i. const widths: number[] = [0] diff --git a/client/web-sveltekit/src/lib/featureflags/stores.test.ts b/client/web-sveltekit/src/lib/featureflags/stores.test.ts index 955150569f4..812440ec7a9 100644 --- a/client/web-sveltekit/src/lib/featureflags/stores.test.ts +++ b/client/web-sveltekit/src/lib/featureflags/stores.test.ts @@ -10,22 +10,22 @@ describe('featureflags', () => { useFakeTimers() const store = createFeatureFlagStore( - [{ name: 'sentinel', value: true }], + [{ name: 'search-debug', value: true }], vi .fn() - .mockResolvedValueOnce([{ name: 'sentinel', value: false }]) - .mockResolvedValueOnce([{ name: 'sentinel', value: true }]) + .mockResolvedValueOnce([{ name: 'search-debug', value: false }]) + .mockResolvedValueOnce([{ name: 'search-debug', value: true }]) ) const sub = vi.fn() store.subscribe(sub) - expect(sub).toHaveBeenLastCalledWith([{ name: 'sentinel', value: true }]) + expect(sub).toHaveBeenLastCalledWith([{ name: 'search-debug', value: true }]) await vi.advanceTimersToNextTimerAsync() - expect(sub).toHaveBeenLastCalledWith([{ name: 'sentinel', value: false }]) + expect(sub).toHaveBeenLastCalledWith([{ name: 'search-debug', value: false }]) await vi.advanceTimersToNextTimerAsync() - expect(sub).toHaveBeenLastCalledWith([{ name: 'sentinel', value: true }]) + expect(sub).toHaveBeenLastCalledWith([{ name: 'search-debug', value: true }]) useRealTimers() }) @@ -33,15 +33,15 @@ describe('featureflags', () => { describe('featureFlag()', () => { test('returns the current feature flag value', () => { - mockFeatureFlags({ sentinel: false }) + mockFeatureFlags({ 'search-debug': false }) - const store = featureFlag('sentinel') + const store = featureFlag('search-debug') const sub = vi.fn() store.subscribe(sub) expect(sub).toHaveBeenLastCalledWith(false) - mockFeatureFlags({ sentinel: true }) + mockFeatureFlags({ 'search-debug': true }) expect(sub).toHaveBeenLastCalledWith(true) unmockFeatureFlags() diff --git a/client/web-sveltekit/src/lib/react-interop.tsx b/client/web-sveltekit/src/lib/react-interop.tsx deleted file mode 100644 index b1af6264cd7..00000000000 --- a/client/web-sveltekit/src/lib/react-interop.tsx +++ /dev/null @@ -1,205 +0,0 @@ -import React, { useEffect, useMemo, type FC, type PropsWithChildren } from 'react' - -import { createRouter, type History, Action, type Location, type Router } from '@remix-run/router' -import type { Navigation } from '@sveltejs/kit' -import { RouterProvider, type RouteObject, UNSAFE_enhanceManualRouteObjects } from 'react-router-dom' - -import { RouterLink, setLinkComponent } from '@sourcegraph/wildcard' - -import { goto } from '$app/navigation' -import { navigating } from '$app/stores' -import { SettingsProvider, type SettingsCascadeOrError } from '$lib/shared' - -import { WildcardThemeContext, type WildcardTheme } from './wildcard' - -setLinkComponent(RouterLink) - -const WILDCARD_THEME: WildcardTheme = { - isBranded: true, -} - -/** - * Creates a minimal context for rendering React components inside Svelte, including a - * custom React Router router to integrate with SvelteKit. - */ -export const ReactAdapter: FC> = ({ - route, - children, - settings, -}) => { - const router = useMemo( - () => - createSvelteKitRouter([ - { - path: route, - // React.Suspense seems necessary to render the components without error - element: {children}, - }, - ]), - [route, children] - ) - - // Dispose is marked as INTERNAL but without calling it the listeners created by React - // Router are not removed. It doesn't look like React Router expects to be unmounted - // during the lifetime of the application. - useEffect(() => () => router.dispose(), [router]) - - return ( - - - - - - ) -} - -/** - * Custom router that synchronizes between the SvelteKit routing and React router. - */ -function createSvelteKitRouter(routes: RouteObject[]): Router { - return createRouter({ - routes: UNSAFE_enhanceManualRouteObjects(routes), - history: createSvelteKitHistory(), - }).initialize() -} - -/** - * Custom history that synchronizes between the SvelteKit routing and React router. - * This is a "best effort" implementation because the API used here is not very well - * documented or doesn't seem to be intended for this use case. - * - * Caveat: Using the browser back/forward buttons to navigate between hash targets on the - * same page doesn't seem to scroll the target into view. It's not clear yet why that is. - */ -function createSvelteKitHistory(): History { - let action: Action = Action.Push - - const history: History = { - get action() { - return action - }, - - get location() { - return createLocation(window.location) - }, - - createURL, - - createHref(to) { - return typeof to === 'string' ? to : toPath(createURL(to)) - }, - - go(delta) { - window.history.go(delta) - }, - - push(to, state) { - action = Action.Push - // Without this, links that are outside of the React component (i.e. Svelte) - // pointing to a path handle by the React component causes duplicate entries - // See below for more information. - // This is safe to do because the browser does the same when clicking on a - // link that navigates to the curren page. - if (createURL(to).href !== window.location.href) { - goto(createURL(to), { state: state ?? undefined }) - // Make eslint happy - .catch(() => {}) - } - }, - - replace(to, state) { - action = Action.Replace - goto(createURL(to), { state: state ?? undefined, replaceState: true }) - // Make eslint happy - .catch(() => {}) - }, - - encodeLocation(to) { - const url = createURL(to) - return { - hash: url.hash, - search: url.search, - pathname: url.pathname, - } - }, - - listen(listener) { - let prevState: Navigation | null = null - return navigating.subscribe(state => { - // Events are emitted when navigation *starts*. That means the browser URL hasn't updated yet - // I don't know whether that's relevant for React Router or not, but in order to make the - // equality check in the `push` method possible we need to wait to call `listener` until the - // navigation completed. - // This is done by storing the emitted value in `prevState` and wait until the next event, which - // will emit `null`. - // NOTE: SvelteKit does not emit events when the back/forward buttons are used to navigate between - // "hashes" on the same page. SvelteKit instead lets the browser handle these natively. However - // I noticed that at least on Notebook pages this won't scroll the target into view. - if (!state && prevState) { - switch (prevState.type) { - case 'popstate': { - action = Action.Pop - if (prevState.to) { - listener({ - action, - location: createLocation(prevState.to.url), - delta: prevState.delta ?? 0, - }) - } - break - } - case 'link': { - // This is a special case for SvelteKit. In a normal browser context it seems that `listen` - // should only handle popstate events. Listening to the SvelteKit 'link' event seems - // necessary to properly handle SvelteKit links which point to paths handled by this React - // component (it neither works without it nor with the default browser router). - // However, React Router doesn't seem to expect that `listener` can be called for "push" events - // and will subequently call `history.push`. In order to prevent a double history entry - // we are checking whether the target URL is the same as the current URL and do not call - // back to SvelteKit again if that's the case. - action = Action.Push - if (prevState.to) { - listener({ action, location: createLocation(prevState.to.url), delta: 1 }) - } - break - } - } - } - prevState = state - }) - }, - } - - return history -} - -function createURL(path: string | { pathname?: string; search?: string; hash?: string }): URL { - if (typeof path === 'string') { - return new URL(path, window.location.href) - } - const url = new URL(window.location.href) - if (path.pathname !== undefined) { - url.pathname = path.pathname - } - if (path.search !== undefined) { - url.search = path.search - } - if (path.hash !== undefined) { - url.hash = path.hash - } - return url -} - -function createLocation(target: URL | typeof window['location']): Location { - return { - pathname: target.pathname, - search: target.search, - hash: target.hash, - state: window.history.state?.usr ?? null, - key: window.history.state?.key ?? 'default', - } -} - -function toPath(location: { pathname: string; search: string; hash: string }): string { - return location.pathname + location.search + location.hash -} diff --git a/client/web-sveltekit/src/lib/repo/ActionItem.svelte b/client/web-sveltekit/src/lib/repo/ActionItem.svelte index 5acd91cf706..22ee882877c 100644 --- a/client/web-sveltekit/src/lib/repo/ActionItem.svelte +++ b/client/web-sveltekit/src/lib/repo/ActionItem.svelte @@ -82,12 +82,14 @@ {#if !disabled && url} {:else if action.command} diff --git a/client/web-sveltekit/src/lib/wildcard/ButtonGroup.svelte b/client/web-sveltekit/src/lib/wildcard/ButtonGroup.svelte index 8d72158a6b4..260bc7145ec 100644 --- a/client/web-sveltekit/src/lib/wildcard/ButtonGroup.svelte +++ b/client/web-sveltekit/src/lib/wildcard/ButtonGroup.svelte @@ -7,11 +7,11 @@ export let direction: typeof BUTTON_GROUP_DIRECTION[number] = 'horizontal' - $: className = classNames(styles.btnGroup, direction === 'vertical' && styles.btnGroupVertical) + $: buttonClass = classNames(styles.btnGroup, direction === 'vertical' && styles.btnGroupVertical) - -
+ +
diff --git a/client/web-sveltekit/src/lib/wildcard/index.ts b/client/web-sveltekit/src/lib/wildcard/index.ts index 47faa3e9b0d..b60baf23134 100644 --- a/client/web-sveltekit/src/lib/wildcard/index.ts +++ b/client/web-sveltekit/src/lib/wildcard/index.ts @@ -1,9 +1,7 @@ // We want to limit the number of imported modules as much as possible -/* eslint-disable no-restricted-imports */ export { default as Button } from './Button.svelte' export { default as ButtonGroup } from './ButtonGroup.svelte' -export { WildcardThemeContext, type WildcardTheme } from '@sourcegraph/wildcard/src/hooks/useWildcardTheme' export { default as Badge } from './Badge.svelte' export { default as DropdownMenu } from './menu/Menu.svelte' export { default as MenuLink } from './menu/MenuLink.svelte' diff --git a/client/web-sveltekit/src/routes/Header.svelte b/client/web-sveltekit/src/routes/Header.svelte index a8cd7a5aa20..d5b8a763229 100644 --- a/client/web-sveltekit/src/routes/Header.svelte +++ b/client/web-sveltekit/src/routes/Header.svelte @@ -61,7 +61,9 @@ {:else} {/if}
diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/+page.ts b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/+page.ts index dc113e6b0d9..50dfdb1c0b6 100644 --- a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/+page.ts +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/+page.ts @@ -1,32 +1,47 @@ -import { fetchRepoCommit, queryRepositoryComparisonFileDiffs } from '$lib/repo/api/commits' - import type { PageLoad } from './$types' +import { CommitQuery, DiffQuery } from './page.gql' export const load: PageLoad = async ({ parent, params }) => { - const { resolvedRevision } = await parent() - const commit = fetchRepoCommit(resolvedRevision.repo.id, params.revspec).then(data => { - if (data?.node?.__typename === 'Repository') { - return { commit: data.node.commit, repo: resolvedRevision.repo } - } - return { commit: null, repo: resolvedRevision.repo } - }) + const { + resolvedRevision: { repo }, + graphqlClient, + } = await parent() + const commit = graphqlClient + .query({ query: CommitQuery, variables: { repo: repo.id, revspec: params.revspec } }) + .then(result => { + if (result.data.node?.__typename === 'Repository') { + return result.data.node.commit + } + return null + }) return { deferred: { - commit: commit.then(result => result?.commit ?? null), - diff: commit.then(result => { - if (!result.commit?.oid || !result.commit.parents[0]?.oid) { - return null - } - return queryRepositoryComparisonFileDiffs({ - repo: result.repo.id, - base: result.commit?.parents[0].oid, - head: result.commit?.oid, - paths: [], - first: null, - after: null, + commit, + // TODO: Support pagination + diff: commit + .then(commit => { + if (!commit?.oid || !commit.parents[0]?.oid) { + return null + } + return graphqlClient.query({ + query: DiffQuery, + variables: { + repo: repo.id, + base: commit.parents[0].oid, + head: commit.oid, + paths: [], + first: null, + after: null, + }, + }) }) - }), + .then(result => { + if (result?.data.node?.__typename === 'Repository') { + return result.data.node.comparison.fileDiffs + } + return null + }), }, } } diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.gql b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.gql new file mode 100644 index 00000000000..b32fd3bc89e --- /dev/null +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.gql @@ -0,0 +1,21 @@ +#import './FileDiffHunks.gql' + +fragment FileDiff_Diff on FileDiff { + newPath + oldPath + mostRelevantFile { + canonicalURL # key field + url + } + newFile { + canonicalURL # key field + binary + } + stat { + added + deleted + } + hunks { + ...FileDiffHunks_Hunk + } +} diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.svelte b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.svelte index 8512cfd2d3a..84f27d6d296 100644 --- a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.svelte +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiff.svelte @@ -4,13 +4,13 @@ import { mdiChevronRight, mdiChevronDown } from '@mdi/js' import { numberWithCommas } from '$lib/common' - import type { FileDiffFields } from '$lib/graphql-operations' import Icon from '$lib/Icon.svelte' import DiffSquares from './DiffSquares.svelte' import FileDiffHunks from './FileDiffHunks.svelte' + import type { FileDiff_Diff } from './FileDiff.gql' - export let fileDiff: FileDiffFields + export let fileDiff: FileDiff_Diff export let expanded = !!fileDiff.newPath $: isBinary = fileDiff.newFile?.binary diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.gql b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.gql new file mode 100644 index 00000000000..b74bd3800bd --- /dev/null +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.gql @@ -0,0 +1,17 @@ +fragment FileDiffHunks_Hunk on FileDiffHunk { + oldRange { + startLine + lines + } + newRange { + startLine + lines + } + highlight(disableTimeout: false) { + lines { + kind + html + } + } + section +} diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.svelte b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.svelte index 5c783991ec3..270c446b5d5 100644 --- a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.svelte +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/FileDiffHunks.svelte @@ -1,9 +1,10 @@ {#if hunks.length === 0} diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/page.gql b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/page.gql new file mode 100644 index 00000000000..04e0ecbd2ca --- /dev/null +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/commit/[...revspec]/page.gql @@ -0,0 +1,42 @@ +#import '$lib/Commit.gql' +#import './FileDiff.gql' + +query CommitQuery($repo: ID!, $revspec: String!) { + node(id: $repo) { + ... on Repository { + id + commit(rev: $revspec) { + id + oid + parents { + id + oid + abbreviatedOID + canonicalURL + } + + ...Commit + } + } + } +} + +query DiffQuery($repo: ID!, $base: String, $head: String, $first: Int, $after: String, $paths: [String!]) { + node(id: $repo) { + ... on Repository { + id + comparison(base: $base, head: $head) { + fileDiffs(first: $first, after: $after, paths: $paths) { + nodes { + ...FileDiff_Diff + } + totalCount + pageInfo { + endCursor + hasNextPage + } + } + } + } + } +} diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/stats/contributors/+page.svelte b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/stats/contributors/+page.svelte index f2780e66a2a..fe6d87b9e96 100644 --- a/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/stats/contributors/+page.svelte +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/(validrev)/-/stats/contributors/+page.svelte @@ -54,15 +54,15 @@ {#each timePeriodButtons as [label, value]} + + + {/each} diff --git a/client/web-sveltekit/src/routes/[...repo=reporev]/RepoNotFoundError.svelte b/client/web-sveltekit/src/routes/[...repo=reporev]/RepoNotFoundError.svelte index 84e768d90af..d90cde3dec5 100644 --- a/client/web-sveltekit/src/routes/[...repo=reporev]/RepoNotFoundError.svelte +++ b/client/web-sveltekit/src/routes/[...repo=reporev]/RepoNotFoundError.svelte @@ -1,7 +1,6 @@ - -

Default

- - - - - - {#each BADGE_VARIANTS as variant} - - - - - - - - {/each} - -
Variantpill=truesmall=truepill=true small=true
{variant}Badge BadgeBadgeBadge
- -

Custom elements

- - I'm a link - - - diff --git a/client/web-sveltekit/src/stories/ForceUpdate.svelte b/client/web-sveltekit/src/stories/ForceUpdate.svelte deleted file mode 100644 index a5293496759..00000000000 --- a/client/web-sveltekit/src/stories/ForceUpdate.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - - -{#key $$restProps} - -{/key} diff --git a/client/web-sveltekit/src/stories/HistoryPanel.stories.ts b/client/web-sveltekit/src/stories/HistoryPanel.stories.ts deleted file mode 100644 index a972a3299b8..00000000000 --- a/client/web-sveltekit/src/stories/HistoryPanel.stories.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/svelte' - -import HistoryPanel from '$lib/repo/HistoryPanel.svelte' -import { createHistoryResults } from '$testdata' - -import ForceUpdate from './ForceUpdate.svelte' - -const meta: Meta = { - title: 'stories/HistoryPanel', - parameters: { - fullscreen: true, - }, -} - -export default meta - -export const Default: StoryObj<{ commitCount: number }> = { - render: args => { - const [initial, next] = createHistoryResults(2, args.commitCount) - - return { - Component: ForceUpdate, - props: { - component: HistoryPanel, - history: Promise.resolve(initial), - fetchMoreHandler: async () => next, - }, - } - }, - args: { - commitCount: 5, - }, -} diff --git a/client/web-sveltekit/src/stories/Separator.stories.ts b/client/web-sveltekit/src/stories/Separator.stories.ts deleted file mode 100644 index fb28a48a9a6..00000000000 --- a/client/web-sveltekit/src/stories/Separator.stories.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/svelte' - -import SeparatorExample from './SeparatorExample.svelte' - -const meta: Meta = { - component: SeparatorExample, -} - -export default meta -type Story = StoryObj - -export const SplitPane: Story = {} diff --git a/client/web-sveltekit/src/stories/Timestamp.stories.ts b/client/web-sveltekit/src/stories/Timestamp.stories.ts deleted file mode 100644 index 87215ea23d8..00000000000 --- a/client/web-sveltekit/src/stories/Timestamp.stories.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/svelte' - -import TimestampExample from './TimestampExample.svelte' - -const meta: Meta = { - component: TimestampExample, -} - -export default meta -type Story = StoryObj - -export const Timestamp: Story = {} diff --git a/client/web-sveltekit/src/stories/Tooltip.stories.ts b/client/web-sveltekit/src/stories/Tooltip.stories.ts deleted file mode 100644 index 1b4dd9ea4aa..00000000000 --- a/client/web-sveltekit/src/stories/Tooltip.stories.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/svelte' - -import TooltipExample from './TooltipExample.svelte' - -const meta: Meta = { - component: TooltipExample, -} - -export default meta -type Story = StoryObj - -export const Tooltip: Story = {} diff --git a/client/web-sveltekit/src/stories/TooltipExample.svelte b/client/web-sveltekit/src/stories/TooltipExample.svelte deleted file mode 100644 index 737f277589a..00000000000 --- a/client/web-sveltekit/src/stories/TooltipExample.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - -

Static Tooltip

-

- - Hover over me - -

- -

Dynamic Tooltip

-

- Move the mouse over - - count++}>this text - - to update the counter in the tooltip. -

- -

Tooltip placement

- - {#each placements as placement} - - - - - {/each} -
{placement}Trigger
- - diff --git a/client/web-sveltekit/src/stories/TreeView.example.svelte b/client/web-sveltekit/src/stories/TreeView.example.svelte deleted file mode 100644 index 88342747545..00000000000 --- a/client/web-sveltekit/src/stories/TreeView.example.svelte +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - {entry.name} - - - - diff --git a/client/web-sveltekit/src/stories/TreeView.stories.ts b/client/web-sveltekit/src/stories/TreeView.stories.ts deleted file mode 100644 index ed7127c7e10..00000000000 --- a/client/web-sveltekit/src/stories/TreeView.stories.ts +++ /dev/null @@ -1,71 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/svelte' - -import { createEmptySingleSelectTreeState, type TreeProvider } from '$lib/TreeView' - -import TreeViewExample from './TreeView.example.svelte' - -// Keep in sync with TreeView.example.svelte (can't be imported for some reason) -interface ExampleData { - name: string - children?: ExampleData[] -} - -class ExampleProvider implements TreeProvider { - constructor(private nodes: ExampleData[], private parentPath: string = '') {} - isSelectable(_entry: ExampleData): boolean { - return true - } - isExpandable(entry: ExampleData): boolean { - return !!entry.children - } - getNodeID(entry: ExampleData): string { - return this.parentPath + entry.name - } - getEntries(): ExampleData[] { - return this.nodes - } - fetchChildren(entry: ExampleData): Promise> { - return Promise.resolve(new ExampleProvider(entry.children ?? [], `${this.parentPath}${entry.name}/`)) - } -} - -type TreeConfig = [number, ...(TreeConfig | undefined)[]] - -function makeExampleData(config: TreeConfig, level = 0): ExampleData[] { - const [n, ...children] = config - return Array.from({ length: n }, (_, i) => ({ - name: `level${level}-${i + 1}`, - children: children[i] ? makeExampleData(children[i]!, level + 1) : undefined, - })) -} - -const meta = { - component: TreeViewExample, -} satisfies Meta - -export default meta -type Story = StoryObj - -export const Simple: Story = { - render: args => ({ - Component: TreeViewExample, - props: args, - }), - args: { - treeProvider: new ExampleProvider(makeExampleData([3, [2], [3]])), - treeState: createEmptySingleSelectTreeState(), - }, -} - -export const DeeplyNested: Story = { - render: args => ({ - Component: TreeViewExample, - props: args, - }), - args: { - treeProvider: new ExampleProvider( - makeExampleData([5, [3, [2, [2, [3]]], [1], [2, [1, [2]]]], , [3, [2, [2], [3]], [1], [2, [1, [2]]]], [3]]) - ), - treeState: createEmptySingleSelectTreeState(), - }, -} diff --git a/client/web-sveltekit/src/stories/UserAvatar.stories.ts b/client/web-sveltekit/src/stories/UserAvatar.stories.ts deleted file mode 100644 index 60ec1dde834..00000000000 --- a/client/web-sveltekit/src/stories/UserAvatar.stories.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { faker } from '@faker-js/faker' -import type { Meta, StoryObj } from '@storybook/svelte' - -import UserAvatar from '$lib/UserAvatar.svelte' - -const meta: Meta = { - component: UserAvatar, -} - -export default meta -type Story = StoryObj - -export const WithAvatarUrl: Story = { - args: { - user: { - avatarURL: faker.internet.avatar(), - }, - }, -} - -export const WithUsername: Story = { - args: { - user: { - username: 'hunter', - }, - }, -} - -export const WithDisplayName: Story = { - args: { - user: { - displayName: 'John Doe', - }, - }, -} diff --git a/client/web-sveltekit/src/testdata.ts b/client/web-sveltekit/src/testdata.ts index de5d8d62940..396a63c31e1 100644 --- a/client/web-sveltekit/src/testdata.ts +++ b/client/web-sveltekit/src/testdata.ts @@ -52,11 +52,11 @@ export function createGitCommit(initial?: Partial): GitCommitFi oid, abbreviatedOID: oid.slice(0, 7), url: faker.internet.url(), + canonicalURL: faker.internet.url(), } }, { count: { min: 1, max: 2 } } ), - url: faker.internet.url(), canonicalURL: faker.internet.url(), externalURLs: [], ...initial, diff --git a/client/web-sveltekit/src/testing/graphql.ts b/client/web-sveltekit/src/testing/graphql.ts new file mode 100644 index 00000000000..5a696999bc3 --- /dev/null +++ b/client/web-sveltekit/src/testing/graphql.ts @@ -0,0 +1,7 @@ +import { ApolloClient, InMemoryCache, type NormalizedCacheObject } from '@apollo/client/core' + +export function createTestGraphqlClient(): ApolloClient { + return new ApolloClient({ + cache: new InMemoryCache(), + }) +} diff --git a/client/web-sveltekit/src/testing/mocks.ts b/client/web-sveltekit/src/testing/mocks.ts index dd1592b6f17..7cf5f568922 100644 --- a/client/web-sveltekit/src/testing/mocks.ts +++ b/client/web-sveltekit/src/testing/mocks.ts @@ -12,7 +12,7 @@ let fakerRefDate: Date /** * Use fake timers and optionally set the current date and reference date for data generation. */ -export function useFakeTimers(refDate?: Date) { +export function useFakeTimers(refDate?: Date): void { if (!refDate) { refDate = faker.defaultRefDate() } else { @@ -28,7 +28,7 @@ export function useFakeTimers(refDate?: Date) { * Use real timers. The reference date for date generation will be * restored to a fixed default value. */ -export function useRealTimers() { +export function useRealTimers(): void { faker.setDefaultRefDate(fakerRefDate) vi.useFakeTimers() vi.useRealTimers() @@ -37,18 +37,18 @@ export function useRealTimers() { /** * Mocks arbitrary Svelte context values */ -export function mockSvelteContext(key: any, value: T) { +export function mockSvelteContext(key: any, value: T): void { mockedContexts.set(key, value) } /** * Unmock SvelteContext */ -export function unmockSvelteContext(key: any) { +export function unmockSvelteContext(key: any): void { mockedContexts.delete(key) } -// Stores all mocke context values +// Stores all mocked context values export const mockedContexts = new Map() type SourcegraphContextKey = keyof SourcegraphContext @@ -64,7 +64,6 @@ const mockedSourcgraphContext: { client: unmocked, settings: writable({}), featureFlags: writable([]), - isLightTheme: writable(true), temporarySettingsStorage: unmocked, } @@ -95,7 +94,7 @@ mockedContexts.set( * calling `unmockFeatureFlags` in between then subsequent calls will update the underlying feature flag * store, updating all subscribers. */ -export function mockFeatureFlags(evaluatedFeatureFlags: Partial>) { +export function mockFeatureFlags(evaluatedFeatureFlags: Partial>): void { const flags = Object.entries(evaluatedFeatureFlags).map(([name, value]) => ({ name, value })) if (mockedSourcgraphContext.featureFlags === unmocked) { @@ -108,7 +107,7 @@ export function mockFeatureFlags(evaluatedFeatureFlags: Partial) { +export function mockUserSettings(settings: Partial): void { if (mockedSourcgraphContext.settings === unmocked) { mockedSourcgraphContext.settings = writable(settings) } else { @@ -128,6 +127,6 @@ export function mockUserSettings(settings: Partial) { /** * Unmock all user settings. */ -export function unmockUserSettings() { +export function unmockUserSettings(): void { mockedSourcgraphContext.settings = writable({}) } diff --git a/client/web-sveltekit/svelte.config.js b/client/web-sveltekit/svelte.config.js index 7d5c1d796fb..d294d9effef 100644 --- a/client/web-sveltekit/svelte.config.js +++ b/client/web-sveltekit/svelte.config.js @@ -54,8 +54,8 @@ const config = { $root: '../../', // Used inside tests for easy access to helpers $testdata: 'src/testdata.ts', - // Makes it easier to refer to files outside packages (such as images) $mocks: 'src/testing/mocks.ts', + $testing: 'src/testing', // Map node-module to browser version path: '../../node_modules/path-browserify', // These are directories and cannot be imported from directly in diff --git a/client/web-sveltekit/vite.config.ts b/client/web-sveltekit/vite.config.ts index 066d97d9a87..c1ee44b6ce2 100644 --- a/client/web-sveltekit/vite.config.ts +++ b/client/web-sveltekit/vite.config.ts @@ -22,7 +22,7 @@ function generateGraphQLTypes(): Plugin { documents: ['src/{lib,routes}/**/*.ts', '!src/lib/graphql-{operations,types}.ts'], config: { onlyOperationTypes: true, - enumValues: '$lib/graphql-types.ts', + enumValues: '$lib/graphql-types', //interfaceNameForOperations: 'SvelteKitGraphQlOperations', }, plugins: ['typescript', 'typescript-operations'], @@ -34,7 +34,7 @@ function generateGraphQLTypes(): Plugin { documents: ['src/**/*.gql', '!src/**/*.gql.d.ts'], preset: 'near-operation-file', presetConfig: { - baseTypesPath: 'lib/graphql-types.ts', + baseTypesPath: 'lib/graphql-types', extension: '.gql.d.ts', }, config: { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9fc54d6f72..b2fac338911 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1384,9 +1384,6 @@ importers: '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 - '@remix-run/router': - specifier: ~1.3.3 - version: 1.3.3 '@sourcegraph/branded': specifier: workspace:* version: link:../branded @@ -1450,19 +1447,19 @@ importers: version: 2.0.4(graphql@15.4.0) '@storybook/addon-essentials': specifier: ^7.2.0 - version: 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + version: 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/addon-interactions': specifier: ^7.2.0 - version: 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + version: 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/addon-links': specifier: ^7.2.0 - version: 7.4.6(react-dom@18.2.0)(react@18.2.0) + version: 7.4.6(react-dom@18.1.0)(react@18.1.0) '@storybook/addon-svelte-csf': - specifier: ^3.0.7 - version: 3.0.7(@storybook/svelte@7.2.0)(@storybook/theming@7.4.6)(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.1.1)(vite@4.4.7) + specifier: ^4.1.0 + version: 4.1.0(@storybook/svelte@7.2.0)(@storybook/theming@7.4.6)(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.1.1)(vite@4.4.7) '@storybook/blocks': specifier: ^7.2.0 - version: 7.4.6(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + version: 7.4.6(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/svelte': specifier: ^7.2.0 version: 7.2.0(svelte@4.1.1) @@ -1517,12 +1514,6 @@ importers: prettier-plugin-svelte: specifier: ^2.0.0 version: 2.9.0(prettier@2.8.1)(svelte@4.1.1) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) signale: specifier: ^1.4.0 version: 1.4.0 @@ -1531,7 +1522,7 @@ importers: version: 7.2.0 storybook-dark-mode: specifier: ^3.0.1 - version: 3.0.1(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + version: 3.0.1(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) svelte: specifier: ^4.1.1 version: 4.1.1 @@ -3261,14 +3252,6 @@ packages: react: 18.1.0 dev: true - /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0): - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: 18.2.0 - dev: true - /@es-joy/jsdoccomment@0.40.1: resolution: {integrity: sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==} engines: {node: '>=16'} @@ -3749,17 +3732,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@floating-ui/react-dom@2.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - '@floating-ui/dom': 1.5.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@floating-ui/utils@0.1.1: resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} @@ -5361,16 +5333,6 @@ packages: react: 18.1.0 dev: true - /@mdx-js/react@2.3.0(react@18.2.0): - resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} - peerDependencies: - react: '>=16' - dependencies: - '@types/mdx': 2.0.5 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@melt-ui/svelte@0.66.2(svelte@4.1.1): resolution: {integrity: sha512-ufIhgOYP11A/G3AvW+2Qw74UGudMBJQ2wK+sETpU51VkC63/5D2sctKgXzGl0OUEJBlPHku6LRSry9rIeAVkNw==} peerDependencies: @@ -6342,27 +6304,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: @@ -6387,30 +6328,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: @@ -6425,20 +6342,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-context@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: @@ -6453,20 +6356,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-context@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-direction@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: @@ -6481,20 +6370,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-direction@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: @@ -6520,31 +6395,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: @@ -6559,20 +6409,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} peerDependencies: @@ -6596,29 +6432,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-id@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: @@ -6634,21 +6447,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-id@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: @@ -6679,36 +6477,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/rect': 1.0.1 - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: @@ -6730,27 +6498,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: @@ -6772,27 +6519,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-slot': 1.0.2(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: @@ -6822,35 +6548,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-select@1.2.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} peerDependencies: @@ -6892,47 +6589,6 @@ packages: react-remove-scroll: 2.5.5(@types/react@18.0.8)(react@18.1.0) dev: true - /@radix-ui/react-select@1.2.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/number': 1.0.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - aria-hidden: 1.2.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.0.8)(react@18.2.0) - dev: true - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: @@ -6954,27 +6610,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-slot@1.0.2(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: @@ -6990,21 +6625,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-slot@1.0.2(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: @@ -7032,33 +6652,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: @@ -7082,29 +6675,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} peerDependencies: @@ -7132,33 +6702,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: @@ -7173,20 +6716,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: @@ -7202,21 +6731,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: @@ -7232,21 +6746,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: @@ -7261,20 +6760,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-use-previous@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: @@ -7289,20 +6774,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-previous@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-use-rect@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: @@ -7318,21 +6789,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-rect@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/rect': 1.0.1 - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-use-size@1.0.1(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: @@ -7348,21 +6804,6 @@ packages: react: 18.1.0 dev: true - /@radix-ui/react-use-size@1.0.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.0.8)(react@18.2.0) - '@types/react': 18.0.8 - react: 18.2.0 - dev: true - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: @@ -7384,27 +6825,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.0.8 - '@types/react-dom': 18.0.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: @@ -8058,11 +7478,6 @@ packages: engines: {node: '>=14'} dev: false - /@remix-run/router@1.3.3: - resolution: {integrity: sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w==} - engines: {node: '>=14'} - dev: false - /@remix-run/router@1.6.3: resolution: {integrity: sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q==} engines: {node: '>=14'} @@ -8613,7 +8028,7 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-actions@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-actions@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-N591y7SARPzV3W41mtdutxg1shLA3vCBDC9yxWyMW6wpUn8vAkuTp1HZDlMa7bYwxzco4/qmJs+ddE/7pQTT6w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8625,20 +8040,20 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-events': 7.2.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 dequal: 2.0.3 lodash: 4.17.21 polished: 4.2.2 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-inspector: 6.0.2(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-inspector: 6.0.2(react@18.1.0) telejson: 7.2.0 ts-dedent: 2.2.0 uuid: 9.0.0 @@ -8681,7 +8096,7 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-backgrounds@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-backgrounds@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-w7XbnOB55p/IyrOyF1NyRpm3tOWYGFgudVkOab+SyTKzeI7A1ovQUrDjy/7O4+Ehg6PxBBUWv9le/UqSnExmmA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8693,16 +8108,16 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-events': 7.2.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -8718,7 +8133,7 @@ packages: '@storybook/global': 5.0.0 dev: true - /@storybook/addon-controls@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-controls@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-el9LCoIR4EH5T6yfNLbpDKtoE031A+mRwoySVqiHYdHoMZyorBnBwkkmC2oNgOEvAFER9S8CLBfiJu+1FKIg6w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8729,18 +8144,18 @@ packages: react-dom: optional: true dependencies: - '@storybook/blocks': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-common': 7.2.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/node-logger': 7.2.0 '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -8809,17 +8224,17 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@storybook/addon-docs@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-docs@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-QXScPt5HhKvNllFCBlq5Gr7reNnaBGJZmOzw1QypzKSkIdx18WtKKOppxa5AwETXFnJ8XSjwcuLzZ+q5RUNiww==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@jest/transform': 29.7.0 - '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@mdx-js/react': 2.3.0(react@18.1.0) + '@storybook/blocks': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/csf-plugin': 7.2.0 '@storybook/csf-tools': 7.2.0 '@storybook/global': 5.0.0 @@ -8827,12 +8242,12 @@ packages: '@storybook/node-logger': 7.2.0 '@storybook/postinstall': 7.2.0 '@storybook/preview-api': 7.2.0 - '@storybook/react-dom-shim': 7.2.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/react-dom-shim': 7.2.0(react-dom@18.1.0)(react@18.1.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 fs-extra: 11.1.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) remark-external-links: 8.0.0 remark-slug: 6.1.0 ts-dedent: 2.2.0 @@ -8877,27 +8292,27 @@ packages: - supports-color dev: true - /@storybook/addon-essentials@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-essentials@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-dROgcW2v3RIzg3CyG0apIQj5IMiE6e3eFtsED9hjH1nQMkvbICORKRvOino762xLp/p2fnTvvNf3uTEhFp+qSw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/addon-actions': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-backgrounds': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-controls': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-actions': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/addon-backgrounds': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/addon-controls': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/addon-docs': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/addon-highlight': 7.2.0 - '@storybook/addon-measure': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-outline': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-toolbars': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-viewport': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-measure': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/addon-outline': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/addon-toolbars': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/addon-viewport': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-common': 7.2.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/node-logger': 7.2.0 '@storybook/preview-api': 7.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -8922,7 +8337,7 @@ packages: '@storybook/preview-api': 7.4.6 dev: true - /@storybook/addon-interactions@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-interactions@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-I4wpYQtrwKI8ajQMhDF/HHkiCnBoVm2T8VU09XUUDfAlflsCeIQL5Dk+aDBphswgKUIXxB2ZxgSEZCiMq5poCA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8934,19 +8349,19 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-common': 7.2.0 '@storybook/core-events': 7.2.0 '@storybook/global': 5.0.0 '@storybook/instrumenter': 7.2.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 jest-mock: 27.5.1 polished: 4.2.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -8980,32 +8395,7 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-links@7.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-BPygElZKX+CPI9Se6GJNk1dYc5oxuhA+vHigO1tBqhiM6VkHyFP3cvezJNQvpNYhkUnu3cxnZXb3UJnlRbPY3g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 - '@storybook/csf': 0.1.1 - '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/router': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.4.6 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - ts-dedent: 2.2.0 - dev: true - - /@storybook/addon-measure@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-measure@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-Urw6wub+hjOLelTKIuaxv2HsCSlqjE6HQDExETFCy1wY9/g99vPUOBq6HTZr6aRqWg+IjC48iUFWoRMcok6PsA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9017,21 +8407,21 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-events': 7.2.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 '@storybook/types': 7.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) tiny-invariant: 1.3.1 transitivePeerDependencies: - '@types/react' - '@types/react-dom' dev: true - /@storybook/addon-outline@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-outline@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-pP9Umngd8OsmVYAhRQqY4HGgTeQK63tZeNDOSdB5Jab4f6wDrdHUn6OMo0Hsfzw65g7mSQmEexnxbq1DrgKU1Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9043,14 +8433,14 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-events': 7.2.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 '@storybook/types': 7.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -9086,15 +8476,15 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-svelte-csf@3.0.7(@storybook/svelte@7.2.0)(@storybook/theming@7.4.6)(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.1.1)(vite@4.4.7): - resolution: {integrity: sha512-T7KYWlhIs3G2N4r0UPawCCnHnYUWyg2rUMIfi/HLVYODsnqG7rJmK3ZAvtEgd1sFST0gRNBu13NIyH3YYUnA7A==} + /@storybook/addon-svelte-csf@4.1.0(@storybook/svelte@7.2.0)(@storybook/theming@7.4.6)(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.1.1)(vite@4.4.7): + resolution: {integrity: sha512-h6AdfweSph09M0sMrwZy5WagkZcccA2i0ioywrheVZi65QtcIgGidbTixoiY94Xi71JT/MQ1psGoD91J44KJFQ==} peerDependencies: '@storybook/svelte': ^7.0.0 '@storybook/theming': ^7.0.0 - '@sveltejs/vite-plugin-svelte': ^1.0.0 || ^2.0.0 - svelte: ^3.50.0 || ^4.0.0 + '@sveltejs/vite-plugin-svelte': ^2.0.0 || ^3.0.0 + svelte: ^4.0.0 svelte-loader: ^3.1.2 - vite: ^3.0.0 || ^4.0.0 + vite: ^4.0.0 || ^5.0.0 peerDependenciesMeta: '@sveltejs/vite-plugin-svelte': optional: true @@ -9105,7 +8495,7 @@ packages: dependencies: '@babel/runtime': 7.23.1 '@storybook/svelte': 7.2.0(svelte@4.1.1) - '@storybook/theming': 7.4.6(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.4.6(react-dom@18.1.0)(react@18.1.0) '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@4.1.1)(vite@4.4.7) dedent: 1.5.1 fs-extra: 11.1.1 @@ -9116,7 +8506,7 @@ packages: - babel-plugin-macros dev: true - /@storybook/addon-toolbars@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-toolbars@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-bLWb6ZixaK1mfXuuBD06wdmqd+BbMubTmsjzFBFtc/7zJT10tRduyw8iMHIsAWwrjzeXauyo2NUeXmop0Xm1Uw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9128,12 +8518,12 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -9162,7 +8552,7 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-viewport@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/addon-viewport@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-CJib9jGM7Tzo4aBkxUWX8hJz12eaKmpsCLEFyypJn60gupN9TUckOBSdU2ShnjkKcG05hLbgnAoXHlgmLobyVQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9174,16 +8564,16 @@ packages: optional: true dependencies: '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-events': 7.2.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) memoizerific: 1.11.3 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -9202,19 +8592,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@storybook/addons@7.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-c+4awrtwNlJayFdgLkEXa5H2Gj+KNlxuN+Z5oDAdZBLqXI8g0gn7eYO2F/eCSIDWdd/+zcU2uq57XPFKc8veHQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/manager-api': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/types': 7.4.6 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@storybook/api@7.4.6(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-mnkHs2WI3/7vEUk+Bo1ZlQDp5vJDtoFSCFP5iae3YyVBbnjiI6oYlMZ14KgeizFULk3VaDv6/BdiynG1RkdO4Q==} peerDependencies: @@ -9232,24 +8609,7 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@storybook/api@7.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-mnkHs2WI3/7vEUk+Bo1ZlQDp5vJDtoFSCFP5iae3YyVBbnjiI6oYlMZ14KgeizFULk3VaDv6/BdiynG1RkdO4Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - dependencies: - '@storybook/client-logger': 7.4.6 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@storybook/blocks@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/blocks@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-QbRw4lszmkxD86+murh0rJWa2rf9fEhI3vP3BSD+Ta6YgLHt+T94l0K5uQpESs8DRWHFGe5kT33hcAXHIpBqPA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9257,25 +8617,25 @@ packages: dependencies: '@storybook/channels': 7.2.0 '@storybook/client-logger': 7.2.0 - '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/core-events': 7.2.0 '@storybook/csf': 0.1.1 '@storybook/docs-tools': 7.2.0 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/preview-api': 7.2.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 '@types/lodash': 4.14.167 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 - markdown-to-jsx: 7.2.1(react@18.2.0) + markdown-to-jsx: 7.2.1(react@18.1.0) memoizerific: 1.11.3 polished: 4.2.2 - react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0) - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-colorful: 5.6.1(react-dom@18.1.0)(react@18.1.0) + react-dom: 18.1.0(react@18.1.0) telejson: 7.2.0 tocbot: 4.21.0 ts-dedent: 2.2.0 @@ -9325,44 +8685,6 @@ packages: - supports-color dev: true - /@storybook/blocks@7.4.6(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HxBSAeOiTZW2jbHQlo1upRWFgoMsaAyKijUFf5MwwMNIesXCuuTGZDJ3xTABwAVLK2qC9Ektfbo0CZCiPVuDRQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/components': 7.4.6(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.4.6 - '@storybook/csf': 0.1.1 - '@storybook/docs-tools': 7.4.6 - '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.4.6 - '@storybook/theming': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.4.6 - '@types/lodash': 4.14.167 - color-convert: 2.0.1 - dequal: 2.0.3 - lodash: 4.17.21 - markdown-to-jsx: 7.2.1(react@18.2.0) - memoizerific: 1.11.3 - polished: 4.2.2 - react: 18.2.0 - react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0) - react-dom: 18.2.0(react@18.2.0) - telejson: 7.2.0 - tocbot: 4.21.0 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - encoding - - supports-color - dev: true - /@storybook/builder-manager@7.2.0: resolution: {integrity: sha512-WGenq08db5mmlMTQ3dFsZD1tNYx43vjgbDJOeABUJ8pyTDZ0WPT6lfRWn9D2qzG1Sie4bkv2FyJdlc/AfM7SIQ==} dependencies: @@ -9679,22 +9001,22 @@ packages: - supports-color dev: true - /@storybook/components@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): + /@storybook/components@7.2.0(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-PVHWtGrd+BGI4EOMnCZCotakwSxBr1a9YwmK5z89sD55wljkhn/qoHRYs+QZDVS2fAnegsmI8CcwplAdN1hs8w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@radix-ui/react-select': 1.2.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-select': 1.2.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.1.0)(react@18.1.0) '@storybook/client-logger': 7.2.0 '@storybook/csf': 0.1.1 '@storybook/global': 5.0.0 - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + use-resize-observer: 9.1.0(react-dom@18.1.0)(react@18.1.0) util-deprecate: 1.0.2 transitivePeerDependencies: - '@types/react' @@ -9724,29 +9046,6 @@ packages: - '@types/react-dom' dev: true - /@storybook/components@7.4.6(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-nIRBhewAgrJJVafyCzuaLx1l+YOfvvD5dOZ0JxZsxJsefOdw1jFpUqUZ5fIpQ2moyvrR0mAUFw378rBfMdHz5Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@radix-ui/react-select': 1.2.2(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.4.6 - '@storybook/csf': 0.1.1 - '@storybook/global': 5.0.0 - '@storybook/theming': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.4.6 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0) - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - dev: true - /@storybook/core-client@7.2.0: resolution: {integrity: sha512-U/5BAGGI9HIO1RHetQR0V4a9ISWDRlcik8mQhOVVcvd6eMkyS9O8r3unVaXTjjAUQvDsP2il89fV6bkouJBfKA==} dependencies: @@ -10044,7 +9343,7 @@ packages: '@storybook/preview-api': 7.2.0 dev: true - /@storybook/manager-api@7.2.0(react-dom@18.2.0)(react@18.2.0): + /@storybook/manager-api@7.2.0(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-sKaG+VBS8wXGaT+vEihK/2VXJwShhFVOsvOd81vfaM97btik0IhCEHtV7VCNW2lDidIGw7u2DX7QO0tav/Qf1w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -10055,14 +9354,14 @@ packages: '@storybook/core-events': 7.2.0 '@storybook/csf': 0.1.1 '@storybook/global': 5.0.0 - '@storybook/router': 7.2.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.2.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/router': 7.2.0(react-dom@18.1.0)(react@18.1.0) + '@storybook/theming': 7.2.0(react-dom@18.1.0)(react@18.1.0) '@storybook/types': 7.2.0 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) semver: 7.5.4 store2: 2.14.2 telejson: 7.2.0 @@ -10094,31 +9393,6 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/manager-api@7.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/channels': 7.4.6 - '@storybook/client-logger': 7.4.6 - '@storybook/core-events': 7.4.6 - '@storybook/csf': 0.1.1 - '@storybook/global': 5.0.0 - '@storybook/router': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.4.6 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - semver: 7.5.4 - store2: 2.14.2 - telejson: 7.2.0 - ts-dedent: 2.2.0 - dev: true - /@storybook/manager@7.2.0: resolution: {integrity: sha512-XwKjEA0p8f8rsv5XBXcmGrE4MNMlq/+wazQLyxWUyW3iMiYI0px0QjrQPnEGjOUasyLA+sRGrhy0gJ2Z9/XowQ==} dev: true @@ -10193,14 +9467,14 @@ packages: resolution: {integrity: sha512-2RPXusJ4CTDrIipIKKvbotD7fP0+8VzoFjImunflIrzN9rni+2rq5eMjqlXAaB+77w064zIR4uDUzI9fxsMDeQ==} dev: true - /@storybook/react-dom-shim@7.2.0(react-dom@18.2.0)(react@18.2.0): + /@storybook/react-dom-shim@7.2.0(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-RIMFraxxpZmqIWCsOye/jPno7L867SbgXCaLAZMd/Kok9QI3nuV++lfaEY8hK5nMy8D/Q8OkMLss/mIlflvkKg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) dev: true /@storybook/react-dom-shim@7.4.6(react-dom@18.1.0)(react@18.1.0): @@ -10281,7 +9555,7 @@ packages: - supports-color dev: true - /@storybook/router@7.2.0(react-dom@18.2.0)(react@18.2.0): + /@storybook/router@7.2.0(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-8QQ3qzNKy75QSVY4JhtYJI/EBLAepTkMpOcbdvgufFWOwTm/s9N5VlGpVctHYNf+vvNpX+YndVoMGAU7bdn8EQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -10290,8 +9564,8 @@ packages: '@storybook/client-logger': 7.2.0 memoizerific: 1.11.3 qs: 6.11.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) dev: true /@storybook/router@7.4.6(react-dom@18.1.0)(react@18.1.0): @@ -10307,19 +9581,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@storybook/router@7.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/client-logger': 7.4.6 - memoizerific: 1.11.3 - qs: 6.11.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@storybook/source-loader@7.4.6(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-tBso55luaKIsZmIsgYyT7HJcjbgjxf0pdzbYqdThZhY3oSl3d56xbcFDCWW+yWjFONuFY8RGPCT7iGywwmaBdQ==} peerDependencies: @@ -10440,18 +9701,18 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/theming@7.2.0(react-dom@18.2.0)(react@18.2.0): + /@storybook/theming@7.2.0(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-E/nFqZuHnR1HK/jXwlPzLnmbIDxWg4cbSkX3sfTbsDd1h7YhxbouheYSuSPqVDjk+3F87Tv2CP+cZUKDkPd3pQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.1.0) '@storybook/client-logger': 7.2.0 '@storybook/global': 5.0.0 memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) dev: true /@storybook/theming@7.4.6(react-dom@18.1.0)(react@18.1.0): @@ -10468,20 +9729,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /@storybook/theming@7.4.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@storybook/client-logger': 7.4.6 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@storybook/types@7.2.0: resolution: {integrity: sha512-jwoA/TIp+U8Vz868aQT+XfoAw6qFrtn2HbZlTfwNWZsUhPFlMsGrwIVEpWqBWIoe6WITU/lNw3BuRmxul+wvAQ==} dependencies: @@ -19305,15 +18552,6 @@ packages: react: 18.1.0 dev: true - /markdown-to-jsx@7.2.1(react@18.2.0): - resolution: {integrity: sha512-9HrdzBAo0+sFz9ZYAGT5fB8ilzTW+q6lPocRxrIesMO+aB40V9MgFfbfMXxlGjf22OpRy+IXlvVaQenicdpgbg==} - engines: {node: '>= 10'} - peerDependencies: - react: '>= 0.14.0' - dependencies: - react: 18.2.0 - dev: true - /marked@1.0.0: resolution: {integrity: sha512-Wo+L1pWTVibfrSr+TTtMuiMfNzmZWiOPeO7rZsQUY5bgsxpHesBEcIWJloWVTFnrMXnf/TL30eTFSGJddmQAng==} engines: {node: '>= 8.16.2'} @@ -21773,16 +21011,6 @@ packages: react-dom: 18.1.0(react@18.1.0) dev: true - /react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /react-devtools-core@4.28.4: resolution: {integrity: sha512-IUZKLv3CimeM07G3vX4H4loxVpByrzq3HvfTX7v9migalwvLs9ZY5D3S3pKR33U+GguYfBBdMMZyToFhsSE/iQ==} dependencies: @@ -21837,6 +21065,7 @@ packages: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 + dev: false /react-draggable@4.4.3(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w==} @@ -21920,14 +21149,6 @@ packages: react: 18.1.0 dev: true - /react-inspector@6.0.2(react@18.2.0): - resolution: {integrity: sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==} - peerDependencies: - react: ^16.8.4 || ^17.0.0 || ^18.0.0 - dependencies: - react: 18.2.0 - dev: true - /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -22061,22 +21282,6 @@ packages: react-style-singleton: 2.2.1(@types/react@18.0.8)(react@18.1.0) tslib: 2.1.0 - /react-remove-scroll-bar@2.3.4(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} - engines: {node: '>=10'} - 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 - dependencies: - '@types/react': 18.0.8 - react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.0.8)(react@18.2.0) - tslib: 2.1.0 - dev: true - /react-remove-scroll@2.5.5(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} @@ -22095,25 +21300,6 @@ packages: use-callback-ref: 1.3.0(@types/react@18.0.8)(react@18.1.0) use-sidecar: 1.1.2(@types/react@18.0.8)(react@18.1.0) - /react-remove-scroll@2.5.5(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} - engines: {node: '>=10'} - 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 - dependencies: - '@types/react': 18.0.8 - react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.0.8)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.0.8)(react@18.2.0) - tslib: 2.1.0 - use-callback-ref: 1.3.0(@types/react@18.0.8)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.0.8)(react@18.2.0) - dev: true - /react-resizable@3.0.4(react-dom@18.1.0)(react@18.1.0): resolution: {integrity: sha512-StnwmiESiamNzdRHbSSvA65b0ZQJ7eVQpPusrSmcpyGKzC0gojhtO62xxH6YOBmepk9dQTBi9yxidL3W4s3EBA==} peerDependencies: @@ -22242,23 +21428,6 @@ packages: react: 18.1.0 tslib: 2.1.0 - /react-style-singleton@2.2.1(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} - engines: {node: '>=10'} - 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 - dependencies: - '@types/react': 18.0.8 - get-nonce: 1.0.1 - invariant: 2.2.4 - react: 18.2.0 - tslib: 2.1.0 - dev: true - /react-syntax-highlighter@15.5.0(react@18.1.0): resolution: {integrity: sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==} peerDependencies: @@ -22327,6 +21496,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 + dev: false /read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} @@ -22983,6 +22153,7 @@ packages: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 + dev: false /scheduler@0.24.0-canary-efb381bbf-20230505: resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} @@ -23560,32 +22731,6 @@ packages: - '@types/react-dom' dev: true - /storybook-dark-mode@3.0.1(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3V6XBhkUq63BF6KzyDBbfV5/8sYtF4UtVccH1tK+Lrd4p0tF8k7yHOvVDhFL9hexnKXcLEnbC+42YDTPvjpK+A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - dependencies: - '@storybook/addons': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/api': 7.4.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/components': 7.4.6(@types/react-dom@18.0.2)(@types/react@18.0.8)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.4.6 - '@storybook/global': 5.0.0 - '@storybook/theming': 7.4.6(react-dom@18.2.0)(react@18.2.0) - fast-deep-equal: 3.1.3 - memoizerific: 1.11.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - dev: true - /storybook@7.2.0: resolution: {integrity: sha512-2J+2SzxJD/EwRuqcZi+tlJddkTt9uynt+RUK01DjdX9RFy/8OnZwIi1O/w9WzxwO06kCO0KsajZEGSMvuwwuxQ==} hasBin: true @@ -25085,21 +24230,6 @@ packages: react: 18.1.0 tslib: 2.1.0 - /use-callback-ref@1.3.0(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} - engines: {node: '>=10'} - 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 - dependencies: - '@types/react': 18.0.8 - react: 18.2.0 - tslib: 2.1.0 - dev: true - /use-debounce@8.0.1(react@18.1.0): resolution: {integrity: sha512-6tGAFJKJ0qCalecaV7/gm/M6n238nmitNppvR89ff1yfwSFjwFKR7IQZzIZf1KZRQhqNireBzytzU6jgb29oVg==} engines: {node: '>= 10.0.0'} @@ -25131,17 +24261,6 @@ packages: react: 18.1.0 react-dom: 18.1.0(react@18.1.0) - /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} - peerDependencies: - react: 16.8.0 - 18 - react-dom: 16.8.0 - 18 - dependencies: - '@juggle/resize-observer': 3.3.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /use-sidecar@1.1.2(@types/react@18.0.8)(react@18.1.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} @@ -25157,22 +24276,6 @@ packages: react: 18.1.0 tslib: 2.1.0 - /use-sidecar@1.1.2(@types/react@18.0.8)(react@18.2.0): - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} - engines: {node: '>=10'} - 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 - dependencies: - '@types/react': 18.0.8 - detect-node-es: 1.1.0 - react: 18.2.0 - tslib: 2.1.0 - dev: true - /use-sync-external-store@1.2.0(react@18.1.0): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: