diff --git a/webui/package.json b/webui/package.json index d2972a97c..b75ac6d1b 100644 --- a/webui/package.json +++ b/webui/package.json @@ -49,7 +49,7 @@ "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.2.1", "@testing-library/user-event": "^14.5.2", - "@traefiklabs/faency": "11.1.4", + "@traefiklabs/faency": "12.0.4", "@types/lodash": "^4.17.16", "@types/node": "^22.15.18", "@types/react": "^18.2.0", diff --git a/webui/src/components/ClickableRow.tsx b/webui/src/components/ClickableRow.tsx index 00342e530..aecffaccd 100644 --- a/webui/src/components/ClickableRow.tsx +++ b/webui/src/components/ClickableRow.tsx @@ -1,6 +1,7 @@ import { AriaTr, VariantProps, styled } from '@traefiklabs/faency' import { ComponentProps, forwardRef, ReactNode } from 'react' -import { useHref } from 'react-router-dom' + +import { useHrefWithReturnTo } from 'hooks/use-href-with-return-to' const UnstyledLink = styled('a', { color: 'inherit', @@ -18,7 +19,7 @@ type ClickableRowProps = ComponentProps & } export default forwardRef(({ children, css, to, ...props }, ref) => { - const href = useHref(to) + const href = useHrefWithReturnTo(to) return ( diff --git a/webui/src/components/TableFilter.tsx b/webui/src/components/TableFilter.tsx index ba0df2152..ab8c01938 100644 --- a/webui/src/components/TableFilter.tsx +++ b/webui/src/components/TableFilter.tsx @@ -1,6 +1,4 @@ -import { Box, Button, Flex, TextField } from '@traefiklabs/faency' -// eslint-disable-next-line import/no-unresolved -import { InputHandle } from '@traefiklabs/faency/dist/components/Input' +import { Box, Button, Flex, TextField, InputHandle } from '@traefiklabs/faency' import { isUndefined, omitBy } from 'lodash' import { useCallback, useRef, useState } from 'react' import { FiSearch, FiXCircle } from 'react-icons/fi' diff --git a/webui/src/components/resources/DetailSections.tsx b/webui/src/components/resources/DetailSections.tsx index f8b9b5305..53e1ee670 100644 --- a/webui/src/components/resources/DetailSections.tsx +++ b/webui/src/components/resources/DetailSections.tsx @@ -7,6 +7,7 @@ import { StatusWrapper } from './ResourceStatus' import { colorByStatus } from './Status' import Tooltip from 'components/Tooltip' +import { useGetUrlWithReturnTo } from 'hooks/use-href-with-return-to' const CustomHeading = styled(H2, { display: 'flex', @@ -125,9 +126,25 @@ const CardSkeleton = ({ bigDescription }: { bigDescription?: boolean }) => { ) } -export const CardListSection = ({ icon, title, cards, isLast, bigDescription }: SectionType) => { +const CardItem = ({ card }) => { const navigate = useNavigate() + const href = useGetUrlWithReturnTo(card.link) + return ( + + !!card.link && navigate(href)} + css={{ cursor: card.link ? 'pointer' : 'inherit' }} + > + {card.title} + {card.description} + + + ) +} + +export const CardListSection = ({ icon, title, cards, isLast, bigDescription }: SectionType) => { return ( @@ -135,20 +152,7 @@ export const CardListSection = ({ icon, title, cards, isLast, bigDescription }: {!cards && } - {cards - ?.filter((c) => !!c.description) - .map((card) => ( - - !!card.link && navigate(card.link)} - css={{ cursor: card.link ? 'pointer' : 'inherit' }} - > - {card.title} - {card.description} - - - ))} + {cards?.filter((c) => !!c.description).map((card, idx) => )}   diff --git a/webui/src/hooks/use-href-with-return-to.spec.tsx b/webui/src/hooks/use-href-with-return-to.spec.tsx new file mode 100644 index 000000000..5fddb0f4b --- /dev/null +++ b/webui/src/hooks/use-href-with-return-to.spec.tsx @@ -0,0 +1,238 @@ +import { renderHook } from '@testing-library/react' +import { MemoryRouter } from 'react-router-dom' + +import { useGetUrlWithReturnTo, useHrefWithReturnTo, useRouterReturnTo } from './use-href-with-return-to' + +describe('useGetUrlWithReturnTo', () => { + const createWrapper = (initialPath = '/') => { + return ({ children }) => {children} + } + + it('should append current path as returnTo query param', () => { + const { result } = renderHook(() => useGetUrlWithReturnTo('/target'), { + wrapper: createWrapper('/current/path'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fcurrent%2Fpath') + }) + + it('should append current path with search params as returnTo', () => { + const { result } = renderHook(() => useGetUrlWithReturnTo('/target'), { + wrapper: createWrapper('/current/path?foo=bar'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fcurrent%2Fpath%3Ffoo%3Dbar') + }) + + it('should use initialReturnTo when provided', () => { + const { result } = renderHook(() => useGetUrlWithReturnTo('/target', '/custom/return'), { + wrapper: createWrapper('/current/path'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fcustom%2Freturn') + }) + + it('should return the href as-is when href is empty string', () => { + const { result } = renderHook(() => useGetUrlWithReturnTo(''), { + wrapper: createWrapper('/current/path'), + }) + + expect(result.current).toBe('') + }) + + it('should handle href with existing query params', () => { + const { result } = renderHook(() => useGetUrlWithReturnTo('/target?existing=param'), { + wrapper: createWrapper('/current/path'), + }) + + expect(result.current).toBe('/target?existing=param&returnTo=%2Fcurrent%2Fpath') + }) +}) + +describe('useHrefWithReturnTo', () => { + const createWrapper = (initialPath = '/') => { + return ({ children }) => {children} + } + + it('should return resolved href with returnTo param containing current path', () => { + const { result } = renderHook(() => useHrefWithReturnTo('/target'), { + wrapper: createWrapper('/current'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fcurrent') + }) + + it('should include current search params in returnTo', () => { + const { result } = renderHook(() => useHrefWithReturnTo('/target'), { + wrapper: createWrapper('/current?foo=bar&baz=qux'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fcurrent%3Ffoo%3Dbar%26baz%3Dqux') + }) + + it('should use custom returnTo when provided instead of current path', () => { + const { result } = renderHook(() => useHrefWithReturnTo('/target', '/custom/return'), { + wrapper: createWrapper('/current'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fcustom%2Freturn') + }) + + it('should handle absolute paths correctly', () => { + const { result } = renderHook(() => useHrefWithReturnTo('/http/routers'), { + wrapper: createWrapper('/tcp/services'), + }) + + expect(result.current).toBe('/http/routers?returnTo=%2Ftcp%2Fservices') + }) + + it('should preserve existing query params in target href', () => { + const { result } = renderHook(() => useHrefWithReturnTo('/target?existing=param'), { + wrapper: createWrapper('/current'), + }) + + expect(result.current).toBe('/target?existing=param&returnTo=%2Fcurrent') + }) + + it('should return root path when href is empty', () => { + const { result } = renderHook(() => useHrefWithReturnTo(''), { + wrapper: createWrapper('/current'), + }) + + // useHref converts empty string to root path + expect(result.current).toBe('/') + }) + + it('should handle complex nested paths in returnTo', () => { + const { result } = renderHook(() => useHrefWithReturnTo('/target'), { + wrapper: createWrapper('/http/routers/my-router-123'), + }) + + expect(result.current).toBe('/target?returnTo=%2Fhttp%2Frouters%2Fmy-router-123') + }) +}) + +describe('useRouterReturnTo', () => { + const createWrapper = (initialPath = '/') => { + return ({ children }) => {children} + } + + it('should return null when no returnTo query param exists', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current'), + }) + + expect(result.current.returnTo).toBeNull() + expect(result.current.returnToLabel).toBeNull() + }) + + it('should extract returnTo from query params', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/routers'), + }) + + expect(result.current.returnTo).toBe('/http/routers') + }) + + it('should generate correct label for HTTP routers (plural)', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/routers'), + }) + + expect(result.current.returnToLabel).toBe('HTTP routers') + }) + + it('should generate correct label for HTTP router (singular)', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/routers/router-1'), + }) + + expect(result.current.returnToLabel).toBe('HTTP router') + }) + + it('should generate fallback label for unknown routes (plural)', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/custom/resources'), + }) + + expect(result.current.returnToLabel).toBe('Custom resources') + }) + + it('should handle malformed returnTo paths gracefully', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/'), + }) + + expect(result.current.returnTo).toBe('/') + expect(result.current.returnToLabel).toBe('Back') + }) + + it('should handle returnTo with query params', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/routers?filter=test'), + }) + + expect(result.current.returnTo).toContain('/http/routers') + expect(result.current.returnToLabel).toBe('HTTP routers') + }) + + it('should strip query params from path when generating label', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/routers?filter=test&status=active'), + }) + + expect(result.current.returnToLabel).toBe('HTTP routers') + expect(result.current.returnToLabel).not.toContain('filter') + expect(result.current.returnToLabel).not.toContain('status') + }) + + it('should strip query params from subpath when generating label', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/tcp/services?page=2'), + }) + + expect(result.current.returnToLabel).toBe('TCP services') + }) + + it('should handle query params with multiple question marks gracefully', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/routers?filter=test?extra=param'), + }) + + // Should handle edge case with multiple question marks (invalid URL but should not crash) + expect(result.current.returnToLabel).toBe('HTTP routers') + }) + + it('should handle path with query params but no subpath', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http?foo=bar'), + }) + + expect(result.current.returnToLabel).toBe('Http') + }) + + it('should handle empty query string (path ending with ?)', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/tcp/middlewares?'), + }) + + expect(result.current.returnToLabel).toBe('TCP middlewares') + }) + + it('should handle complex query strings with special characters', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/http/services?filter=%40test%23special'), + }) + + expect(result.current.returnToLabel).toBe('HTTP services') + }) + + it('should capitalize first letter of label override', () => { + const { result } = renderHook(() => useRouterReturnTo(), { + wrapper: createWrapper('/current?returnTo=/resource/routers/router-1'), + }) + + // Verify the label starts with uppercase + expect(result.current.returnToLabel?.charAt(0)).toBe('R') + }) +}) diff --git a/webui/src/hooks/use-href-with-return-to.ts b/webui/src/hooks/use-href-with-return-to.ts new file mode 100644 index 000000000..cbf938f7e --- /dev/null +++ b/webui/src/hooks/use-href-with-return-to.ts @@ -0,0 +1,119 @@ +import qs from 'query-string' +import { useMemo } from 'react' +import { useHref, useLocation, useSearchParams } from 'react-router-dom' + +import { capitalizeFirstLetter } from '../utils/string' + +type UseGetUrlWithReturnTo = (href: string, initialReturnTo?: string) => string + +export const useGetUrlWithReturnTo: UseGetUrlWithReturnTo = (href, initialReturnTo) => { + const location = useLocation() + const currentPath = location.pathname + location.search + + const url = useMemo(() => { + if (href) { + return qs.stringifyUrl({ url: href, query: { returnTo: initialReturnTo ?? currentPath } }) + } + return href + }, [currentPath, href, initialReturnTo]) + + return url +} + +export const useHrefWithReturnTo = (href: string, returnTo?: string): string => { + const urlWithReturnTo = useGetUrlWithReturnTo(href, returnTo) + + return useHref(urlWithReturnTo) +} + +const RETURN_TO_LABEL_OVERRIDES_SINGULAR: Record> = { + http: { + routers: 'HTTP router', + services: 'HTTP service', + middlewares: 'HTTP middleware', + }, + tcp: { + routers: 'TCP router', + services: 'TCP service', + middlewares: 'TCP middleware', + }, + udp: { + routers: 'UDP router', + services: 'TCP service', + }, +} + +const RETURN_TO_LABEL_OVERRIDES_PLURAL: Record> = { + http: { + routers: 'HTTP routers', + services: 'HTTP services', + middlewares: 'HTTP middlewares', + }, + tcp: { + routers: 'TCP routers', + services: 'TCP services', + middlewares: 'TCP middlewares', + }, + udp: { + routers: 'UDP routers', + services: 'TCP services', + }, +} + +type UseRouterReturnTo = (initialReturnTo?: string) => { + returnTo: string | null + returnToLabel: string | null +} + +const getCleanPath = (path: string) => { + if (!path) return '' + return path.split('?')[0] +} + +export const useRouterReturnTo: UseRouterReturnTo = () => { + const [searchParams] = useSearchParams() + + const returnTo = useMemo(() => { + const queryReturnTo = searchParams.get('returnTo') + return queryReturnTo || null + }, [searchParams]) + + const returnToHref = useHref(returnTo || '') + + const returnToLabel = useMemo(() => { + if (!returnTo) { + return null + } + + const returnToArr = returnTo.split('/') + + const [, path, subpath, id] = returnToArr + + // Strip query params from path, if any + const cleanPath = getCleanPath(path) + const cleanSubpath = getCleanPath(subpath) + + // Malformed returnTo (e.g., just '/' or empty path) + if (!cleanPath) { + return 'Back' + } + + const fallbackLabel = `${capitalizeFirstLetter(cleanPath)}${cleanSubpath ? ` ${cleanSubpath}` : ''}` + + const labelArray = id ? RETURN_TO_LABEL_OVERRIDES_SINGULAR : RETURN_TO_LABEL_OVERRIDES_PLURAL + + const labelOverride = + labelArray[cleanPath]?.[cleanSubpath] ?? + (typeof labelArray[cleanPath] === 'string' ? labelArray[cleanPath] : fallbackLabel) + + return capitalizeFirstLetter(labelOverride) + }, [returnTo]) + + return useMemo( + () => ({ + returnTo: returnTo ? returnToHref : null, + returnToLabel, + }), + [returnTo, returnToHref, returnToLabel], + ) +} diff --git a/webui/src/layout/Page.tsx b/webui/src/layout/Page.tsx index ec8b6ea81..d28f7f3bc 100644 --- a/webui/src/layout/Page.tsx +++ b/webui/src/layout/Page.tsx @@ -4,10 +4,10 @@ import { Helmet } from 'react-helmet-async' import { useLocation } from 'react-router-dom' import Container from './Container' -import { LAPTOP_BP, SideBarPanel, SideNav, TopNav } from './Navigation' import { ToastPool } from 'components/ToastPool' import { ToastProvider } from 'contexts/toasts' +import { LAPTOP_BP, SideBarPanel, SideNav, TopNav } from 'layout/navigation' export const LIGHT_PRIMARY_COLOR = '#217F97' export const DARK_PRIMARY_COLOR = '#2AA2C1' diff --git a/webui/src/layout/Navigation.spec.tsx b/webui/src/layout/navigation/Navigation.spec.tsx similarity index 87% rename from webui/src/layout/Navigation.spec.tsx rename to webui/src/layout/navigation/Navigation.spec.tsx index d19ab884a..da09231e4 100644 --- a/webui/src/layout/Navigation.spec.tsx +++ b/webui/src/layout/navigation/Navigation.spec.tsx @@ -1,10 +1,10 @@ -import { SideNav, TopNav } from './Navigation' +import { SideNav, TopNav } from '.' import { renderWithProviders } from 'utils/test' describe('Navigation', () => { it('should render the side navigation bar', async () => { - const { container } = renderWithProviders( {}} />) + const { container } = renderWithProviders( {}} />) expect(container.innerHTML).toContain('HTTP') expect(container.innerHTML).toContain('TCP') diff --git a/webui/src/layout/Navigation.tsx b/webui/src/layout/navigation/SideNavBar.tsx similarity index 60% rename from webui/src/layout/Navigation.tsx rename to webui/src/layout/navigation/SideNavBar.tsx index 658ef2257..648b6681f 100644 --- a/webui/src/layout/Navigation.tsx +++ b/webui/src/layout/navigation/SideNavBar.tsx @@ -1,18 +1,9 @@ import { Badge, Box, - Button, - CSS, DialogTitle, - DropdownMenu, - DropdownMenuContent, - DropdownMenuGroup, - DropdownMenuItem, - DropdownMenuPortal, - DropdownMenuTrigger, elevationVariants, Flex, - Link, NavigationLink, SidePanel, styled, @@ -22,27 +13,23 @@ import { } from '@traefiklabs/faency' import { useContext, useEffect, useMemo, useState } from 'react' import { BsChevronDoubleRight, BsChevronDoubleLeft } from 'react-icons/bs' -import { FiBookOpen, FiGithub, FiHelpCircle } from 'react-icons/fi' import { matchPath, useHref } from 'react-router' import { useLocation } from 'react-router-dom' import { useWindowSize } from 'usehooks-ts' -import Container from './Container' -import { DARK_PRIMARY_COLOR, LIGHT_PRIMARY_COLOR } from './Page' +import Container from '../Container' + +import { LAPTOP_BP } from '.' import IconButton from 'components/buttons/IconButton' import Logo from 'components/icons/Logo' import { PluginsIcon } from 'components/icons/PluginsIcon' -import ThemeSwitcher from 'components/ThemeSwitcher' import TooltipText from 'components/TooltipText' import { VersionContext } from 'contexts/version' import useTotals from 'hooks/use-overview-totals' -import { useIsDarkMode } from 'hooks/use-theme' import ApimDemoNavMenu from 'pages/hub-demo/HubDemoNav' import { Route, ROUTES } from 'routes' -export const LAPTOP_BP = 1025 - const NavigationDrawer = styled(Flex, { width: '100%', maxWidth: '100%', @@ -61,11 +48,13 @@ export const BasicNavigationItem = ({ count, isSmallScreen, isExpanded, + onSidePanelToggle, }: { route: Route count?: number isSmallScreen: boolean isExpanded: boolean + onSidePanelToggle: (isOpen: boolean) => void }) => { const { pathname } = useLocation() const href = useHref(route.path) @@ -91,7 +80,13 @@ export const BasicNavigationItem = ({ } return ( - + onSidePanelToggle(false) : undefined} + active={isActiveRoute} + startAdornment={route?.icon} + css={{ whiteSpace: 'nowrap' }} + href={href} + > {route.label} {!!count && ( @@ -113,7 +108,7 @@ export const SideBarPanel = ({ return ( { - setIsSmallScreen(isResponsive && windowSize.width < LAPTOP_BP) - }, [isExpanded, isResponsive, windowSize.width]) + setIsSmallScreen(windowSize.width <= LAPTOP_BP) + }, [isExpanded, windowSize.width]) + + const isSmallAndResponsive = useMemo(() => isSmallScreen && isResponsive, [isResponsive, isSmallScreen]) const totalValueByPath = useMemo<{ [key: string]: number }>( () => ({ @@ -164,7 +161,7 @@ export const SideNav = ({ return ( - - {!!version && !isSmallScreen && ( + + {!!version && !isSmallAndResponsive && ( )} @@ -268,6 +264,7 @@ export const SideNav = ({ count={totalValueByPath[item.path]} isSmallScreen={isSmallScreen} isExpanded={isExpanded} + onSidePanelToggle={onSidePanelToggle} /> ))} @@ -286,113 +283,13 @@ export const SideNav = ({ - + ) } - -export const TopNav = ({ css, noHubButton = false }: { css?: CSS; noHubButton?: boolean }) => { - const [hasHubButtonComponent, setHasHubButtonComponent] = useState(false) - const { showHubButton, version } = useContext(VersionContext) - const isDarkMode = useIsDarkMode() - - const parsedVersion = useMemo(() => { - if (!version) { - return 'master' - } - if (version === 'dev') { - return 'master' - } - const matches = version.match(/^(v?\d+\.\d+)/) - return matches ? 'v' + matches[1] : 'master' - }, [version]) - - useEffect(() => { - if (!showHubButton) { - setHasHubButtonComponent(false) - return - } - - if (customElements.get('hub-button-app')) { - setHasHubButtonComponent(true) - return - } - - const scripts: HTMLScriptElement[] = [] - const createScript = (scriptSrc: string): HTMLScriptElement => { - const script = document.createElement('script') - script.src = scriptSrc - script.async = true - script.onload = () => { - setHasHubButtonComponent(customElements.get('hub-button-app') !== undefined) - } - scripts.push(script) - return script - } - - // Source: https://github.com/traefik/traefiklabs-hub-button-app - document.head.appendChild(createScript('traefiklabs-hub-button-app/main-v1.js')) - - return () => { - // Remove the scripts on unmount. - scripts.forEach((script) => { - if (script.parentNode) { - script.parentNode.removeChild(script) - } - }) - } - }, [showHubButton]) - - return ( - - {!noHubButton && hasHubButtonComponent && ( - - - - )} - - - - - - - - - - - - - - Documentation - - - - - - - - Github Repository - - - - - - - - - ) -} diff --git a/webui/src/layout/navigation/TopNavBar.tsx b/webui/src/layout/navigation/TopNavBar.tsx new file mode 100644 index 000000000..e31092098 --- /dev/null +++ b/webui/src/layout/navigation/TopNavBar.tsx @@ -0,0 +1,158 @@ +import { + Box, + Button, + CSS, + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuPortal, + DropdownMenuTrigger, + Flex, + Link, + Text, + Tooltip, +} from '@traefiklabs/faency' +import { useContext, useEffect, useMemo, useState } from 'react' +import { FiBookOpen, FiChevronLeft, FiGithub, FiHeart, FiHelpCircle } from 'react-icons/fi' +import { useLocation } from 'react-router-dom' + +import { DARK_PRIMARY_COLOR, LIGHT_PRIMARY_COLOR } from '../Page' + +import ThemeSwitcher from 'components/ThemeSwitcher' +import { VersionContext } from 'contexts/version' +import { useRouterReturnTo } from 'hooks/use-href-with-return-to' +import { useIsDarkMode } from 'hooks/use-theme' + +const TopNavBarBackLink = () => { + const { returnTo, returnToLabel } = useRouterReturnTo() + const { pathname } = useLocation() + + if (!returnTo || pathname.includes('hub-dashboard')) return + + return ( + + + + + + ) +} + +export const TopNav = ({ css, noHubButton = false }: { css?: CSS; noHubButton?: boolean }) => { + const [hasHubButtonComponent, setHasHubButtonComponent] = useState(false) + const { showHubButton, version } = useContext(VersionContext) + const isDarkMode = useIsDarkMode() + + const parsedVersion = useMemo(() => { + if (!version) { + return 'master' + } + if (version === 'dev') { + return 'master' + } + const matches = version.match(/^(v?\d+\.\d+)/) + return matches ? 'v' + matches[1] : 'master' + }, [version]) + + useEffect(() => { + if (!showHubButton) { + setHasHubButtonComponent(false) + return + } + + if (customElements.get('hub-button-app')) { + setHasHubButtonComponent(true) + return + } + + const scripts: HTMLScriptElement[] = [] + const createScript = (scriptSrc: string): HTMLScriptElement => { + const script = document.createElement('script') + script.src = scriptSrc + script.async = true + script.onload = () => { + setHasHubButtonComponent(customElements.get('hub-button-app') !== undefined) + } + scripts.push(script) + return script + } + + // Source: https://github.com/traefik/traefiklabs-hub-button-app + document.head.appendChild(createScript('traefiklabs-hub-button-app/main-v1.js')) + + return () => { + // Remove the scripts on unmount. + scripts.forEach((script) => { + if (script.parentNode) { + script.parentNode.removeChild(script) + } + }) + } + }, [showHubButton]) + + return ( + + + + {!noHubButton && hasHubButtonComponent && ( + + + + )} + + + + + + + + + + + + + + + + + + + Documentation + + + + + + + + Github Repository + + + + + + + + + + ) +} diff --git a/webui/src/layout/navigation/index.ts b/webui/src/layout/navigation/index.ts new file mode 100644 index 000000000..22f77a319 --- /dev/null +++ b/webui/src/layout/navigation/index.ts @@ -0,0 +1,5 @@ +// common breakpoint for large screen, cf. https://www.w3schools.com/howto/howto_css_media_query_breakpoints.asp +export const LAPTOP_BP = 1200 + +export * from './SideNavBar' +export * from './TopNavBar' diff --git a/webui/src/pages/hub-demo/HubDashboard.tsx b/webui/src/pages/hub-demo/HubDashboard.tsx index fdbb4d37f..33cdf8744 100644 --- a/webui/src/pages/hub-demo/HubDashboard.tsx +++ b/webui/src/pages/hub-demo/HubDashboard.tsx @@ -7,7 +7,7 @@ import verifySignature from './workers/scriptVerification' import { SpinnerLoader } from 'components/SpinnerLoader' import { useIsDarkMode } from 'hooks/use-theme' -import { TopNav } from 'layout/Navigation' +import { TopNav } from 'layout/navigation' const SCRIPT_URL = 'https://assets.traefik.io/hub-ui-demo.js' diff --git a/webui/src/pages/hub-demo/HubDemoNav.tsx b/webui/src/pages/hub-demo/HubDemoNav.tsx index eba41dc07..6689ed36d 100644 --- a/webui/src/pages/hub-demo/HubDemoNav.tsx +++ b/webui/src/pages/hub-demo/HubDemoNav.tsx @@ -6,16 +6,18 @@ import { HubDemoContext } from './demoNavContext' import { HubIcon } from './icons' import Tooltip from 'components/Tooltip' -import { BasicNavigationItem, LAPTOP_BP } from 'layout/Navigation' +import { BasicNavigationItem, LAPTOP_BP } from 'layout/navigation' const ApimDemoNavMenu = ({ isResponsive, isSmallScreen, isExpanded, + onSidePanelToggle, }: { isResponsive: boolean isSmallScreen: boolean isExpanded: boolean + onSidePanelToggle: (isOpen: boolean) => void }) => { const [isCollapsed, setIsCollapsed] = useState(false) const { navigationItems: hubDemoNavItems } = useContext(HubDemoContext) @@ -38,7 +40,7 @@ const ApimDemoNavMenu = ({ transition: 'transform 0.3s ease-in-out', }} /> - {isSmallScreen ? ( + {isSmallScreen && isResponsive ? ( @@ -74,6 +76,7 @@ const ApimDemoNavMenu = ({ route={route} isSmallScreen={isSmallScreen} isExpanded={isExpanded} + onSidePanelToggle={onSidePanelToggle} /> ))} diff --git a/webui/yarn.lock b/webui/yarn.lock index 741958b91..480629146 100644 --- a/webui/yarn.lock +++ b/webui/yarn.lock @@ -94,6 +94,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.23.9": + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/535f82238027621da6bdffbdbe896ebad3558b311d6f8abc680637a9859b96edbf929ab010757055381570b29cf66c4a295b5618318d27a4273c0e2033925e72 + languageName: node + linkType: hard + "@babel/core@npm:^7.28.0": version: 7.28.0 resolution: "@babel/core@npm:7.28.0" @@ -143,6 +166,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" + dependencies: + "@babel/parser": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/9f219fe1d5431b6919f1a5c60db8d5d34fe546c0d8f5a8511b32f847569234ffc8032beb9e7404649a143f54e15224ecb53a3d11b6bb85c3203e573d91fca752 + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" @@ -240,7 +276,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.25.9": +"@babel/helper-module-imports@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: @@ -286,6 +322,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" @@ -373,6 +422,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" @@ -418,6 +474,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" + dependencies: + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": version: 7.27.0 resolution: "@babel/parser@npm:7.27.0" @@ -440,6 +506,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" + dependencies: + "@babel/types": "npm:^7.28.5" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/5bbe48bf2c79594ac02b490a41ffde7ef5aa22a9a88ad6bcc78432a6ba8a9d638d531d868bd1f104633f1f6bba9905746e15185b8276a3756c42b765d131b1ef + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" @@ -541,6 +618,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-typescript@npm:^7.23.3": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d + languageName: node + linkType: hard + "@babel/plugin-syntax-typescript@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" @@ -1443,6 +1531,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.5" + debug: "npm:^4.3.1" + checksum: 10c0/f6c4a595993ae2b73f2d4cd9c062f2e232174d293edd4abe1d715bd6281da8d99e47c65857e8d0917d9384c65972f4acdebc6749a7c40a8fcc38b3c7fb3e706f + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0, @babel/types@npm:^7.4.4": version: 7.27.0 resolution: "@babel/types@npm:7.27.0" @@ -1463,6 +1566,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/a5a483d2100befbf125793640dec26b90b95fd233a94c19573325898a5ce1e52cdfa96e495c7dcc31b5eca5b66ce3e6d4a0f5a4a62daec271455959f208ab08a + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^1.0.2": version: 1.0.2 resolution: "@bcoe/v8-coverage@npm:1.0.2" @@ -1590,6 +1703,13 @@ __metadata: languageName: node linkType: hard +"@emotion/hash@npm:^0.9.0": + version: 0.9.2 + resolution: "@emotion/hash@npm:0.9.2" + checksum: 10c0/0dc254561a3cc0a06a10bbce7f6a997883fd240c8c1928b93713f803a2e9153a257a488537012efe89dbe1246f2abfe2add62cdb3471a13d67137fcb808e81c2 + languageName: node + linkType: hard + "@esbuild/aix-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/aix-ppc64@npm:0.21.5" @@ -1597,6 +1717,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/aix-ppc64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/aix-ppc64@npm:0.25.2" @@ -1618,6 +1745,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/android-arm64@npm:0.25.2" @@ -1639,6 +1773,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/android-arm@npm:0.25.2" @@ -1660,6 +1801,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/android-x64@npm:0.25.2" @@ -1681,6 +1829,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/darwin-arm64@npm:0.25.2" @@ -1702,6 +1857,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/darwin-x64@npm:0.25.2" @@ -1723,6 +1885,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/freebsd-arm64@npm:0.25.2" @@ -1744,6 +1913,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/freebsd-x64@npm:0.25.2" @@ -1765,6 +1941,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-arm64@npm:0.25.2" @@ -1786,6 +1969,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-arm@npm:0.25.2" @@ -1807,6 +1997,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-ia32@npm:0.25.2" @@ -1828,6 +2025,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-loong64@npm:0.25.2" @@ -1849,6 +2053,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-mips64el@npm:0.25.2" @@ -1870,6 +2081,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-ppc64@npm:0.25.2" @@ -1891,6 +2109,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-riscv64@npm:0.25.2" @@ -1912,6 +2137,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-s390x@npm:0.25.2" @@ -1933,6 +2165,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/linux-x64@npm:0.25.2" @@ -1947,6 +2186,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/netbsd-arm64@npm:0.25.2" @@ -1968,6 +2214,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/netbsd-x64@npm:0.25.2" @@ -1982,6 +2235,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/openbsd-arm64@npm:0.25.2" @@ -2003,6 +2263,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/openbsd-x64@npm:0.25.2" @@ -2017,6 +2284,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openharmony-arm64@npm:0.25.8": version: 0.25.8 resolution: "@esbuild/openharmony-arm64@npm:0.25.8" @@ -2031,6 +2305,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/sunos-x64@npm:0.25.2" @@ -2052,6 +2333,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/win32-arm64@npm:0.25.2" @@ -2073,6 +2361,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/win32-ia32@npm:0.25.2" @@ -2094,6 +2389,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.25.2": version: 0.25.2 resolution: "@esbuild/win32-x64@npm:0.25.2" @@ -2357,6 +2659,22 @@ __metadata: languageName: node linkType: hard +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10c0/7da011805b259ec5c955f01cee903da72ad97c5e6f01ca96197267d3f33103d5b2f8a1af192140f3aa64526c593c8d098ae366c2b11f7f17645d12387c2fd420 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10c0/b4d4812f4be53afc2c5b6c545001ff7a4659af68d4484804e9d514e183d20269bb81def8682c01a22b17c4d6aed14292c8494f7d2ac664e547101c1a905aa977 + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -2464,6 +2782,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -2543,6 +2871,60 @@ __metadata: languageName: node linkType: hard +"@microsoft/api-extractor-model@npm:7.31.3": + version: 7.31.3 + resolution: "@microsoft/api-extractor-model@npm:7.31.3" + dependencies: + "@microsoft/tsdoc": "npm:~0.15.1" + "@microsoft/tsdoc-config": "npm:~0.17.1" + "@rushstack/node-core-library": "npm:5.18.0" + checksum: 10c0/4e4a798c5d92b72fa664932019563f085153cf33f7745f8ea452901348a0021f19c7c3db55e5555b779a78df52d93ec10960349b5bc1ee53bf555e63c0fe1197 + languageName: node + linkType: hard + +"@microsoft/api-extractor@npm:^7.50.1": + version: 7.54.0 + resolution: "@microsoft/api-extractor@npm:7.54.0" + dependencies: + "@microsoft/api-extractor-model": "npm:7.31.3" + "@microsoft/tsdoc": "npm:~0.15.1" + "@microsoft/tsdoc-config": "npm:~0.17.1" + "@rushstack/node-core-library": "npm:5.18.0" + "@rushstack/rig-package": "npm:0.6.0" + "@rushstack/terminal": "npm:0.19.3" + "@rushstack/ts-command-line": "npm:5.1.3" + diff: "npm:~8.0.2" + lodash: "npm:~4.17.15" + minimatch: "npm:10.0.3" + resolve: "npm:~1.22.1" + semver: "npm:~7.5.4" + source-map: "npm:~0.6.1" + typescript: "npm:5.8.2" + bin: + api-extractor: bin/api-extractor + checksum: 10c0/e4708ac5edc3bb32988b632cc75e6f5e5b3afe7772c7229974db91f731d6b8d3c786c406d5437bfce893b78c6f23c64b084db52952a7d35294e2525171a465ee + languageName: node + linkType: hard + +"@microsoft/tsdoc-config@npm:~0.17.1": + version: 0.17.1 + resolution: "@microsoft/tsdoc-config@npm:0.17.1" + dependencies: + "@microsoft/tsdoc": "npm:0.15.1" + ajv: "npm:~8.12.0" + jju: "npm:~1.4.0" + resolve: "npm:~1.22.2" + checksum: 10c0/a686355796f492f27af17e2a17d615221309caf4d9f9047a5a8f17f8625c467c4c81e2a7923ddafd71b892631d5e5013c4b8cc49c5867d3cc1d260fd90c1413d + languageName: node + linkType: hard + +"@microsoft/tsdoc@npm:0.15.1, @microsoft/tsdoc@npm:~0.15.1": + version: 0.15.1 + resolution: "@microsoft/tsdoc@npm:0.15.1" + checksum: 10c0/09948691fac56c45a0d1920de478d66a30371a325bd81addc92eea5654d95106ce173c440fea1a1bd5bb95b3a544b6d4def7bb0b5a846c05d043575d8369a20c + languageName: node + linkType: hard + "@mswjs/interceptors@npm:^0.37.0": version: 0.37.6 resolution: "@mswjs/interceptors@npm:0.37.6" @@ -3427,7 +3809,7 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-icons@npm:^1.1.1": +"@radix-ui/react-icons@npm:^1.3.2": version: 1.3.2 resolution: "@radix-ui/react-icons@npm:1.3.2" peerDependencies: @@ -4071,46 +4453,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-babel@npm:^5.3.1": - version: 5.3.1 - resolution: "@rollup/plugin-babel@npm:5.3.1" - dependencies: - "@babel/helper-module-imports": "npm:^7.10.4" - "@rollup/pluginutils": "npm:^3.1.0" - peerDependencies: - "@babel/core": ^7.0.0 - "@types/babel__core": ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - "@types/babel__core": - optional: true - checksum: 10c0/2766134dd5567c0d4fd6909d1f511ce9bf3bd9d727e1bc5ffdd6097a3606faca324107ae8e0961839ee4dbb45e5e579ae601efe472fc0a271259aea79920cafa - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^3.1.0": - version: 3.1.0 - resolution: "@rollup/pluginutils@npm:3.1.0" - dependencies: - "@types/estree": "npm:0.0.39" - estree-walker: "npm:^1.0.1" - picomatch: "npm:^2.2.2" - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 10c0/7151753160d15ba2b259461a6c25b3932150994ea52dba8fd3144f634c7647c2e56733d986e2c15de67c4d96a9ee7d6278efa6d2e626a7169898fd64adc0f90c - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^4.1.2": - version: 4.2.1 - resolution: "@rollup/pluginutils@npm:4.2.1" - dependencies: - estree-walker: "npm:^2.0.1" - picomatch: "npm:^2.2.2" - checksum: 10c0/3ee56b2c8f1ed8dfd0a92631da1af3a2dfdd0321948f089b3752b4de1b54dc5076701eadd0e5fc18bd191b77af594ac1db6279e83951238ba16bf8a414c64c48 - languageName: node - linkType: hard - "@rollup/pluginutils@npm:^5.0.2": version: 5.1.4 resolution: "@rollup/pluginutils@npm:5.1.4" @@ -4127,6 +4469,22 @@ __metadata: languageName: node linkType: hard +"@rollup/pluginutils@npm:^5.1.4": + version: 5.3.0 + resolution: "@rollup/pluginutils@npm:5.3.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/001834bf62d7cf5bac424d2617c113f7f7d3b2bf3c1778cbcccb72cdc957b68989f8e7747c782c2b911f1dde8257f56f8ac1e779e29e74e638e3f1e2cac2bcd0 + languageName: node + linkType: hard + "@rollup/rollup-android-arm-eabi@npm:4.39.0": version: 4.39.0 resolution: "@rollup/rollup-android-arm-eabi@npm:4.39.0" @@ -4428,6 +4786,77 @@ __metadata: languageName: node linkType: hard +"@rushstack/node-core-library@npm:5.18.0": + version: 5.18.0 + resolution: "@rushstack/node-core-library@npm:5.18.0" + dependencies: + ajv: "npm:~8.13.0" + ajv-draft-04: "npm:~1.0.0" + ajv-formats: "npm:~3.0.1" + fs-extra: "npm:~11.3.0" + import-lazy: "npm:~4.0.0" + jju: "npm:~1.4.0" + resolve: "npm:~1.22.1" + semver: "npm:~7.5.4" + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/dc9744f5359178b9772508f1f7229c7586bf7e74942e6e28e3bcd48d1af97d5a9d4866fe243e3b0003309896b134780837033115291c37c1b8da363bb3e551bf + languageName: node + linkType: hard + +"@rushstack/problem-matcher@npm:0.1.1": + version: 0.1.1 + resolution: "@rushstack/problem-matcher@npm:0.1.1" + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/c847e721d3536ebb316fdd90b3e4033a7d24ff8c70e38e3eaeaadf167c4d14a7f16377ae4af8097532386bcfa81c15cfec7d2da517542c07882d273d56861d78 + languageName: node + linkType: hard + +"@rushstack/rig-package@npm:0.6.0": + version: 0.6.0 + resolution: "@rushstack/rig-package@npm:0.6.0" + dependencies: + resolve: "npm:~1.22.1" + strip-json-comments: "npm:~3.1.1" + checksum: 10c0/303c5c010a698343124036414dbeed44b24e67585307ffa6effd052624b0384cc08a12aeb153e8466b7abd6f516900ecf8629600230f0f2c33cd5c0c3dace65e + languageName: node + linkType: hard + +"@rushstack/terminal@npm:0.19.3": + version: 0.19.3 + resolution: "@rushstack/terminal@npm:0.19.3" + dependencies: + "@rushstack/node-core-library": "npm:5.18.0" + "@rushstack/problem-matcher": "npm:0.1.1" + supports-color: "npm:~8.1.1" + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/aae29b9f7968192af2750ec0a0d31dd9d320494838a8f8a312a0773c2dc1420b087a2a6f98c9915d0215da0c9f7a11f58a4954758b62fce569c62f4daa32368d + languageName: node + linkType: hard + +"@rushstack/ts-command-line@npm:5.1.3": + version: 5.1.3 + resolution: "@rushstack/ts-command-line@npm:5.1.3" + dependencies: + "@rushstack/terminal": "npm:0.19.3" + "@types/argparse": "npm:1.0.38" + argparse: "npm:~1.0.9" + string-argv: "npm:~0.3.1" + checksum: 10c0/03263347660eb2fd9e4c88e704f7611f9d16f3f31ce43726165ab3421dff3cfdb51c9e25170f96dd8c0c3681595d6a1665bfec16224718ea20173507ef531240 + languageName: node + linkType: hard + "@samverschueren/stream-to-observable@npm:^0.3.0": version: 0.3.1 resolution: "@samverschueren/stream-to-observable@npm:0.3.1" @@ -4564,16 +4993,16 @@ __metadata: languageName: node linkType: hard -"@stitches/react@npm:1.2.7": - version: 1.2.7 - resolution: "@stitches/react@npm:1.2.7" +"@stitches/react@npm:1.2.8": + version: 1.2.8 + resolution: "@stitches/react@npm:1.2.8" peerDependencies: react: ">= 16.3.0" - checksum: 10c0/c5da5e4b862306d2dd0545765c497bf5b972315a801ee7120374c13950db49587fe3f3ef5282be1ce189f9de2acbe3a4d0f8ba40283fe058b8d056674a336e60 + checksum: 10c0/d9c03cd88ac25edc493b23a1359f36aa9a497d13bb7a833204d8228b09b6227c1a8ea22e946312ca605f7819fbdd3c49d5f8a5f14b2801c9a31d36172d7f60ac languageName: node linkType: hard -"@storybook/addon-actions@npm:8.6.12, @storybook/addon-actions@npm:^8.2.2": +"@storybook/addon-actions@npm:8.6.12": version: 8.6.12 resolution: "@storybook/addon-actions@npm:8.6.12" dependencies: @@ -5009,9 +5438,9 @@ __metadata: languageName: node linkType: hard -"@traefiklabs/faency@npm:11.1.4": - version: 11.1.4 - resolution: "@traefiklabs/faency@npm:11.1.4" +"@traefiklabs/faency@npm:12.0.4": + version: 12.0.4 + resolution: "@traefiklabs/faency@npm:12.0.4" dependencies: "@babel/core": "npm:^7.15.4" "@babel/plugin-transform-react-pure-annotations": "npm:^7.16.7" @@ -5030,7 +5459,7 @@ __metadata: "@radix-ui/react-context-menu": "npm:^2.0.1" "@radix-ui/react-dialog": "npm:^1.0.2" "@radix-ui/react-dropdown-menu": "npm:^2.0.1" - "@radix-ui/react-icons": "npm:^1.1.1" + "@radix-ui/react-icons": "npm:^1.3.2" "@radix-ui/react-id": "npm:^1.0.0" "@radix-ui/react-label": "npm:^2.0.0" "@radix-ui/react-navigation-menu": "npm:^1.2.0" @@ -5049,13 +5478,11 @@ __metadata: "@radix-ui/react-use-layout-effect": "npm:^1.0.0" "@radix-ui/react-visually-hidden": "npm:^1.0.1" "@rehookify/datepicker": "npm:^6.6.7" - "@rollup/plugin-babel": "npm:^5.3.1" "@semantic-release/commit-analyzer": "npm:^9.0.2" "@semantic-release/github": "npm:^8.0.2" "@semantic-release/npm": "npm:^9.0.0" "@semantic-release/release-notes-generator": "npm:^10.0.3" - "@stitches/react": "npm:1.2.7" - "@storybook/addon-actions": "npm:^8.2.2" + "@stitches/react": "npm:1.2.8" "@storybook/addon-docs": "npm:^8.2.5" "@storybook/addon-essentials": "npm:^8.2.5" "@storybook/addon-links": "npm:^8.2.2" @@ -5071,6 +5498,10 @@ __metadata: "@types/react": "npm:18.2.0" "@types/react-dom": "npm:18.2.0" "@types/tinycolor2": "npm:^1.4.3" + "@vanilla-extract/css": "npm:^1.17.4" + "@vanilla-extract/dynamic": "npm:^2.1.5" + "@vanilla-extract/recipes": "npm:^0.5.7" + "@vanilla-extract/vite-plugin": "npm:^5.1.1" "@vitejs/plugin-react": "npm:^4.3.1" babel-loader: "npm:^8.2.2" conventional-changelog-conventionalcommits: "npm:^4.6.3" @@ -5081,22 +5512,21 @@ __metadata: lodash.merge: "npm:^4.6.2" np: "npm:^8.0.4" patch-package: "npm:^8.0.0" - prettier: "npm:^3.3.3" + prettier: "npm:^3.6.2" react: "npm:18.2.0" react-dom: "npm:18.2.0" - rollup: "npm:^2.70.1" - rollup-plugin-typescript2: "npm:^0.36.0" semantic-release: "npm:^19.0.2" storybook: "npm:^8.2.5" storybook-dark-mode: "npm:^4.0.2" tinycolor2: "npm:^1.4.2" - typescript: "npm:5.4.5" + typescript: "npm:^5.8.3" use-debounce: "npm:9.0.2" - vite: "npm:^5.1.5" + vite: "npm:^5.4.19" + vite-plugin-dts: "npm:^4.5.4" peerDependencies: react: ">=18" react-dom: ">=18" - checksum: 10c0/3ef3f665b402a247cda758df9d485b6d573c69e1ebb595e69139a087c88bbd25ad0999b016cd28fa8ed174ec90b347bb5a94661a383f357fd07b6bfd9ce4c287 + checksum: 10c0/3ad37330aebe01ff674acc8d37799dbce6ac9b9971b6dcdb015be10699ce4386e181a53667bd6e2311dd0ffc5880afacd0b9140d308c63255d2338f1e2a7c08d languageName: node linkType: hard @@ -5109,6 +5539,13 @@ __metadata: languageName: node linkType: hard +"@types/argparse@npm:1.0.38": + version: 1.0.38 + resolution: "@types/argparse@npm:1.0.38" + checksum: 10c0/4fc892da5df16923f48180da2d1f4562fa8b0507cf636b24780444fa0a1d7321d4dc0c0ecbee6152968823f5a2ae0d321b4f8c705a489bf1ae1245bdeb0868fd + languageName: node + linkType: hard + "@types/aria-query@npm:^5.0.1": version: 5.0.4 resolution: "@types/aria-query@npm:5.0.4" @@ -5199,13 +5636,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:0.0.39": - version: 0.0.39 - resolution: "@types/estree@npm:0.0.39" - checksum: 10c0/f0af6c95ac1988c4827964bd9d3b51d24da442e2188943f6dfcb1e1559103d5d024d564b2e9d3f84c53714a02a0a7435c7441138eb63d9af5de4dfc66cdc0d92 - languageName: node - linkType: hard - "@types/estree@npm:1.0.7, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": version: 1.0.7 resolution: "@types/estree@npm:1.0.7" @@ -5822,6 +6252,102 @@ __metadata: languageName: node linkType: hard +"@vanilla-extract/babel-plugin-debug-ids@npm:^1.2.2": + version: 1.2.2 + resolution: "@vanilla-extract/babel-plugin-debug-ids@npm:1.2.2" + dependencies: + "@babel/core": "npm:^7.23.9" + checksum: 10c0/ac9dc2fc01cf737a2d6c9e318e4417acf073eead736afd03fab3b1f1a41553b37a0ded291f88c2cbb09e233a60928f2a493405dd14e0353995de79216c44debf + languageName: node + linkType: hard + +"@vanilla-extract/compiler@npm:^0.3.1": + version: 0.3.1 + resolution: "@vanilla-extract/compiler@npm:0.3.1" + dependencies: + "@vanilla-extract/css": "npm:^1.17.4" + "@vanilla-extract/integration": "npm:^8.0.4" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0" + vite-node: "npm:^3.2.2" + checksum: 10c0/2863ffb30a9be1c11f1f1e658fded42a558d55f9163c34a6465021671740dbefdc2491bc2434815bf5c6cd5771d529331b1e0cd0c39c162306341acbfb2be768 + languageName: node + linkType: hard + +"@vanilla-extract/css@npm:^1.17.4": + version: 1.17.4 + resolution: "@vanilla-extract/css@npm:1.17.4" + dependencies: + "@emotion/hash": "npm:^0.9.0" + "@vanilla-extract/private": "npm:^1.0.9" + css-what: "npm:^6.1.0" + cssesc: "npm:^3.0.0" + csstype: "npm:^3.0.7" + dedent: "npm:^1.5.3" + deep-object-diff: "npm:^1.1.9" + deepmerge: "npm:^4.2.2" + lru-cache: "npm:^10.4.3" + media-query-parser: "npm:^2.0.2" + modern-ahocorasick: "npm:^1.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/f241aef803db870e2b503ca1b8ed81976e839ab884e4c20594a352de7fe8c693920e05b17b4b4892d86d8c65126bec3184f003afc406505cb419b2b5569c11e1 + languageName: node + linkType: hard + +"@vanilla-extract/dynamic@npm:^2.1.5": + version: 2.1.5 + resolution: "@vanilla-extract/dynamic@npm:2.1.5" + dependencies: + "@vanilla-extract/private": "npm:^1.0.9" + checksum: 10c0/6b7f445918972579d8f988ccca54f3c9c0fdaf5f2bdff641e5e87eae3952e523acb3ac7243162317941d7cf71ba2383a2a4eeaa32eb5a1b661e098b27e02961d + languageName: node + linkType: hard + +"@vanilla-extract/integration@npm:^8.0.4": + version: 8.0.4 + resolution: "@vanilla-extract/integration@npm:8.0.4" + dependencies: + "@babel/core": "npm:^7.23.9" + "@babel/plugin-syntax-typescript": "npm:^7.23.3" + "@vanilla-extract/babel-plugin-debug-ids": "npm:^1.2.2" + "@vanilla-extract/css": "npm:^1.17.4" + dedent: "npm:^1.5.3" + esbuild: "npm:esbuild@>=0.17.6 <0.26.0" + eval: "npm:0.1.8" + find-up: "npm:^5.0.0" + javascript-stringify: "npm:^2.0.1" + mlly: "npm:^1.4.2" + checksum: 10c0/3f409bb52d44f8c3bc6cd133d89f72ec87e5985bf1c75534b59712c2260da3b3040ba0fd120c61dbc1d400884aa656a502981cf479ffe584379ede779c472617 + languageName: node + linkType: hard + +"@vanilla-extract/private@npm:^1.0.9": + version: 1.0.9 + resolution: "@vanilla-extract/private@npm:1.0.9" + checksum: 10c0/6ab0f1a63a8c93c655a161add6f4d413d897498411f013ba3179f56e350e17b2b3cf04fe4e7d2d69aa1dd8dac7aeaf07fb39192192aa7ae445c75451b78aa3c8 + languageName: node + linkType: hard + +"@vanilla-extract/recipes@npm:^0.5.7": + version: 0.5.7 + resolution: "@vanilla-extract/recipes@npm:0.5.7" + peerDependencies: + "@vanilla-extract/css": ^1.0.0 + checksum: 10c0/18e7a7a12dedd16e43a1974c8ee273bee9080bd70042e91ce244e4be5679c4f626a257d37186bbd3562157d48fec26650a50f7a396439862da527e2223687ac8 + languageName: node + linkType: hard + +"@vanilla-extract/vite-plugin@npm:^5.1.1": + version: 5.1.1 + resolution: "@vanilla-extract/vite-plugin@npm:5.1.1" + dependencies: + "@vanilla-extract/compiler": "npm:^0.3.1" + "@vanilla-extract/integration": "npm:^8.0.4" + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10c0/6cd9ae7505bda6f0789bf4538adef987a24ee41bcaa8356775bbf07aac3665d9d29a15ef1057add9895885e66cf661cfe0ba8340a9bcedba95ceccfcf9c16bf0 + languageName: node + linkType: hard + "@vitejs/plugin-react@npm:^4.3.1": version: 4.3.4 resolution: "@vitejs/plugin-react@npm:4.3.4" @@ -5971,6 +6497,94 @@ __metadata: languageName: node linkType: hard +"@volar/language-core@npm:2.4.23, @volar/language-core@npm:~2.4.11": + version: 2.4.23 + resolution: "@volar/language-core@npm:2.4.23" + dependencies: + "@volar/source-map": "npm:2.4.23" + checksum: 10c0/1b8d60c7c0faa29ef5ec46dd2b673227592d0697753767e4df088f7c2d93843828116fe59472bb9d604ba653400be32a538e985730844b1af4f42a7075e62049 + languageName: node + linkType: hard + +"@volar/source-map@npm:2.4.23": + version: 2.4.23 + resolution: "@volar/source-map@npm:2.4.23" + checksum: 10c0/08af690093b811d0a37bdd8d306755b4e7f1535b67625c26f6fa6eb9ae081e24c55dabc8231ce8856aa1b731a5ac137b3f0449b34c093923c3545afdbe462c7a + languageName: node + linkType: hard + +"@volar/typescript@npm:^2.4.11": + version: 2.4.23 + resolution: "@volar/typescript@npm:2.4.23" + dependencies: + "@volar/language-core": "npm:2.4.23" + path-browserify: "npm:^1.0.1" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/dbb449b66e627a75f8f6df98b3210c32edff62747a12d1e6237a6dc2a75f26432833d4d3646d6fbd60ed21fa52d7e342437377973b80cf4bbeacee1980ffd0cb + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.5.23": + version: 3.5.23 + resolution: "@vue/compiler-core@npm:3.5.23" + dependencies: + "@babel/parser": "npm:^7.28.5" + "@vue/shared": "npm:3.5.23" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.1" + checksum: 10c0/195c57b2eb8c6948bf3b1b3f65c2a5a9bf9e252376bcd22bd9b5e1787c4254abc4bffab5f15902c7820f5e607b26d44578cddeb39605ece37b611703c2d6152b + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:^3.5.0": + version: 3.5.23 + resolution: "@vue/compiler-dom@npm:3.5.23" + dependencies: + "@vue/compiler-core": "npm:3.5.23" + "@vue/shared": "npm:3.5.23" + checksum: 10c0/fb925b2d64de40c1b39852f5fd26fdec3238f8381ccc2b30a1bef372ef894fff4e6f0231f8a135a02d6a5c8b8254dc7018bcd136a689579a72a3a0e1ff211a89 + languageName: node + linkType: hard + +"@vue/compiler-vue2@npm:^2.7.16": + version: 2.7.16 + resolution: "@vue/compiler-vue2@npm:2.7.16" + dependencies: + de-indent: "npm:^1.0.2" + he: "npm:^1.2.0" + checksum: 10c0/c76c3fad770b9a7da40b314116cc9da173da20e5fd68785c8ed8dd8a87d02f239545fa296e16552e040ec86b47bfb18283b39447b250c2e76e479bd6ae475bb3 + languageName: node + linkType: hard + +"@vue/language-core@npm:2.2.0": + version: 2.2.0 + resolution: "@vue/language-core@npm:2.2.0" + dependencies: + "@volar/language-core": "npm:~2.4.11" + "@vue/compiler-dom": "npm:^3.5.0" + "@vue/compiler-vue2": "npm:^2.7.16" + "@vue/shared": "npm:^3.5.0" + alien-signals: "npm:^0.4.9" + minimatch: "npm:^9.0.3" + muggle-string: "npm:^0.4.1" + path-browserify: "npm:^1.0.1" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1c44cc4067266bbc825af358a867aed455963a08c160cd9df9a47571fd917a87d9de9bdea6149877e0c8309a6cf39f263e7cf2fbadeceba47a5a158f392151b2 + languageName: node + linkType: hard + +"@vue/shared@npm:3.5.23, @vue/shared@npm:^3.5.0": + version: 3.5.23 + resolution: "@vue/shared@npm:3.5.23" + checksum: 10c0/0f051ea60a756520b0b0af3d5058587b47f1942476c7f2cee6f78589c97c246acabdea11c73e2f84f13ecfb36c1160aacecca37694144326ebec8c108103bb89 + languageName: node + linkType: hard + "@yarnpkg/lockfile@npm:^1.1.0": version: 1.1.0 resolution: "@yarnpkg/lockfile@npm:1.1.0" @@ -6076,6 +6690,32 @@ __metadata: languageName: node linkType: hard +"ajv-draft-04@npm:~1.0.0": + version: 1.0.0 + resolution: "ajv-draft-04@npm:1.0.0" + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/6044310bd38c17d77549fd326bd40ce1506fa10b0794540aa130180808bf94117fac8c9b448c621512bea60e4a947278f6a978e87f10d342950c15b33ddd9271 + languageName: node + linkType: hard + +"ajv-formats@npm:~3.0.1": + version: 3.0.1 + resolution: "ajv-formats@npm:3.0.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/168d6bca1ea9f163b41c8147bae537e67bd963357a5488a1eaf3abe8baa8eec806d4e45f15b10767e6020679315c7e1e5e6803088dfb84efa2b4e9353b83dd0a + languageName: node + linkType: hard + "ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" @@ -6097,6 +6737,49 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.0.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"ajv@npm:~8.12.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + +"ajv@npm:~8.13.0": + version: 8.13.0 + resolution: "ajv@npm:8.13.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.4.1" + checksum: 10c0/14c6497b6f72843986d7344175a1aa0e2c35b1e7f7475e55bc582cddb765fca7e6bf950f465dc7846f817776d9541b706f4b5b3fbedd8dfdeb5fce6f22864264 + languageName: node + linkType: hard + +"alien-signals@npm:^0.4.9": + version: 0.4.14 + resolution: "alien-signals@npm:0.4.14" + checksum: 10c0/5abb3377bcaf6b3819e950084b3ebd022ad90210105afb450c89dc347e80e28da441bf34858a57ea122abe7603e552ddbad80dc597c8f02a0a5206c5fb9c20cb + languageName: node + linkType: hard + "all-package-names@npm:^2.0.2": version: 2.0.897 resolution: "all-package-names@npm:2.0.897" @@ -6265,7 +6948,7 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": +"argparse@npm:^1.0.7, argparse@npm:~1.0.9": version: 1.0.10 resolution: "argparse@npm:1.0.10" dependencies: @@ -6799,6 +7482,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + "cacache@npm:^16.0.0, cacache@npm:^16.1.0, cacache@npm:^16.1.3": version: 16.1.3 resolution: "cacache@npm:16.1.3" @@ -7413,6 +8103,13 @@ __metadata: languageName: node linkType: hard +"compare-versions@npm:^6.1.1": + version: 6.1.1 + resolution: "compare-versions@npm:6.1.1" + checksum: 10c0/415205c7627f9e4f358f571266422980c9fe2d99086be0c9a48008ef7c771f32b0fbe8e97a441ffedc3910872f917a0675fe0fe3c3b6d331cda6d8690be06338 + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -7420,6 +8117,20 @@ __metadata: languageName: node linkType: hard +"confbox@npm:^0.1.8": + version: 0.1.8 + resolution: "confbox@npm:0.1.8" + checksum: 10c0/fc2c68d97cb54d885b10b63e45bd8da83a8a71459d3ecf1825143dd4c7f9f1b696b3283e07d9d12a144c1301c2ebc7842380bdf0014e55acc4ae1c9550102418 + languageName: node + linkType: hard + +"confbox@npm:^0.2.2": + version: 0.2.2 + resolution: "confbox@npm:0.2.2" + checksum: 10c0/7c246588d533d31e8cdf66cb4701dff6de60f9be77ab54c0d0338e7988750ac56863cc0aca1b3f2046f45ff223a765d3e5d4977a7674485afcd37b6edf3fd129 + languageName: node + linkType: hard + "config-chain@npm:^1.1.11": version: 1.1.13 resolution: "config-chain@npm:1.1.13" @@ -7640,6 +8351,13 @@ __metadata: languageName: node linkType: hard +"css-what@npm:^6.1.0": + version: 6.2.2 + resolution: "css-what@npm:6.2.2" + checksum: 10c0/91e24c26fb977b4ccef30d7007d2668c1c10ac0154cc3f42f7304410e9594fb772aea4f30c832d2993b132ca8d99338050866476210316345ec2e7d47b248a56 + languageName: node + linkType: hard + "css.escape@npm:^1.5.1": version: 1.5.1 resolution: "css.escape@npm:1.5.1" @@ -7673,7 +8391,7 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2": +"csstype@npm:^3.0.2, csstype@npm:^3.0.7": version: 3.1.3 resolution: "csstype@npm:3.1.3" checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 @@ -7751,6 +8469,13 @@ __metadata: languageName: node linkType: hard +"de-indent@npm:^1.0.2": + version: 1.0.2 + resolution: "de-indent@npm:1.0.2" + checksum: 10c0/7058ce58abd6dfc123dd204e36be3797abd419b59482a634605420f47ae97639d0c183ec5d1b904f308a01033f473673897afc2bd59bc620ebf1658763ef4291 + languageName: node + linkType: hard + "debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.4.0 resolution: "debug@npm:4.4.0" @@ -7772,6 +8497,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.4.0, debug@npm:^4.4.3": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + "debug@npm:^4.4.1": version: 4.4.1 resolution: "debug@npm:4.4.1" @@ -7784,18 +8521,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.4.3": - version: 4.4.3 - resolution: "debug@npm:4.4.3" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 - languageName: node - linkType: hard - "debuglog@npm:^1.0.1": version: 1.0.1 resolution: "debuglog@npm:1.0.1" @@ -7850,6 +8575,18 @@ __metadata: languageName: node linkType: hard +"dedent@npm:^1.5.3": + version: 1.7.0 + resolution: "dedent@npm:1.7.0" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10c0/c5e8a8beb5072bd5e520cb64b27a82d7ec3c2a63ee5ce47dbc2a05d5b7700cefd77a992a752cd0a8b1d979c1db06b14fb9486e805f3ad6088eda6e07cd9bf2d5 + languageName: node + linkType: hard + "deep-equal@npm:^2.0.5": version: 2.2.3 resolution: "deep-equal@npm:2.2.3" @@ -7890,6 +8627,20 @@ __metadata: languageName: node linkType: hard +"deep-object-diff@npm:^1.1.9": + version: 1.1.9 + resolution: "deep-object-diff@npm:1.1.9" + checksum: 10c0/12cfd1b000d16c9192fc649923c972f8aac2ddca4f71a292f8f2c1e2d5cf3c9c16c85e73ab3e7d8a89a5ec6918d6460677d0b05bd160f7bd50bb4816d496dc24 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + "default-browser-id@npm:^3.0.0": version: 3.0.0 resolution: "default-browser-id@npm:3.0.0" @@ -8078,6 +8829,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:~8.0.2": + version: 8.0.2 + resolution: "diff@npm:8.0.2" + checksum: 10c0/abfb387f033e089df3ec3be960205d17b54df8abf0924d982a7ced3a94c557a4e6cbff2e78b121f216b85f466b3d8d041673a386177c311aaea41459286cc9bc + languageName: node + linkType: hard + "dir-glob@npm:^3.0.0, dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -8757,6 +9515,95 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:esbuild@>=0.17.6 <0.26.0": + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b + languageName: node + linkType: hard + "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -9101,14 +9948,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^1.0.1": - version: 1.0.1 - resolution: "estree-walker@npm:1.0.1" - checksum: 10c0/fa9e5f8c1bbe8d01e314c0f03067b64a4f22d4c58410fc5237060d0c15b81e58c23921c41acc60abbdab490f1fdfcbd6408ede2d03ca704454272e0244d61a55 - languageName: node - linkType: hard - -"estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": +"estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af @@ -9131,6 +9971,16 @@ __metadata: languageName: node linkType: hard +"eval@npm:0.1.8": + version: 0.1.8 + resolution: "eval@npm:0.1.8" + dependencies: + "@types/node": "npm:*" + require-like: "npm:>= 0.1.1" + checksum: 10c0/258e700bff09e3ce3344273d5b6691b8ec5b043538d84f738f14d8b0aded33d64c00c15b380de725b1401b15f428ab35a9e7ca19a7d25f162c4f877c71586be9 + languageName: node + linkType: hard + "execa@npm:^1.0.0": version: 1.0.0 resolution: "execa@npm:1.0.0" @@ -9248,6 +10098,13 @@ __metadata: languageName: node linkType: hard +"exsolve@npm:^1.0.7": + version: 1.0.7 + resolution: "exsolve@npm:1.0.7" + checksum: 10c0/4479369d0bd84bb7e0b4f5d9bc18d26a89b6dbbbccd73f9d383d14892ef78ddbe159e01781055342f83dc00ebe90044036daf17ddf55cc21e2cac6609aa15631 + languageName: node + linkType: hard + "external-editor@npm:^3.0.3, external-editor@npm:^3.1.0": version: 3.1.0 resolution: "external-editor@npm:3.1.0" @@ -9293,6 +10150,13 @@ __metadata: languageName: node linkType: hard +"fast-uri@npm:^3.0.1": + version: 3.1.0 + resolution: "fast-uri@npm:3.1.0" + checksum: 10c0/44364adca566f70f40d1e9b772c923138d47efeac2ae9732a872baafd77061f26b097ba2f68f0892885ad177becd065520412b8ffeec34b16c99433c5b9e2de7 + languageName: node + linkType: hard + "fastest-levenshtein@npm:^1.0.12": version: 1.0.16 resolution: "fastest-levenshtein@npm:1.0.16" @@ -9398,7 +10262,7 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.3.1, find-cache-dir@npm:^3.3.2": +"find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -9560,17 +10424,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - languageName: node - linkType: hard - "fs-extra@npm:^11.0.0": version: 11.3.0 resolution: "fs-extra@npm:11.3.0" @@ -9594,6 +10447,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:~11.3.0": + version: 11.3.2 + resolution: "fs-extra@npm:11.3.2" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/f5d629e1bb646d5dedb4d8b24c5aad3deb8cc1d5438979d6f237146cd10e113b49a949ae1b54212c2fbc98e2d0995f38009a9a1d0520f0287943335e65fe919b + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -10147,6 +11011,15 @@ __metadata: languageName: node linkType: hard +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + "headers-polyfill@npm:^4.0.2": version: 4.0.3 resolution: "headers-polyfill@npm:4.0.3" @@ -10424,7 +11297,7 @@ __metadata: languageName: node linkType: hard -"import-lazy@npm:^4.0.0": +"import-lazy@npm:^4.0.0, import-lazy@npm:~4.0.0": version: 4.0.0 resolution: "import-lazy@npm:4.0.0" checksum: 10c0/a3520313e2c31f25c0b06aa66d167f329832b68a4f957d7c9daf6e0fa41822b6e84948191648b9b9d8ca82f94740cdf15eecf2401a5b42cd1c33fd84f2225cca @@ -11341,6 +12214,13 @@ __metadata: languageName: node linkType: hard +"javascript-stringify@npm:^2.0.1": + version: 2.1.0 + resolution: "javascript-stringify@npm:2.1.0" + checksum: 10c0/374e74ebff29b94de78da39daa6e530999c58a145aeb293dc21180c4584459b14d9e5721d9bc6ed4eba319c437ef0145c157c946b70ecddcff6668682a002bcc + languageName: node + linkType: hard + "jest-canvas-mock@npm:~2.5.2": version: 2.5.2 resolution: "jest-canvas-mock@npm:2.5.2" @@ -11459,6 +12339,13 @@ __metadata: languageName: node linkType: hard +"jju@npm:~1.4.0": + version: 1.4.0 + resolution: "jju@npm:1.4.0" + checksum: 10c0/f3f444557e4364cfc06b1abf8331bf3778b26c0c8552ca54429bc0092652172fdea26cbffe33e1017b303d5aa506f7ede8571857400efe459cb7439180e2acad + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -11590,6 +12477,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -11722,6 +12616,13 @@ __metadata: languageName: node linkType: hard +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b + languageName: node + linkType: hard + "language-subtag-registry@npm:^0.3.20": version: 0.3.23 resolution: "language-subtag-registry@npm:0.3.23" @@ -12063,6 +12964,17 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^1.0.0": + version: 1.1.2 + resolution: "local-pkg@npm:1.1.2" + dependencies: + mlly: "npm:^1.7.4" + pkg-types: "npm:^2.3.0" + quansync: "npm:^0.2.11" + checksum: 10c0/1bcfcc5528dea95cba3caa478126a348d3985aad9f69ecf7802c13efef90897e1c5ff7851974332c5e6d4a4698efe610fef758a068c8bc3feb5322aeb35d5993 + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -12170,7 +13082,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.12, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.17.4": +"lodash@npm:^4.17.12, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:~4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c @@ -12456,6 +13368,15 @@ __metadata: languageName: node linkType: hard +"media-query-parser@npm:^2.0.2": + version: 2.0.2 + resolution: "media-query-parser@npm:2.0.2" + dependencies: + "@babel/runtime": "npm:^7.12.5" + checksum: 10c0/91a987e9f6620f5c7d0fcf22bd0a106bbaccdef96aba62c461656ee656e141dd2b60f2f1d99411799183c2ea993bd177ca92c26c08bf321fbc0c846ab391d79c + languageName: node + linkType: hard + "memoizerific@npm:^1.11.3": version: 1.11.3 resolution: "memoizerific@npm:1.11.3" @@ -12589,6 +13510,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:10.0.3": + version: 10.0.3 + resolution: "minimatch@npm:10.0.3" + dependencies: + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10c0/e43e4a905c5d70ac4cec8530ceaeccb9c544b1ba8ac45238e2a78121a01c17ff0c373346472d221872563204eabe929ad02669bb575cb1f0cc30facab369f70f + languageName: node + linkType: hard + "minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -12607,7 +13537,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -12790,6 +13720,25 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.4.2, mlly@npm:^1.7.4": + version: 1.8.0 + resolution: "mlly@npm:1.8.0" + dependencies: + acorn: "npm:^8.15.0" + pathe: "npm:^2.0.3" + pkg-types: "npm:^1.3.1" + ufo: "npm:^1.6.1" + checksum: 10c0/f174b844ae066c71e9b128046677868e2e28694f0bbeeffbe760b2a9d8ff24de0748d0fde6fabe706700c1d2e11d3c0d7a53071b5ea99671592fac03364604ab + languageName: node + linkType: hard + +"modern-ahocorasick@npm:^1.0.0": + version: 1.1.0 + resolution: "modern-ahocorasick@npm:1.1.0" + checksum: 10c0/63fda0dab6f39886970550f5e37c4ea41cfe0c69573a7371ebc3b2db5993ed5cf4aef3e2e454e6d730992cbd4482ed9d641509c038f2ca661ccb939d822cb3ad + languageName: node + linkType: hard + "modify-values@npm:^1.0.0": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -12862,6 +13811,13 @@ __metadata: languageName: node linkType: hard +"muggle-string@npm:^0.4.1": + version: 0.4.1 + resolution: "muggle-string@npm:0.4.1" + checksum: 10c0/e914b63e24cd23f97e18376ec47e4ba3aa24365e4776212b666add2e47bb158003212980d732c49abf3719568900af7861873844a6e2d3a7ca7e86952c0e99e9 + languageName: node + linkType: hard + "mute-stream@npm:0.0.7": version: 0.0.7 resolution: "mute-stream@npm:0.0.7" @@ -14054,6 +15010,13 @@ __metadata: languageName: node linkType: hard +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -14134,7 +15097,7 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^2.0.3": +"pathe@npm:^2.0.1, pathe@npm:^2.0.3": version: 2.0.3 resolution: "pathe@npm:2.0.3" checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 @@ -14148,7 +15111,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.2.2, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be @@ -14213,6 +15176,28 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.3.1": + version: 1.3.1 + resolution: "pkg-types@npm:1.3.1" + dependencies: + confbox: "npm:^0.1.8" + mlly: "npm:^1.7.4" + pathe: "npm:^2.0.1" + checksum: 10c0/19e6cb8b66dcc66c89f2344aecfa47f2431c988cfa3366bdfdcfb1dd6695f87dcce37fbd90fe9d1605e2f4440b77f391e83c23255347c35cf84e7fd774d7fcea + languageName: node + linkType: hard + +"pkg-types@npm:^2.3.0": + version: 2.3.0 + resolution: "pkg-types@npm:2.3.0" + dependencies: + confbox: "npm:^0.2.2" + exsolve: "npm:^1.0.7" + pathe: "npm:^2.0.3" + checksum: 10c0/d2bbddc5b81bd4741e1529c08ef4c5f1542bbdcf63498b73b8e1d84cff71806d1b8b1577800549bb569cb7aa20056257677b979bff48c97967cba7e64f72ae12 + languageName: node + linkType: hard + "please-upgrade-node@npm:^3.1.1, please-upgrade-node@npm:^3.2.0": version: 3.2.0 resolution: "please-upgrade-node@npm:3.2.0" @@ -14277,7 +15262,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.3.3, prettier@npm:^3.5.3": +"prettier@npm:^3.5.3": version: 3.5.3 resolution: "prettier@npm:3.5.3" bin: @@ -14286,6 +15271,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^3.6.2": + version: 3.6.2 + resolution: "prettier@npm:3.6.2" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/488cb2f2b99ec13da1e50074912870217c11edaddedeadc649b1244c749d15ba94e846423d062e2c4c9ae683e2d65f754de28889ba06e697ac4f988d44f45812 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.0, pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" @@ -14452,6 +15446,13 @@ __metadata: languageName: node linkType: hard +"quansync@npm:^0.2.11": + version: 0.2.11 + resolution: "quansync@npm:0.2.11" + checksum: 10c0/cb9a1f8ebce074069f2f6a78578873ffedd9de9f6aa212039b44c0870955c04a71c3b1311b5d97f8ac2f2ec476de202d0a5c01160cb12bc0a11b7ef36d22ef56 + languageName: node + linkType: hard + "query-string@npm:^6.9.0": version: 6.14.1 resolution: "query-string@npm:6.14.1" @@ -15072,6 +16073,20 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-like@npm:>= 0.1.1": + version: 0.1.2 + resolution: "require-like@npm:0.1.2" + checksum: 10c0/9035ff6c4000a56ede6fc51dd5c56541fafa5a7dddc9b1c3a5f9148d95ee21c603c9bf5c6e37b19fc7de13d9294260842d8590b2ffd6c7c773e78603d1af8050 + languageName: node + linkType: hard + "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -15149,6 +16164,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:~1.22.1, resolve@npm:~1.22.2": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" @@ -15175,6 +16203,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A~1.22.1#optional!builtin, resolve@patch:resolve@npm%3A~1.22.2#optional!builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 + languageName: node + linkType: hard + "responselike@npm:^2.0.0": version: 2.0.1 resolution: "responselike@npm:2.0.1" @@ -15256,36 +16297,6 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-typescript2@npm:^0.36.0": - version: 0.36.0 - resolution: "rollup-plugin-typescript2@npm:0.36.0" - dependencies: - "@rollup/pluginutils": "npm:^4.1.2" - find-cache-dir: "npm:^3.3.2" - fs-extra: "npm:^10.0.0" - semver: "npm:^7.5.4" - tslib: "npm:^2.6.2" - peerDependencies: - rollup: ">=1.26.3" - typescript: ">=2.4.0" - checksum: 10c0/3c8d17cd852ded36eaad2759caf170f90e091d8f86ff7b016d1823bc8b507b8f689156bcccda348fc88471681dc79cc9eb13ddb09a4dfcf0d07ac9a249e2d79b - languageName: node - linkType: hard - -"rollup@npm:^2.70.1": - version: 2.79.2 - resolution: "rollup@npm:2.79.2" - dependencies: - fsevents: "npm:~2.3.2" - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/bc3746c988d903c2211266ddc539379d53d92689b9cc5c2b4e3ae161689de9af491957a567c629b6cc81f48d0928a7591fc4c383fba68a48d2966c9fb8a2bce9 - languageName: node - linkType: hard - "rollup@npm:^4.20.0": version: 4.39.0 resolution: "rollup@npm:4.39.0" @@ -15701,7 +16712,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.1, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.7.1": +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.1, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.7.1": version: 7.7.1 resolution: "semver@npm:7.7.1" bin: @@ -15710,6 +16721,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:~7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -16198,7 +17220,7 @@ __metadata: languageName: node linkType: hard -"string-argv@npm:^0.3.0, string-argv@npm:^0.3.1": +"string-argv@npm:^0.3.0, string-argv@npm:^0.3.1, string-argv@npm:~0.3.1": version: 0.3.2 resolution: "string-argv@npm:0.3.2" checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 @@ -16448,7 +17470,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd @@ -16487,6 +17509,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:~8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + "supports-hyperlinks@npm:^2.2.0, supports-hyperlinks@npm:^2.3.0": version: 2.3.0 resolution: "supports-hyperlinks@npm:2.3.0" @@ -16796,7 +17827,7 @@ __metadata: "@testing-library/jest-dom": "npm:^6.4.2" "@testing-library/react": "npm:^14.2.1" "@testing-library/user-event": "npm:^14.5.2" - "@traefiklabs/faency": "npm:11.1.4" + "@traefiklabs/faency": "npm:12.0.4" "@types/lodash": "npm:^4.17.16" "@types/node": "npm:^22.15.18" "@types/react": "npm:^18.2.0" @@ -16924,7 +17955,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -17106,13 +18137,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.4.5": - version: 5.4.5 - resolution: "typescript@npm:5.4.5" +"typescript@npm:5.8.2": + version: 5.8.2 + resolution: "typescript@npm:5.8.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e + checksum: 10c0/5c4f6fbf1c6389b6928fe7b8fcd5dc73bb2d58cd4e3883f1d774ed5bd83b151cbac6b7ecf11723de56d4676daeba8713894b1e9af56174f2f9780ae7848ec3c6 languageName: node linkType: hard @@ -17126,13 +18157,23 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.4.5#optional!builtin": - version: 5.4.5 - resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" +"typescript@npm:^5.8.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9 + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A5.8.2#optional!builtin": + version: 5.8.2 + resolution: "typescript@patch:typescript@npm%3A5.8.2#optional!builtin::version=5.8.2&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5448a08e595cc558ab321e49d4cac64fb43d1fa106584f6ff9a8d8e592111b373a995a1d5c7f3046211c8a37201eb6d0f1566f15cdb7a62a5e3be01d087848e2 languageName: node linkType: hard @@ -17146,6 +18187,23 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 + languageName: node + linkType: hard + +"ufo@npm:^1.6.1": + version: 1.6.1 + resolution: "ufo@npm:1.6.1" + checksum: 10c0/5a9f041e5945fba7c189d5410508cbcbefef80b253ed29aa2e1f8a2b86f4bd51af44ee18d4485e6d3468c92be9bf4a42e3a2b72dcaf27ce39ce947ec994f1e6b + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.19.3 resolution: "uglify-js@npm:3.19.3" @@ -17407,7 +18465,7 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2": +"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -17557,6 +18615,44 @@ __metadata: languageName: node linkType: hard +"vite-node@npm:^3.2.2": + version: 3.2.4 + resolution: "vite-node@npm:3.2.4" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.4.1" + es-module-lexer: "npm:^1.7.0" + pathe: "npm:^2.0.3" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/6ceca67c002f8ef6397d58b9539f80f2b5d79e103a18367288b3f00a8ab55affa3d711d86d9112fce5a7fa658a212a087a005a045eb8f4758947dd99af2a6c6b + languageName: node + linkType: hard + +"vite-plugin-dts@npm:^4.5.4": + version: 4.5.4 + resolution: "vite-plugin-dts@npm:4.5.4" + dependencies: + "@microsoft/api-extractor": "npm:^7.50.1" + "@rollup/pluginutils": "npm:^5.1.4" + "@volar/typescript": "npm:^2.4.11" + "@vue/language-core": "npm:2.2.0" + compare-versions: "npm:^6.1.1" + debug: "npm:^4.4.0" + kolorist: "npm:^1.8.0" + local-pkg: "npm:^1.0.0" + magic-string: "npm:^0.30.17" + peerDependencies: + typescript: "*" + vite: "*" + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/5fcb7f3739d115f36195a692c0e9f9fca4e504bbbbabe29e71ee06630dd05ea2920169371e80e548eb4779d2eca14107277497838d7df588d53e1fadf84be861 + languageName: node + linkType: hard + "vite-tsconfig-paths@npm:^5.1.4": version: 5.1.4 resolution: "vite-tsconfig-paths@npm:5.1.4" @@ -17573,29 +18669,37 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.1.5": - version: 5.4.17 - resolution: "vite@npm:5.4.17" +"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0, vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0": + version: 7.2.1 + resolution: "vite@npm:7.2.1" dependencies: - esbuild: "npm:^0.21.3" + esbuild: "npm:^0.25.0" + fdir: "npm:^6.5.0" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.43" - rollup: "npm:^4.20.0" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" + tinyglobby: "npm:^0.2.15" peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 dependenciesMeta: fsevents: optional: true peerDependenciesMeta: "@types/node": optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -17610,9 +18714,13 @@ __metadata: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true bin: vite: bin/vite.js - checksum: 10c0/3322bd6d8da30cbc87b1b24cd14fdbca75abb36de81217d1062c8b4c574a1a0d28d11dfe23a3eed08b3d179d2bdc1510e0d7b9f3e1b722a45bd7631c7cec72eb + checksum: 10c0/25fbcfc67b1598fa6152f3ed0a7355144a2ac203859ad3b6a2e466b0930ec1081c19cc6f0d83104897517ecf30c0aac3e4a50c4e5e2980d3659decb1d9e41a28 languageName: node linkType: hard @@ -17784,6 +18892,13 @@ __metadata: languageName: node linkType: hard +"vscode-uri@npm:^3.0.8": + version: 3.1.0 + resolution: "vscode-uri@npm:3.1.0" + checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624 + languageName: node + linkType: hard + "w3c-xmlserializer@npm:^5.0.0": version: 5.0.0 resolution: "w3c-xmlserializer@npm:5.0.0"