@tanstack/router-devtools-core 1.132.50 → 1.132.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseTanStackRouterDevtoolsPanel-CaAQWNvS.js +1817 -0
- package/dist/BaseTanStackRouterDevtoolsPanel-CaAQWNvS.js.map +1 -0
- package/dist/BaseTanStackRouterDevtoolsPanel-CbH9Ihs_.cjs +1833 -0
- package/dist/BaseTanStackRouterDevtoolsPanel-CbH9Ihs_.cjs.map +1 -0
- package/dist/FloatingTanStackRouterDevtools-0xtXUOcx.cjs +283 -0
- package/dist/FloatingTanStackRouterDevtools-0xtXUOcx.cjs.map +1 -0
- package/dist/FloatingTanStackRouterDevtools-DdHNTjWg.js +283 -0
- package/dist/FloatingTanStackRouterDevtools-DdHNTjWg.js.map +1 -0
- package/dist/cjs/index.cjs +3 -4
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.js +3 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/index-BiZF0hsR.js +222 -0
- package/dist/index-BiZF0hsR.js.map +1 -0
- package/dist/index-CHaaetqh.cjs +221 -0
- package/dist/index-CHaaetqh.cjs.map +1 -0
- package/package.json +2 -2
- package/dist/cjs/AgeTicker.cjs +0 -47
- package/dist/cjs/AgeTicker.cjs.map +0 -1
- package/dist/cjs/BaseTanStackRouterDevtoolsPanel.cjs +0 -604
- package/dist/cjs/BaseTanStackRouterDevtoolsPanel.cjs.map +0 -1
- package/dist/cjs/Explorer.cjs +0 -307
- package/dist/cjs/Explorer.cjs.map +0 -1
- package/dist/cjs/FloatingTanStackRouterDevtools.cjs +0 -201
- package/dist/cjs/FloatingTanStackRouterDevtools.cjs.map +0 -1
- package/dist/cjs/NavigateButton.cjs +0 -30
- package/dist/cjs/NavigateButton.cjs.map +0 -1
- package/dist/cjs/TanStackRouterDevtoolsCore.cjs +0 -100
- package/dist/cjs/TanStackRouterDevtoolsCore.cjs.map +0 -1
- package/dist/cjs/TanStackRouterDevtoolsPanelCore.cjs +0 -113
- package/dist/cjs/TanStackRouterDevtoolsPanelCore.cjs.map +0 -1
- package/dist/cjs/context.cjs +0 -20
- package/dist/cjs/context.cjs.map +0 -1
- package/dist/cjs/logo.cjs +0 -92
- package/dist/cjs/logo.cjs.map +0 -1
- package/dist/cjs/tokens.cjs +0 -201
- package/dist/cjs/tokens.cjs.map +0 -1
- package/dist/cjs/useLocalStorage.cjs +0 -42
- package/dist/cjs/useLocalStorage.cjs.map +0 -1
- package/dist/cjs/useStyles.cjs +0 -607
- package/dist/cjs/useStyles.cjs.map +0 -1
- package/dist/cjs/utils.cjs +0 -63
- package/dist/cjs/utils.cjs.map +0 -1
- package/dist/esm/AgeTicker.js +0 -47
- package/dist/esm/AgeTicker.js.map +0 -1
- package/dist/esm/BaseTanStackRouterDevtoolsPanel.js +0 -604
- package/dist/esm/BaseTanStackRouterDevtoolsPanel.js.map +0 -1
- package/dist/esm/Explorer.js +0 -290
- package/dist/esm/Explorer.js.map +0 -1
- package/dist/esm/FloatingTanStackRouterDevtools.js +0 -201
- package/dist/esm/FloatingTanStackRouterDevtools.js.map +0 -1
- package/dist/esm/NavigateButton.js +0 -30
- package/dist/esm/NavigateButton.js.map +0 -1
- package/dist/esm/TanStackRouterDevtoolsCore.js +0 -100
- package/dist/esm/TanStackRouterDevtoolsCore.js.map +0 -1
- package/dist/esm/TanStackRouterDevtoolsPanelCore.js +0 -113
- package/dist/esm/TanStackRouterDevtoolsPanelCore.js.map +0 -1
- package/dist/esm/context.js +0 -20
- package/dist/esm/context.js.map +0 -1
- package/dist/esm/logo.js +0 -92
- package/dist/esm/logo.js.map +0 -1
- package/dist/esm/tokens.js +0 -201
- package/dist/esm/tokens.js.map +0 -1
- package/dist/esm/useLocalStorage.js +0 -43
- package/dist/esm/useLocalStorage.js.map +0 -1
- package/dist/esm/useStyles.js +0 -590
- package/dist/esm/useStyles.js.map +0 -1
- package/dist/esm/utils.js +0 -63
- package/dist/esm/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseTanStackRouterDevtoolsPanel-CbH9Ihs_.cjs","sources":["../src/utils.tsx","../src/tokens.ts","../src/useStyles.tsx","../src/useLocalStorage.ts","../src/Explorer.tsx","../src/AgeTicker.tsx","../src/NavigateButton.tsx","../src/BaseTanStackRouterDevtoolsPanel.tsx"],"sourcesContent":["import { Dynamic } from 'solid-js/web'\nimport { createEffect, createRenderEffect, createSignal } from 'solid-js'\nimport { useTheme } from './theme'\nimport useMediaQuery from './useMediaQuery'\nimport type { AnyRoute, AnyRouteMatch } from '@tanstack/router-core'\n\nimport type { Theme } from './theme'\nimport type { JSX } from 'solid-js'\n\nexport const isServer = typeof window === 'undefined'\n\ntype StyledComponent<T> = T extends 'button'\n ? JSX.ButtonHTMLAttributes<HTMLButtonElement>\n : T extends 'input'\n ? JSX.InputHTMLAttributes<HTMLInputElement>\n : T extends 'select'\n ? JSX.SelectHTMLAttributes<HTMLSelectElement>\n : T extends keyof HTMLElementTagNameMap\n ? JSX.HTMLAttributes<HTMLElementTagNameMap[T]>\n : never\n\nexport function getStatusColor(match: AnyRouteMatch) {\n const colorMap = {\n pending: 'yellow',\n success: 'green',\n error: 'red',\n notFound: 'purple',\n redirected: 'gray',\n } as const\n\n return match.isFetching && match.status === 'success'\n ? match.isFetching === 'beforeLoad'\n ? 'purple'\n : 'blue'\n : colorMap[match.status]\n}\n\nexport function getRouteStatusColor(\n matches: Array<AnyRouteMatch>,\n route: AnyRoute,\n) {\n const found = matches.find((d) => d.routeId === route.id)\n if (!found) return 'gray'\n return getStatusColor(found)\n}\n\ntype Styles =\n | JSX.CSSProperties\n | ((props: Record<string, any>, theme: Theme) => JSX.CSSProperties)\n\nexport function styled<T extends keyof HTMLElementTagNameMap>(\n type: T,\n newStyles: Styles,\n queries: Record<string, Styles> = {},\n) {\n return ({\n ref,\n style,\n ...rest\n }: StyledComponent<T> & {\n ref?: HTMLElementTagNameMap[T] | undefined\n }) => {\n const theme = useTheme()\n\n const mediaStyles = Object.entries(queries).reduce(\n (current, [key, value]) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return useMediaQuery(key)\n ? {\n ...current,\n ...(typeof value === 'function' ? value(rest, theme) : value),\n }\n : current\n },\n {},\n )\n\n const baseStyles =\n typeof newStyles === 'function' ? newStyles(rest, theme) : newStyles\n\n // Handle style being either a string or an object\n const combinedStyles =\n typeof style === 'string'\n ? { ...baseStyles, ...mediaStyles, cssText: style }\n : { ...baseStyles, ...style, ...mediaStyles }\n\n return (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n <Dynamic component={type} {...rest} style={combinedStyles} ref={ref} />\n )\n }\n}\n\nexport function useIsMounted() {\n const [isMounted, setIsMounted] = createSignal(false)\n\n const effect = isServer ? createEffect : createRenderEffect\n\n effect(() => {\n setIsMounted(true)\n })\n\n return isMounted\n}\n\n/**\n * Displays a string regardless the type of the data\n * @param {unknown} value Value to be stringified\n */\nexport const displayValue = (value: unknown) => {\n const name = Object.getOwnPropertyNames(Object(value))\n const newValue = typeof value === 'bigint' ? `${value.toString()}n` : value\n try {\n return JSON.stringify(newValue, name)\n } catch (e) {\n return `unable to stringify`\n }\n}\n\n/**\n * This hook is a safe useState version which schedules state updates in microtasks\n * to prevent updating a component state while React is rendering different components\n * or when the component is not mounted anymore.\n */\nexport function useSafeState<T>(initialState: T): [T, (value: T) => void] {\n const isMounted = useIsMounted()\n const [state, setState] = createSignal(initialState)\n\n const safeSetState = (value: T) => {\n scheduleMicrotask(() => {\n if (isMounted()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setState(value)\n }\n })\n }\n\n return [state(), safeSetState]\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nfunction scheduleMicrotask(callback: () => void) {\n Promise.resolve()\n .then(callback)\n .catch((error) =>\n setTimeout(() => {\n throw error\n }),\n )\n}\n\nexport function multiSortBy<T>(\n arr: Array<T>,\n accessors: Array<(item: T) => any> = [(d) => d],\n): Array<T> {\n return arr\n .map((d, i) => [d, i] as const)\n .sort(([a, ai], [b, bi]) => {\n for (const accessor of accessors) {\n const ao = accessor(a)\n const bo = accessor(b)\n\n if (typeof ao === 'undefined') {\n if (typeof bo === 'undefined') {\n continue\n }\n return 1\n }\n\n if (ao === bo) {\n continue\n }\n\n return ao > bo ? 1 : -1\n }\n\n return ai - bi\n })\n .map(([d]) => d)\n}\n","export const tokens = {\n colors: {\n inherit: 'inherit',\n current: 'currentColor',\n transparent: 'transparent',\n black: '#000000',\n white: '#ffffff',\n neutral: {\n 50: '#f9fafb',\n 100: '#f2f4f7',\n 200: '#eaecf0',\n 300: '#d0d5dd',\n 400: '#98a2b3',\n 500: '#667085',\n 600: '#475467',\n 700: '#344054',\n 800: '#1d2939',\n 900: '#101828',\n },\n darkGray: {\n 50: '#525c7a',\n 100: '#49536e',\n 200: '#414962',\n 300: '#394056',\n 400: '#313749',\n 500: '#292e3d',\n 600: '#212530',\n 700: '#191c24',\n 800: '#111318',\n 900: '#0b0d10',\n },\n gray: {\n 50: '#f9fafb',\n 100: '#f2f4f7',\n 200: '#eaecf0',\n 300: '#d0d5dd',\n 400: '#98a2b3',\n 500: '#667085',\n 600: '#475467',\n 700: '#344054',\n 800: '#1d2939',\n 900: '#101828',\n },\n blue: {\n 25: '#F5FAFF',\n 50: '#EFF8FF',\n 100: '#D1E9FF',\n 200: '#B2DDFF',\n 300: '#84CAFF',\n 400: '#53B1FD',\n 500: '#2E90FA',\n 600: '#1570EF',\n 700: '#175CD3',\n 800: '#1849A9',\n 900: '#194185',\n },\n green: {\n 25: '#F6FEF9',\n 50: '#ECFDF3',\n 100: '#D1FADF',\n 200: '#A6F4C5',\n 300: '#6CE9A6',\n 400: '#32D583',\n 500: '#12B76A',\n 600: '#039855',\n 700: '#027A48',\n 800: '#05603A',\n 900: '#054F31',\n },\n red: {\n 50: '#fef2f2',\n 100: '#fee2e2',\n 200: '#fecaca',\n 300: '#fca5a5',\n 400: '#f87171',\n 500: '#ef4444',\n 600: '#dc2626',\n 700: '#b91c1c',\n 800: '#991b1b',\n 900: '#7f1d1d',\n 950: '#450a0a',\n },\n yellow: {\n 25: '#FFFCF5',\n 50: '#FFFAEB',\n 100: '#FEF0C7',\n 200: '#FEDF89',\n 300: '#FEC84B',\n 400: '#FDB022',\n 500: '#F79009',\n 600: '#DC6803',\n 700: '#B54708',\n 800: '#93370D',\n 900: '#7A2E0E',\n },\n purple: {\n 25: '#FAFAFF',\n 50: '#F4F3FF',\n 100: '#EBE9FE',\n 200: '#D9D6FE',\n 300: '#BDB4FE',\n 400: '#9B8AFB',\n 500: '#7A5AF8',\n 600: '#6938EF',\n 700: '#5925DC',\n 800: '#4A1FB8',\n 900: '#3E1C96',\n },\n teal: {\n 25: '#F6FEFC',\n 50: '#F0FDF9',\n 100: '#CCFBEF',\n 200: '#99F6E0',\n 300: '#5FE9D0',\n 400: '#2ED3B7',\n 500: '#15B79E',\n 600: '#0E9384',\n 700: '#107569',\n 800: '#125D56',\n 900: '#134E48',\n },\n pink: {\n 25: '#fdf2f8',\n 50: '#fce7f3',\n 100: '#fbcfe8',\n 200: '#f9a8d4',\n 300: '#f472b6',\n 400: '#ec4899',\n 500: '#db2777',\n 600: '#be185d',\n 700: '#9d174d',\n 800: '#831843',\n 900: '#500724',\n },\n cyan: {\n 25: '#ecfeff',\n 50: '#cffafe',\n 100: '#a5f3fc',\n 200: '#67e8f9',\n 300: '#22d3ee',\n 400: '#06b6d4',\n 500: '#0891b2',\n 600: '#0e7490',\n 700: '#155e75',\n 800: '#164e63',\n 900: '#083344',\n },\n },\n alpha: {\n 100: 'ff',\n 90: 'e5',\n 80: 'cc',\n 70: 'b3',\n 60: '99',\n 50: '80',\n 40: '66',\n 30: '4d',\n 20: '33',\n 10: '1a',\n 0: '00',\n },\n font: {\n size: {\n '2xs': 'calc(var(--tsrd-font-size) * 0.625)',\n xs: 'calc(var(--tsrd-font-size) * 0.75)',\n sm: 'calc(var(--tsrd-font-size) * 0.875)',\n md: 'var(--tsrd-font-size)',\n lg: 'calc(var(--tsrd-font-size) * 1.125)',\n xl: 'calc(var(--tsrd-font-size) * 1.25)',\n '2xl': 'calc(var(--tsrd-font-size) * 1.5)',\n '3xl': 'calc(var(--tsrd-font-size) * 1.875)',\n '4xl': 'calc(var(--tsrd-font-size) * 2.25)',\n '5xl': 'calc(var(--tsrd-font-size) * 3)',\n '6xl': 'calc(var(--tsrd-font-size) * 3.75)',\n '7xl': 'calc(var(--tsrd-font-size) * 4.5)',\n '8xl': 'calc(var(--tsrd-font-size) * 6)',\n '9xl': 'calc(var(--tsrd-font-size) * 8)',\n },\n lineHeight: {\n '3xs': 'calc(var(--tsrd-font-size) * 0.75)',\n '2xs': 'calc(var(--tsrd-font-size) * 0.875)',\n xs: 'calc(var(--tsrd-font-size) * 1)',\n sm: 'calc(var(--tsrd-font-size) * 1.25)',\n md: 'calc(var(--tsrd-font-size) * 1.5)',\n lg: 'calc(var(--tsrd-font-size) * 1.75)',\n xl: 'calc(var(--tsrd-font-size) * 2)',\n '2xl': 'calc(var(--tsrd-font-size) * 2.25)',\n '3xl': 'calc(var(--tsrd-font-size) * 2.5)',\n '4xl': 'calc(var(--tsrd-font-size) * 2.75)',\n '5xl': 'calc(var(--tsrd-font-size) * 3)',\n '6xl': 'calc(var(--tsrd-font-size) * 3.25)',\n '7xl': 'calc(var(--tsrd-font-size) * 3.5)',\n '8xl': 'calc(var(--tsrd-font-size) * 3.75)',\n '9xl': 'calc(var(--tsrd-font-size) * 4)',\n },\n weight: {\n thin: '100',\n extralight: '200',\n light: '300',\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n black: '900',\n },\n fontFamily: {\n sans: 'ui-sans-serif, Inter, system-ui, sans-serif, sans-serif',\n mono: `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace`,\n },\n },\n breakpoints: {\n xs: '320px',\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n '2xl': '1536px',\n },\n border: {\n radius: {\n none: '0px',\n xs: 'calc(var(--tsrd-font-size) * 0.125)',\n sm: 'calc(var(--tsrd-font-size) * 0.25)',\n md: 'calc(var(--tsrd-font-size) * 0.375)',\n lg: 'calc(var(--tsrd-font-size) * 0.5)',\n xl: 'calc(var(--tsrd-font-size) * 0.75)',\n '2xl': 'calc(var(--tsrd-font-size) * 1)',\n '3xl': 'calc(var(--tsrd-font-size) * 1.5)',\n full: '9999px',\n },\n },\n size: {\n 0: '0px',\n 0.25: 'calc(var(--tsrd-font-size) * 0.0625)',\n 0.5: 'calc(var(--tsrd-font-size) * 0.125)',\n 1: 'calc(var(--tsrd-font-size) * 0.25)',\n 1.5: 'calc(var(--tsrd-font-size) * 0.375)',\n 2: 'calc(var(--tsrd-font-size) * 0.5)',\n 2.5: 'calc(var(--tsrd-font-size) * 0.625)',\n 3: 'calc(var(--tsrd-font-size) * 0.75)',\n 3.5: 'calc(var(--tsrd-font-size) * 0.875)',\n 4: 'calc(var(--tsrd-font-size) * 1)',\n 4.5: 'calc(var(--tsrd-font-size) * 1.125)',\n 5: 'calc(var(--tsrd-font-size) * 1.25)',\n 5.5: 'calc(var(--tsrd-font-size) * 1.375)',\n 6: 'calc(var(--tsrd-font-size) * 1.5)',\n 6.5: 'calc(var(--tsrd-font-size) * 1.625)',\n 7: 'calc(var(--tsrd-font-size) * 1.75)',\n 8: 'calc(var(--tsrd-font-size) * 2)',\n 9: 'calc(var(--tsrd-font-size) * 2.25)',\n 10: 'calc(var(--tsrd-font-size) * 2.5)',\n 11: 'calc(var(--tsrd-font-size) * 2.75)',\n 12: 'calc(var(--tsrd-font-size) * 3)',\n 14: 'calc(var(--tsrd-font-size) * 3.5)',\n 16: 'calc(var(--tsrd-font-size) * 4)',\n 20: 'calc(var(--tsrd-font-size) * 5)',\n 24: 'calc(var(--tsrd-font-size) * 6)',\n 28: 'calc(var(--tsrd-font-size) * 7)',\n 32: 'calc(var(--tsrd-font-size) * 8)',\n 36: 'calc(var(--tsrd-font-size) * 9)',\n 40: 'calc(var(--tsrd-font-size) * 10)',\n 44: 'calc(var(--tsrd-font-size) * 11)',\n 48: 'calc(var(--tsrd-font-size) * 12)',\n 52: 'calc(var(--tsrd-font-size) * 13)',\n 56: 'calc(var(--tsrd-font-size) * 14)',\n 60: 'calc(var(--tsrd-font-size) * 15)',\n 64: 'calc(var(--tsrd-font-size) * 16)',\n 72: 'calc(var(--tsrd-font-size) * 18)',\n 80: 'calc(var(--tsrd-font-size) * 20)',\n 96: 'calc(var(--tsrd-font-size) * 24)',\n },\n shadow: {\n xs: (_: string = 'rgb(0 0 0 / 0.1)') =>\n `0 1px 2px 0 rgb(0 0 0 / 0.05)` as const,\n sm: (color: string = 'rgb(0 0 0 / 0.1)') =>\n `0 1px 3px 0 ${color}, 0 1px 2px -1px ${color}` as const,\n md: (color: string = 'rgb(0 0 0 / 0.1)') =>\n `0 4px 6px -1px ${color}, 0 2px 4px -2px ${color}` as const,\n lg: (color: string = 'rgb(0 0 0 / 0.1)') =>\n `0 10px 15px -3px ${color}, 0 4px 6px -4px ${color}` as const,\n xl: (color: string = 'rgb(0 0 0 / 0.1)') =>\n `0 20px 25px -5px ${color}, 0 8px 10px -6px ${color}` as const,\n '2xl': (color: string = 'rgb(0 0 0 / 0.25)') =>\n `0 25px 50px -12px ${color}` as const,\n inner: (color: string = 'rgb(0 0 0 / 0.05)') =>\n `inset 0 2px 4px 0 ${color}` as const,\n none: () => `none` as const,\n },\n zIndices: {\n hide: -1,\n auto: 'auto',\n base: 0,\n docked: 10,\n dropdown: 1000,\n sticky: 1100,\n banner: 1200,\n overlay: 1300,\n modal: 1400,\n popover: 1500,\n skipLink: 1600,\n toast: 1700,\n tooltip: 1800,\n },\n} as const\n","import * as goober from 'goober'\nimport { createSignal, useContext } from 'solid-js'\nimport { tokens } from './tokens'\nimport { ShadowDomTargetContext } from './context'\nimport type { Accessor } from 'solid-js'\n\nconst stylesFactory = (shadowDOMTarget?: ShadowRoot) => {\n const { colors, font, size, alpha, shadow, border } = tokens\n const { fontFamily, lineHeight, size: fontSize } = font\n const css = shadowDOMTarget\n ? goober.css.bind({ target: shadowDOMTarget })\n : goober.css\n\n return {\n devtoolsPanelContainer: css`\n direction: ltr;\n position: fixed;\n bottom: 0;\n right: 0;\n z-index: 99999;\n width: 100%;\n max-height: 90%;\n border-top: 1px solid ${colors.gray[700]};\n transform-origin: top;\n `,\n devtoolsPanelContainerVisibility: (isOpen: boolean) => {\n return css`\n visibility: ${isOpen ? 'visible' : 'hidden'};\n `\n },\n devtoolsPanelContainerResizing: (isResizing: Accessor<boolean>) => {\n if (isResizing()) {\n return css`\n transition: none;\n `\n }\n\n return css`\n transition: all 0.4s ease;\n `\n },\n devtoolsPanelContainerAnimation: (isOpen: boolean, height: number) => {\n if (isOpen) {\n return css`\n pointer-events: auto;\n transform: translateY(0);\n `\n }\n return css`\n pointer-events: none;\n transform: translateY(${height}px);\n `\n },\n logo: css`\n cursor: pointer;\n display: flex;\n flex-direction: column;\n background-color: transparent;\n border: none;\n font-family: ${fontFamily.sans};\n gap: ${tokens.size[0.5]};\n padding: 0px;\n &:hover {\n opacity: 0.7;\n }\n &:focus-visible {\n outline-offset: 4px;\n border-radius: ${border.radius.xs};\n outline: 2px solid ${colors.blue[800]};\n }\n `,\n tanstackLogo: css`\n font-size: ${font.size.md};\n font-weight: ${font.weight.bold};\n line-height: ${font.lineHeight.xs};\n white-space: nowrap;\n color: ${colors.gray[300]};\n `,\n routerLogo: css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(to right, #84cc16, #10b981);\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n devtoolsPanel: css`\n display: flex;\n font-size: ${fontSize.sm};\n font-family: ${fontFamily.sans};\n background-color: ${colors.darkGray[700]};\n color: ${colors.gray[300]};\n\n @media (max-width: 700px) {\n flex-direction: column;\n }\n @media (max-width: 600px) {\n font-size: ${fontSize.xs};\n }\n `,\n dragHandle: css`\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 4px;\n cursor: row-resize;\n z-index: 100000;\n &:hover {\n background-color: ${colors.purple[400]}${alpha[90]};\n }\n `,\n firstContainer: css`\n flex: 1 1 500px;\n min-height: 40%;\n max-height: 100%;\n overflow: auto;\n border-right: 1px solid ${colors.gray[700]};\n display: flex;\n flex-direction: column;\n `,\n routerExplorerContainer: css`\n overflow-y: auto;\n flex: 1;\n `,\n routerExplorer: css`\n padding: ${tokens.size[2]};\n `,\n row: css`\n display: flex;\n align-items: center;\n padding: ${tokens.size[2]} ${tokens.size[2.5]};\n gap: ${tokens.size[2.5]};\n border-bottom: ${colors.darkGray[500]} 1px solid;\n align-items: center;\n `,\n detailsHeader: css`\n font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;\n position: sticky;\n top: 0;\n z-index: 2;\n background-color: ${colors.darkGray[600]};\n padding: 0px ${tokens.size[2]};\n font-weight: ${font.weight.medium};\n font-size: ${font.size.xs};\n min-height: ${tokens.size[8]};\n line-height: ${font.lineHeight.xs};\n text-align: left;\n display: flex;\n align-items: center;\n `,\n maskedBadge: css`\n background: ${colors.yellow[900]}${alpha[70]};\n color: ${colors.yellow[300]};\n display: inline-block;\n padding: ${tokens.size[0]} ${tokens.size[2.5]};\n border-radius: ${border.radius.full};\n font-size: ${font.size.xs};\n font-weight: ${font.weight.normal};\n border: 1px solid ${colors.yellow[300]};\n `,\n maskedLocation: css`\n color: ${colors.yellow[300]};\n `,\n detailsContent: css`\n padding: ${tokens.size[1.5]} ${tokens.size[2]};\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: ${font.size.xs};\n `,\n routeMatchesToggle: css`\n display: flex;\n align-items: center;\n border: 1px solid ${colors.gray[500]};\n border-radius: ${border.radius.sm};\n overflow: hidden;\n `,\n routeMatchesToggleBtn: (active: boolean, showBorder: boolean) => {\n const base = css`\n appearance: none;\n border: none;\n font-size: 12px;\n padding: 4px 8px;\n background: transparent;\n cursor: pointer;\n font-family: ${fontFamily.sans};\n font-weight: ${font.weight.medium};\n `\n const classes = [base]\n\n if (active) {\n const activeStyles = css`\n background: ${colors.darkGray[400]};\n color: ${colors.gray[300]};\n `\n classes.push(activeStyles)\n } else {\n const inactiveStyles = css`\n color: ${colors.gray[500]};\n background: ${colors.darkGray[800]}${alpha[20]};\n `\n classes.push(inactiveStyles)\n }\n\n if (showBorder) {\n classes.push(css`\n border-right: 1px solid ${tokens.colors.gray[500]};\n `)\n }\n\n return classes\n },\n detailsHeaderInfo: css`\n flex: 1;\n justify-content: flex-end;\n display: flex;\n align-items: center;\n font-weight: ${font.weight.normal};\n color: ${colors.gray[400]};\n `,\n matchRow: (active: boolean) => {\n const base = css`\n display: flex;\n border-bottom: 1px solid ${colors.darkGray[400]};\n cursor: pointer;\n align-items: center;\n padding: ${size[1]} ${size[2]};\n gap: ${size[2]};\n font-size: ${fontSize.xs};\n color: ${colors.gray[300]};\n `\n const classes = [base]\n\n if (active) {\n const activeStyles = css`\n background: ${colors.darkGray[500]};\n `\n classes.push(activeStyles)\n }\n\n return classes\n },\n matchIndicator: (\n color: 'green' | 'red' | 'yellow' | 'gray' | 'blue' | 'purple',\n ) => {\n const base = css`\n flex: 0 0 auto;\n width: ${size[3]};\n height: ${size[3]};\n background: ${colors[color][900]};\n border: 1px solid ${colors[color][500]};\n border-radius: ${border.radius.full};\n transition: all 0.25s ease-out;\n box-sizing: border-box;\n `\n const classes = [base]\n\n if (color === 'gray') {\n const grayStyles = css`\n background: ${colors.gray[700]};\n border-color: ${colors.gray[400]};\n `\n classes.push(grayStyles)\n }\n\n return classes\n },\n matchID: css`\n flex: 1;\n line-height: ${lineHeight['xs']};\n `,\n ageTicker: (showWarning: boolean) => {\n const base = css`\n display: flex;\n gap: ${size[1]};\n font-size: ${fontSize.xs};\n color: ${colors.gray[400]};\n font-variant-numeric: tabular-nums;\n line-height: ${lineHeight['xs']};\n `\n\n const classes = [base]\n\n if (showWarning) {\n const warningStyles = css`\n color: ${colors.yellow[400]};\n `\n classes.push(warningStyles)\n }\n\n return classes\n },\n secondContainer: css`\n flex: 1 1 500px;\n min-height: 40%;\n max-height: 100%;\n overflow: auto;\n border-right: 1px solid ${colors.gray[700]};\n display: flex;\n flex-direction: column;\n `,\n thirdContainer: css`\n flex: 1 1 500px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n height: 100%;\n border-right: 1px solid ${colors.gray[700]};\n\n @media (max-width: 700px) {\n border-top: 2px solid ${colors.gray[700]};\n }\n `,\n fourthContainer: css`\n flex: 1 1 500px;\n min-height: 40%;\n max-height: 100%;\n overflow: auto;\n display: flex;\n flex-direction: column;\n `,\n routesContainer: css`\n overflow-x: auto;\n overflow-y: visible;\n `,\n routesRowContainer: (active: boolean, isMatch: boolean) => {\n const base = css`\n display: flex;\n border-bottom: 1px solid ${colors.darkGray[400]};\n align-items: center;\n padding: ${size[1]} ${size[2]};\n gap: ${size[2]};\n font-size: ${fontSize.xs};\n color: ${colors.gray[300]};\n cursor: ${isMatch ? 'pointer' : 'default'};\n line-height: ${lineHeight['xs']};\n `\n const classes = [base]\n\n if (active) {\n const activeStyles = css`\n background: ${colors.darkGray[500]};\n `\n classes.push(activeStyles)\n }\n\n return classes\n },\n routesRow: (isMatch: boolean) => {\n const base = css`\n flex: 1 0 auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: ${fontSize.xs};\n line-height: ${lineHeight['xs']};\n `\n\n const classes = [base]\n\n if (!isMatch) {\n const matchStyles = css`\n color: ${colors.gray[400]};\n `\n classes.push(matchStyles)\n }\n\n return classes\n },\n routesRowInner: css`\n display: 'flex';\n align-items: 'center';\n flex-grow: 1;\n min-width: 0;\n `,\n routeParamInfo: css`\n color: ${colors.gray[400]};\n font-size: ${fontSize.xs};\n line-height: ${lineHeight['xs']};\n `,\n nestedRouteRow: (isRoot: boolean) => {\n const base = css`\n margin-left: ${isRoot ? 0 : size[3.5]};\n border-left: ${isRoot ? '' : `solid 1px ${colors.gray[700]}`};\n `\n return base\n },\n code: css`\n font-size: ${fontSize.xs};\n line-height: ${lineHeight['xs']};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n matchesContainer: css`\n flex: 1 1 auto;\n overflow-y: auto;\n `,\n cachedMatchesContainer: css`\n flex: 1 1 auto;\n overflow-y: auto;\n max-height: 50%;\n `,\n maskedBadgeContainer: css`\n flex: 1;\n justify-content: flex-end;\n display: flex;\n `,\n matchDetails: css`\n display: flex;\n flex-direction: column;\n padding: ${tokens.size[2]};\n font-size: ${tokens.font.size.xs};\n color: ${tokens.colors.gray[300]};\n line-height: ${tokens.font.lineHeight.sm};\n `,\n matchStatus: (\n status: 'pending' | 'success' | 'error' | 'notFound' | 'redirected',\n isFetching: false | 'beforeLoad' | 'loader',\n ) => {\n const colorMap = {\n pending: 'yellow',\n success: 'green',\n error: 'red',\n notFound: 'purple',\n redirected: 'gray',\n } as const\n\n const color =\n isFetching && status === 'success'\n ? isFetching === 'beforeLoad'\n ? 'purple'\n : 'blue'\n : colorMap[status]\n\n return css`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n border-radius: ${tokens.border.radius.sm};\n font-weight: ${tokens.font.weight.normal};\n background-color: ${tokens.colors[color][900]}${tokens.alpha[90]};\n color: ${tokens.colors[color][300]};\n border: 1px solid ${tokens.colors[color][600]};\n margin-bottom: ${tokens.size[2]};\n transition: all 0.25s ease-out;\n `\n },\n matchDetailsInfo: css`\n display: flex;\n justify-content: flex-end;\n flex: 1;\n `,\n matchDetailsInfoLabel: css`\n display: flex;\n `,\n mainCloseBtn: css`\n background: ${colors.darkGray[700]};\n padding: ${size[1]} ${size[2]} ${size[1]} ${size[1.5]};\n border-radius: ${border.radius.md};\n position: fixed;\n z-index: 99999;\n display: inline-flex;\n width: fit-content;\n cursor: pointer;\n appearance: none;\n border: 0;\n gap: 8px;\n align-items: center;\n border: 1px solid ${colors.gray[500]};\n font-size: ${font.size.xs};\n cursor: pointer;\n transition: all 0.25s ease-out;\n\n &:hover {\n background: ${colors.darkGray[500]};\n }\n `,\n mainCloseBtnPosition: (\n position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right',\n ) => {\n const base = css`\n ${position === 'top-left' ? `top: ${size[2]}; left: ${size[2]};` : ''}\n ${position === 'top-right' ? `top: ${size[2]}; right: ${size[2]};` : ''}\n ${position === 'bottom-left'\n ? `bottom: ${size[2]}; left: ${size[2]};`\n : ''}\n ${position === 'bottom-right'\n ? `bottom: ${size[2]}; right: ${size[2]};`\n : ''}\n `\n return base\n },\n mainCloseBtnAnimation: (isOpen: boolean) => {\n if (!isOpen) {\n return css`\n opacity: 1;\n pointer-events: auto;\n visibility: visible;\n `\n }\n return css`\n opacity: 0;\n pointer-events: none;\n visibility: hidden;\n `\n },\n routerLogoCloseButton: css`\n font-weight: ${font.weight.semibold};\n font-size: ${font.size.xs};\n background: linear-gradient(to right, #98f30c, #00f4a3);\n background-clip: text;\n -webkit-background-clip: text;\n line-height: 1;\n -webkit-text-fill-color: transparent;\n white-space: nowrap;\n `,\n mainCloseBtnDivider: css`\n width: 1px;\n background: ${tokens.colors.gray[600]};\n height: 100%;\n border-radius: 999999px;\n color: transparent;\n `,\n mainCloseBtnIconContainer: css`\n position: relative;\n width: ${size[5]};\n height: ${size[5]};\n background: pink;\n border-radius: 999999px;\n overflow: hidden;\n `,\n mainCloseBtnIconOuter: css`\n width: ${size[5]};\n height: ${size[5]};\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n filter: blur(3px) saturate(1.8) contrast(2);\n `,\n mainCloseBtnIconInner: css`\n width: ${size[4]};\n height: ${size[4]};\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n `,\n panelCloseBtn: css`\n position: absolute;\n cursor: pointer;\n z-index: 100001;\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n background-color: ${colors.darkGray[700]};\n &:hover {\n background-color: ${colors.darkGray[500]};\n }\n\n top: 0;\n right: ${size[2]};\n transform: translate(0, -100%);\n border-right: ${colors.darkGray[300]} 1px solid;\n border-left: ${colors.darkGray[300]} 1px solid;\n border-top: ${colors.darkGray[300]} 1px solid;\n border-bottom: none;\n border-radius: ${border.radius.sm} ${border.radius.sm} 0px 0px;\n padding: ${size[1]} ${size[1.5]} ${size[0.5]} ${size[1.5]};\n\n &::after {\n content: ' ';\n position: absolute;\n top: 100%;\n left: -${size[2.5]};\n height: ${size[1.5]};\n width: calc(100% + ${size[5]});\n }\n `,\n panelCloseBtnIcon: css`\n color: ${colors.gray[400]};\n width: ${size[2]};\n height: ${size[2]};\n `,\n navigateButton: css`\n background: none;\n border: none;\n padding: 0 0 0 4px;\n margin: 0;\n color: ${colors.gray[400]};\n font-size: ${fontSize.md};\n cursor: pointer;\n line-height: 1;\n vertical-align: middle;\n margin-right: 0.5ch;\n flex-shrink: 0;\n &:hover {\n color: ${colors.blue[300]};\n }\n `,\n }\n}\n\nexport function useStyles() {\n const shadowDomTarget = useContext(ShadowDomTargetContext)\n const [_styles] = createSignal(stylesFactory(shadowDomTarget))\n return _styles\n}\n","import { createEffect, createSignal } from 'solid-js'\nimport type { Accessor } from 'solid-js'\n\nconst getItem = (key: string): unknown => {\n try {\n const itemValue = localStorage.getItem(key)\n if (typeof itemValue === 'string') {\n return JSON.parse(itemValue)\n }\n return undefined\n } catch {\n return undefined\n }\n}\n\nexport default function useLocalStorage<T>(\n key: string,\n defaultValue: T | undefined,\n): [Accessor<T | undefined>, (newVal: T | ((prevVal: T) => T)) => void] {\n const [value, setValue] = createSignal<T>()\n\n createEffect(() => {\n const initialValue = getItem(key) as T | undefined\n\n if (typeof initialValue === 'undefined' || initialValue === null) {\n setValue(\n typeof defaultValue === 'function' ? defaultValue() : defaultValue,\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setValue(initialValue)\n }\n })\n\n const setter = (updater: any) => {\n setValue((old) => {\n let newVal = updater\n\n if (typeof updater == 'function') {\n newVal = updater(old)\n }\n try {\n localStorage.setItem(key, JSON.stringify(newVal))\n } catch {}\n\n return newVal\n })\n }\n\n return [value, setter]\n}\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport { clsx as cx } from 'clsx'\nimport * as goober from 'goober'\nimport { createMemo, createSignal, useContext } from 'solid-js'\nimport { tokens } from './tokens'\nimport { displayValue } from './utils'\nimport { ShadowDomTargetContext } from './context'\nimport type { Accessor, JSX } from 'solid-js'\n\ntype ExpanderProps = {\n expanded: boolean\n style?: JSX.CSSProperties\n}\n\nexport const Expander = ({ expanded, style = {} }: ExpanderProps) => {\n const styles = useStyles()\n return (\n <span class={styles().expander}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n class={cx(styles().expanderIcon(expanded))}\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 18l6-6-6-6\"\n ></path>\n </svg>\n </span>\n )\n}\n\ntype Entry = {\n label: string\n}\n\ntype RendererProps = {\n handleEntry: HandleEntryFn\n label?: JSX.Element\n value: Accessor<unknown>\n subEntries: Array<Entry>\n subEntryPages: Array<Array<Entry>>\n type: string\n expanded: Accessor<boolean>\n toggleExpanded: () => void\n pageSize: number\n filterSubEntries?: (subEntries: Array<Property>) => Array<Property>\n}\n\n/**\n * Chunk elements in the array by size\n *\n * when the array cannot be chunked evenly by size, the last chunk will be\n * filled with the remaining elements\n *\n * @example\n * chunkArray(['a','b', 'c', 'd', 'e'], 2) // returns [['a','b'], ['c', 'd'], ['e']]\n */\nexport function chunkArray<T>(array: Array<T>, size: number): Array<Array<T>> {\n if (size < 1) return []\n let i = 0\n const result: Array<Array<T>> = []\n while (i < array.length) {\n result.push(array.slice(i, i + size))\n i = i + size\n }\n return result\n}\n\ntype HandleEntryFn = (entry: Entry) => JSX.Element\n\ntype ExplorerProps = Partial<RendererProps> & {\n defaultExpanded?: true | Record<string, boolean>\n value: Accessor<unknown>\n}\n\ntype Property = {\n defaultExpanded?: boolean | Record<string, boolean>\n label: string\n value: unknown\n}\n\nfunction isIterable(x: any): x is Iterable<unknown> {\n return Symbol.iterator in x\n}\n\nexport function Explorer({\n value,\n defaultExpanded,\n pageSize = 100,\n filterSubEntries,\n ...rest\n}: ExplorerProps) {\n const [expanded, setExpanded] = createSignal(Boolean(defaultExpanded))\n const toggleExpanded = () => setExpanded((old) => !old)\n\n const type = createMemo(() => typeof value())\n const subEntries = createMemo(() => {\n let entries: Array<Property> = []\n\n const makeProperty = (sub: { label: string; value: unknown }): Property => {\n const subDefaultExpanded =\n defaultExpanded === true\n ? { [sub.label]: true }\n : defaultExpanded?.[sub.label]\n return {\n ...sub,\n value: () => sub.value,\n defaultExpanded: subDefaultExpanded,\n }\n }\n\n if (Array.isArray(value())) {\n // any[]\n entries = (value() as Array<any>).map((d, i) =>\n makeProperty({\n label: i.toString(),\n value: d,\n }),\n )\n } else if (\n value() !== null &&\n typeof value() === 'object' &&\n isIterable(value()) &&\n typeof (value() as Iterable<unknown>)[Symbol.iterator] === 'function'\n ) {\n // Iterable<unknown>\n entries = Array.from(value() as Iterable<unknown>, (val, i) =>\n makeProperty({\n label: i.toString(),\n value: val,\n }),\n )\n } else if (typeof value() === 'object' && value() !== null) {\n // object\n entries = Object.entries(value() as object).map(([key, val]) =>\n makeProperty({\n label: key,\n value: val,\n }),\n )\n }\n\n return filterSubEntries ? filterSubEntries(entries) : entries\n })\n\n const subEntryPages = createMemo(() => chunkArray(subEntries(), pageSize))\n\n const [expandedPages, setExpandedPages] = createSignal<Array<number>>([])\n const [valueSnapshot, setValueSnapshot] = createSignal(undefined)\n const styles = useStyles()\n\n const refreshValueSnapshot = () => {\n setValueSnapshot((value() as () => any)())\n }\n\n const handleEntry = (entry: Entry) => (\n <Explorer\n value={value}\n filterSubEntries={filterSubEntries}\n {...rest}\n {...entry}\n />\n )\n\n return (\n <div class={styles().entry}>\n {subEntryPages().length ? (\n <>\n <button\n class={styles().expandButton}\n onClick={() => toggleExpanded()}\n >\n <Expander expanded={expanded() ?? false} />\n {rest.label}\n <span class={styles().info}>\n {String(type).toLowerCase() === 'iterable' ? '(Iterable) ' : ''}\n {subEntries().length} {subEntries().length > 1 ? `items` : `item`}\n </span>\n </button>\n {(expanded() ?? false) ? (\n subEntryPages().length === 1 ? (\n <div class={styles().subEntries}>\n {subEntries().map((entry, index) => handleEntry(entry))}\n </div>\n ) : (\n <div class={styles().subEntries}>\n {subEntryPages().map((entries, index) => {\n return (\n <div>\n <div class={styles().entry}>\n <button\n class={cx(styles().labelButton, 'labelButton')}\n onClick={() =>\n setExpandedPages((old) =>\n old.includes(index)\n ? old.filter((d) => d !== index)\n : [...old, index],\n )\n }\n >\n <Expander\n expanded={expandedPages().includes(index)}\n />{' '}\n [{index * pageSize} ...{' '}\n {index * pageSize + pageSize - 1}]\n </button>\n {expandedPages().includes(index) ? (\n <div class={styles().subEntries}>\n {entries.map((entry) => handleEntry(entry))}\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n )\n ) : null}\n </>\n ) : type() === 'function' ? (\n <>\n <Explorer\n label={\n <button\n onClick={refreshValueSnapshot}\n class={styles().refreshValueBtn}\n >\n <span>{rest.label}</span> 🔄{' '}\n </button>\n }\n value={valueSnapshot}\n defaultExpanded={{}}\n />\n </>\n ) : (\n <>\n <span>{rest.label}:</span>{' '}\n <span class={styles().value}>{displayValue(value())}</span>\n </>\n )}\n </div>\n )\n}\n\nconst stylesFactory = (shadowDOMTarget?: ShadowRoot) => {\n const { colors, font, size, alpha, shadow, border } = tokens\n const { fontFamily, lineHeight, size: fontSize } = font\n const css = shadowDOMTarget\n ? goober.css.bind({ target: shadowDOMTarget })\n : goober.css\n\n return {\n entry: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n line-height: ${lineHeight.sm};\n outline: none;\n word-break: break-word;\n `,\n labelButton: css`\n cursor: pointer;\n color: inherit;\n font: inherit;\n outline: inherit;\n background: transparent;\n border: none;\n padding: 0;\n `,\n expander: css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${size[3]};\n height: ${size[3]};\n padding-left: 3px;\n box-sizing: content-box;\n `,\n expanderIcon: (expanded: boolean) => {\n if (expanded) {\n return css`\n transform: rotate(90deg);\n transition: transform 0.1s ease;\n `\n }\n return css`\n transform: rotate(0deg);\n transition: transform 0.1s ease;\n `\n },\n expandButton: css`\n display: flex;\n gap: ${size[1]};\n align-items: center;\n cursor: pointer;\n color: inherit;\n font: inherit;\n outline: inherit;\n background: transparent;\n border: none;\n padding: 0;\n `,\n value: css`\n color: ${colors.purple[400]};\n `,\n subEntries: css`\n margin-left: ${size[2]};\n padding-left: ${size[2]};\n border-left: 2px solid ${colors.darkGray[400]};\n `,\n info: css`\n color: ${colors.gray[500]};\n font-size: ${fontSize['2xs']};\n padding-left: ${size[1]};\n `,\n refreshValueBtn: css`\n appearance: none;\n border: 0;\n cursor: pointer;\n background: transparent;\n color: inherit;\n padding: 0;\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n `,\n }\n}\n\nfunction useStyles() {\n const shadowDomTarget = useContext(ShadowDomTargetContext)\n const [_styles] = createSignal(stylesFactory(shadowDomTarget))\n return _styles\n}\n","import { clsx as cx } from 'clsx'\nimport { useStyles } from './useStyles'\nimport type { AnyRouteMatch, AnyRouter } from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nfunction formatTime(ms: number) {\n const units = ['s', 'min', 'h', 'd']\n const values = [ms / 1000, ms / 60000, ms / 3600000, ms / 86400000]\n\n let chosenUnitIndex = 0\n for (let i = 1; i < values.length; i++) {\n if (values[i]! < 1) break\n chosenUnitIndex = i\n }\n\n const formatter = new Intl.NumberFormat(navigator.language, {\n compactDisplay: 'short',\n notation: 'compact',\n maximumFractionDigits: 0,\n })\n\n return formatter.format(values[chosenUnitIndex]!) + units[chosenUnitIndex]\n}\n\nexport function AgeTicker({\n match,\n router,\n}: {\n match?: AnyRouteMatch\n router: Accessor<AnyRouter>\n}) {\n const styles = useStyles()\n\n if (!match) {\n return null\n }\n\n const route = router().looseRoutesById[match.routeId]!\n\n if (!route.options.loader) {\n return null\n }\n\n const age = Date.now() - match.updatedAt\n const staleTime =\n route.options.staleTime ?? router().options.defaultStaleTime ?? 0\n const gcTime =\n route.options.gcTime ?? router().options.defaultGcTime ?? 30 * 60 * 1000\n\n return (\n <div class={cx(styles().ageTicker(age > staleTime))}>\n <div>{formatTime(age)}</div>\n <div>/</div>\n <div>{formatTime(staleTime)}</div>\n <div>/</div>\n <div>{formatTime(gcTime)}</div>\n </div>\n )\n}\n","import { useStyles } from './useStyles'\nimport type { AnyRouter, NavigateOptions } from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\ninterface Props extends NavigateOptions {\n router: Accessor<AnyRouter>\n}\n\nexport function NavigateButton({ to, params, search, router }: Props) {\n const styles = useStyles()\n\n return (\n <button\n type=\"button\"\n title={`Navigate to ${to}`}\n class={styles().navigateButton}\n onClick={(e) => {\n e.stopPropagation()\n router().navigate({ to, params, search })\n }}\n >\n ➔\n </button>\n )\n}\n","import { clsx as cx } from 'clsx'\nimport { default as invariant } from 'tiny-invariant'\nimport { interpolatePath, rootRouteId, trimPath } from '@tanstack/router-core'\nimport { Show, createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useDevtoolsOnClose } from './context'\nimport { useStyles } from './useStyles'\nimport useLocalStorage from './useLocalStorage'\nimport { Explorer } from './Explorer'\nimport { getRouteStatusColor, getStatusColor, multiSortBy } from './utils'\nimport { AgeTicker } from './AgeTicker'\n// import type { DevtoolsPanelOptions } from './TanStackRouterDevtoolsPanel'\n\nimport { NavigateButton } from './NavigateButton'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n FileRouteTypes,\n MakeRouteMatchUnion,\n Route,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor, JSX } from 'solid-js'\n\nexport interface BaseDevtoolsPanelOptions {\n /**\n * The standard React style object used to style a component with inline styles\n */\n style?: Accessor<JSX.CSSProperties>\n /**\n * The standard React class property used to style a component with classes\n */\n className?: Accessor<string>\n /**\n * A boolean variable indicating whether the panel is open or closed\n */\n isOpen?: boolean\n /**\n * A function that toggles the open and close state of the panel\n */\n setIsOpen?: (isOpen: boolean) => void\n /**\n * Handles the opening and closing the devtools panel\n */\n handleDragStart?: (e: any) => void\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router: Accessor<AnyRouter>\n routerState: Accessor<any>\n /**\n * Use this to attach the devtool's styles to specific element in the DOM.\n */\n shadowDOMTarget?: ShadowRoot\n}\n\nfunction Logo(props: any) {\n const { className, ...rest } = props\n const styles = useStyles()\n return (\n <button {...rest} class={cx(styles().logo, className ? className() : '')}>\n <div class={styles().tanstackLogo}>TANSTACK</div>\n <div class={styles().routerLogo}>TanStack Router v1</div>\n </button>\n )\n}\n\nfunction NavigateLink(props: {\n class?: string\n left?: JSX.Element\n children?: JSX.Element\n right?: JSX.Element\n}) {\n return (\n <div\n class={props.class}\n style={{\n display: 'flex',\n 'align-items': 'center',\n width: '100%',\n }}\n >\n {props.left}\n <div style={{ 'flex-grow': 1, 'min-width': 0 }}>{props.children}</div>\n {props.right}\n </div>\n )\n}\n\nfunction RouteComp({\n routerState,\n router,\n route,\n isRoot,\n activeId,\n setActiveId,\n}: {\n routerState: Accessor<\n RouterState<\n Route<\n any,\n any,\n any,\n '/',\n '/',\n string,\n '__root__',\n undefined,\n {},\n {},\n AnyContext,\n AnyContext,\n {},\n undefined,\n any,\n FileRouteTypes,\n unknown,\n undefined\n >,\n MakeRouteMatchUnion\n >\n >\n router: Accessor<AnyRouter>\n route: AnyRoute\n isRoot?: boolean\n activeId: Accessor<string | undefined>\n setActiveId: (id: string) => void\n}) {\n const styles = useStyles()\n const matches = createMemo(\n () => routerState().pendingMatches || routerState().matches,\n )\n const match = createMemo(() =>\n routerState().matches.find((d) => d.routeId === route.id),\n )\n\n const param = createMemo(() => {\n try {\n if (match()?.params) {\n const p = match()?.params\n const r: string = route.path || trimPath(route.id)\n if (r.startsWith('$')) {\n const trimmed = r.slice(1)\n\n if (p[trimmed]) {\n return `(${p[trimmed]})`\n }\n }\n }\n return ''\n } catch (error) {\n return ''\n }\n })\n\n const navigationTarget = createMemo<string | undefined>(() => {\n if (isRoot) return undefined // rootRouteId has no path\n if (!route.path) return undefined // no path to navigate to\n\n // flatten all params in the router state, into a single object\n const allParams = Object.assign({}, ...matches().map((m) => m.params))\n\n // interpolatePath is used by router-core to generate the `to`\n // path for the navigate function in the router\n const interpolated = interpolatePath({\n path: route.fullPath,\n params: allParams,\n leaveWildcards: false,\n leaveParams: false,\n decodeCharMap: router().pathParamsDecodeCharMap,\n })\n\n // only if `interpolated` is not missing params, return the path since this\n // means that all the params are present for a successful navigation\n return !interpolated.isMissingParams\n ? interpolated.interpolatedPath\n : undefined\n })\n\n return (\n <div>\n <div\n role=\"button\"\n aria-label={`Open match details for ${route.id}`}\n onClick={() => {\n if (match()) {\n setActiveId(activeId() === route.id ? '' : route.id)\n }\n }}\n class={cx(\n styles().routesRowContainer(route.id === activeId(), !!match()),\n )}\n >\n <div\n class={cx(\n styles().matchIndicator(getRouteStatusColor(matches(), route)),\n )}\n />\n <NavigateLink\n class={cx(styles().routesRow(!!match()))}\n left={\n <Show when={navigationTarget()}>\n {(navigate) => <NavigateButton to={navigate()} router={router} />}\n </Show>\n }\n right={<AgeTicker match={match()} router={router} />}\n >\n <code class={styles().code}>\n {isRoot ? rootRouteId : route.path || trimPath(route.id)}{' '}\n </code>\n <code class={styles().routeParamInfo}>{param()}</code>\n </NavigateLink>\n </div>\n {route.children?.length ? (\n <div class={styles().nestedRouteRow(!!isRoot)}>\n {[...(route.children as Array<AnyRoute>)]\n .sort((a, b) => {\n return a.rank - b.rank\n })\n .map((r) => (\n <RouteComp\n routerState={routerState}\n router={router}\n route={r}\n activeId={activeId}\n setActiveId={setActiveId}\n />\n ))}\n </div>\n ) : null}\n </div>\n )\n}\n\nexport const BaseTanStackRouterDevtoolsPanel =\n function BaseTanStackRouterDevtoolsPanel({\n ...props\n }: BaseDevtoolsPanelOptions): JSX.Element {\n const {\n isOpen = true,\n setIsOpen,\n handleDragStart,\n router,\n routerState,\n shadowDOMTarget,\n ...panelProps\n } = props\n\n const { onCloseClick } = useDevtoolsOnClose()\n const styles = useStyles()\n const { className, style, ...otherPanelProps } = panelProps\n\n invariant(\n router,\n 'No router was found for the TanStack Router Devtools. Please place the devtools in the <RouterProvider> component tree or pass the router instance to the devtools manually.',\n )\n\n // useStore(router.__store)\n\n const [showMatches, setShowMatches] = useLocalStorage(\n 'tanstackRouterDevtoolsShowMatches',\n true,\n )\n\n const [activeId, setActiveId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveRouteId',\n '',\n )\n\n const activeMatch = createMemo(() => {\n const matches = [\n ...(routerState().pendingMatches ?? []),\n ...routerState().matches,\n ...routerState().cachedMatches,\n ]\n return matches.find(\n (d) => d.routeId === activeId() || d.id === activeId(),\n )\n })\n\n const hasSearch = createMemo(\n () => Object.keys(routerState().location.search).length,\n )\n\n const explorerState = createMemo(() => {\n return {\n ...router(),\n state: routerState(),\n }\n })\n\n const routerExplorerValue = createMemo(() =>\n Object.fromEntries(\n multiSortBy(\n Object.keys(explorerState()),\n (\n [\n 'state',\n 'routesById',\n 'routesByPath',\n 'flatRoutes',\n 'options',\n 'manifest',\n ] as const\n ).map((d) => (dd) => dd !== d),\n )\n .map((key) => [key, (explorerState() as any)[key]])\n .filter(\n (d) =>\n typeof d[1] !== 'function' &&\n ![\n '__store',\n 'basepath',\n 'injectedHtml',\n 'subscribers',\n 'latestLoadPromise',\n 'navigateTimeout',\n 'resetNextScroll',\n 'tempLocationKey',\n 'latestLocation',\n 'routeTree',\n 'history',\n ].includes(d[0]),\n ),\n ),\n )\n const activeMatchLoaderData = createMemo(() => activeMatch()?.loaderData)\n const activeMatchValue = createMemo(() => activeMatch())\n const locationSearchValue = createMemo(() => routerState().location.search)\n\n return (\n <div\n class={cx(\n styles().devtoolsPanel,\n 'TanStackRouterDevtoolsPanel',\n className ? className() : '',\n )}\n style={style ? style() : ''}\n {...otherPanelProps}\n >\n {handleDragStart ? (\n <div class={styles().dragHandle} onMouseDown={handleDragStart}></div>\n ) : null}\n <button\n class={styles().panelCloseBtn}\n onClick={(e: any) => {\n if (setIsOpen) {\n setIsOpen(false)\n }\n onCloseClick(e)\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"6\"\n fill=\"none\"\n viewBox=\"0 0 10 6\"\n class={styles().panelCloseBtnIcon}\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.667\"\n d=\"M1 1l4 4 4-4\"\n ></path>\n </svg>\n </button>\n <div class={styles().firstContainer}>\n <div class={styles().row}>\n <Logo\n aria-hidden\n onClick={(e: any) => {\n if (setIsOpen) {\n setIsOpen(false)\n }\n onCloseClick(e)\n }}\n />\n </div>\n <div class={styles().routerExplorerContainer}>\n <div class={styles().routerExplorer}>\n <Explorer\n label=\"Router\"\n value={routerExplorerValue}\n defaultExpanded={{\n state: {} as any,\n context: {} as any,\n options: {} as any,\n }}\n filterSubEntries={(subEntries) => {\n return subEntries.filter(\n (d: any) => typeof d.value() !== 'function',\n )\n }}\n />\n </div>\n </div>\n </div>\n <div class={styles().secondContainer}>\n <div class={styles().matchesContainer}>\n <div class={styles().detailsHeader}>\n <span>Pathname</span>\n {routerState().location.maskedLocation ? (\n <div class={styles().maskedBadgeContainer}>\n <span class={styles().maskedBadge}>masked</span>\n </div>\n ) : null}\n </div>\n <div class={styles().detailsContent}>\n <code>{routerState().location.pathname}</code>\n {routerState().location.maskedLocation ? (\n <code class={styles().maskedLocation}>\n {routerState().location.maskedLocation?.pathname}\n </code>\n ) : null}\n </div>\n <div class={styles().detailsHeader}>\n <div class={styles().routeMatchesToggle}>\n <button\n type=\"button\"\n onClick={() => {\n setShowMatches(false)\n }}\n disabled={!showMatches()}\n class={cx(\n styles().routeMatchesToggleBtn(!showMatches(), true),\n )}\n >\n Routes\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setShowMatches(true)\n }}\n disabled={showMatches()}\n class={cx(\n styles().routeMatchesToggleBtn(!!showMatches(), false),\n )}\n >\n Matches\n </button>\n </div>\n <div class={styles().detailsHeaderInfo}>\n <div>age / staleTime / gcTime</div>\n </div>\n </div>\n <div class={cx(styles().routesContainer)}>\n {!showMatches() ? (\n <RouteComp\n routerState={routerState}\n router={router}\n route={router().routeTree}\n isRoot\n activeId={activeId}\n setActiveId={setActiveId}\n />\n ) : (\n <div>\n {(routerState().pendingMatches?.length\n ? routerState().pendingMatches\n : routerState().matches\n )?.map((match: any, _i: any) => {\n return (\n <div\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveId(activeId() === match.id ? '' : match.id)\n }\n class={cx(styles().matchRow(match === activeMatch()))}\n >\n <div\n class={cx(\n styles().matchIndicator(getStatusColor(match)),\n )}\n />\n <NavigateLink\n left={\n <NavigateButton\n to={match.pathname}\n params={match.params}\n search={match.search}\n router={router}\n />\n }\n right={<AgeTicker match={match} router={router} />}\n >\n <code class={styles().matchID}>\n {`${match.routeId === rootRouteId ? rootRouteId : match.pathname}`}\n </code>\n </NavigateLink>\n </div>\n )\n })}\n </div>\n )}\n </div>\n </div>\n {routerState().cachedMatches.length ? (\n <div class={styles().cachedMatchesContainer}>\n <div class={styles().detailsHeader}>\n <div>Cached Matches</div>\n <div class={styles().detailsHeaderInfo}>\n age / staleTime / gcTime\n </div>\n </div>\n <div>\n {routerState().cachedMatches.map((match: any) => {\n return (\n <div\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveId(activeId() === match.id ? '' : match.id)\n }\n class={cx(styles().matchRow(match === activeMatch()))}\n >\n <div\n class={cx(\n styles().matchIndicator(getStatusColor(match)),\n )}\n />\n <NavigateLink\n left={\n <NavigateButton\n to={match.pathname}\n params={match.params}\n search={match.search}\n router={router}\n />\n }\n right={<AgeTicker match={match} router={router} />}\n >\n <code class={styles().matchID}>{`${match.id}`}</code>\n </NavigateLink>\n </div>\n )\n })}\n </div>\n </div>\n ) : null}\n </div>\n {activeMatch() && activeMatch()?.status ? (\n <div class={styles().thirdContainer}>\n <div class={styles().detailsHeader}>Match Details</div>\n <div>\n <div class={styles().matchDetails}>\n <div\n class={styles().matchStatus(\n activeMatch()?.status,\n activeMatch()?.isFetching,\n )}\n >\n <div>\n {activeMatch()?.status === 'success' &&\n activeMatch()?.isFetching\n ? 'fetching'\n : activeMatch()?.status}\n </div>\n </div>\n <div class={styles().matchDetailsInfoLabel}>\n <div>ID:</div>\n <div class={styles().matchDetailsInfo}>\n <code>{activeMatch()?.id}</code>\n </div>\n </div>\n <div class={styles().matchDetailsInfoLabel}>\n <div>State:</div>\n <div class={styles().matchDetailsInfo}>\n {routerState().pendingMatches?.find(\n (d: any) => d.id === activeMatch()?.id,\n )\n ? 'Pending'\n : routerState().matches.find(\n (d: any) => d.id === activeMatch()?.id,\n )\n ? 'Active'\n : 'Cached'}\n </div>\n </div>\n <div class={styles().matchDetailsInfoLabel}>\n <div>Last Updated:</div>\n <div class={styles().matchDetailsInfo}>\n {activeMatch()?.updatedAt\n ? new Date(activeMatch()?.updatedAt).toLocaleTimeString()\n : 'N/A'}\n </div>\n </div>\n </div>\n </div>\n {activeMatchLoaderData() ? (\n <>\n <div class={styles().detailsHeader}>Loader Data</div>\n <div class={styles().detailsContent}>\n <Explorer\n label=\"loaderData\"\n value={activeMatchLoaderData}\n defaultExpanded={{}}\n />\n </div>\n </>\n ) : null}\n <div class={styles().detailsHeader}>Explorer</div>\n <div class={styles().detailsContent}>\n <Explorer\n label=\"Match\"\n value={activeMatchValue}\n defaultExpanded={{}}\n />\n </div>\n </div>\n ) : null}\n {hasSearch() ? (\n <div class={styles().fourthContainer}>\n <div class={styles().detailsHeader}>\n <span>Search Params</span>\n {typeof navigator !== 'undefined' ? (\n <span style=\"margin-left: 0.5rem;\">\n <CopyButton\n getValue={() => {\n const search = routerState().location.search\n return JSON.stringify(search)\n }}\n />\n </span>\n ) : null}\n </div>\n <div class={styles().detailsContent}>\n <Explorer\n value={locationSearchValue}\n defaultExpanded={Object.keys(\n routerState().location.search,\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n </div>\n </div>\n ) : null}\n </div>\n )\n }\n\nfunction CopyButton({ getValue }: { getValue: () => string }) {\n const [copied, setCopied] = createSignal(false)\n\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const handleCopy = async () => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof navigator === 'undefined' || !navigator.clipboard?.writeText) {\n console.warn('TanStack Router Devtools: Clipboard API unavailable')\n return\n }\n try {\n const value = getValue()\n await navigator.clipboard.writeText(value)\n setCopied(true)\n if (timeoutId) clearTimeout(timeoutId)\n timeoutId = setTimeout(() => setCopied(false), 2500)\n } catch (e) {\n console.error('TanStack Router Devtools: Failed to copy', e)\n }\n }\n\n onCleanup(() => {\n if (timeoutId) clearTimeout(timeoutId)\n })\n\n return (\n <button\n type=\"button\"\n style=\"cursor: pointer;\"\n onClick={handleCopy}\n aria-label=\"Copy value to clipboard\"\n title={copied() ? 'Copied!' : 'Copy'}\n >\n {copied() ? '✅' : '📋'}\n </button>\n )\n}\n\nexport default BaseTanStackRouterDevtoolsPanel\n"],"names":["isServer","window","getStatusColor","match","colorMap","pending","success","error","notFound","redirected","isFetching","status","getRouteStatusColor","matches","route","found","find","d","routeId","id","useIsMounted","isMounted","setIsMounted","createSignal","effect","createEffect","createRenderEffect","displayValue","value","name","Object","getOwnPropertyNames","newValue","toString","JSON","stringify","e","multiSortBy","arr","accessors","map","i","sort","a","ai","b","bi","accessor","ao","bo","stylesFactory","shadowDOMTarget","colors","font","size","alpha","border","tokens","fontFamily","lineHeight","fontSize","css","goober","bind","target","devtoolsPanelContainer","gray","devtoolsPanelContainerVisibility","isOpen","devtoolsPanelContainerResizing","isResizing","devtoolsPanelContainerAnimation","height","logo","sans","radius","xs","blue","tanstackLogo","md","weight","bold","routerLogo","semibold","devtoolsPanel","sm","darkGray","dragHandle","purple","firstContainer","routerExplorerContainer","routerExplorer","row","detailsHeader","medium","maskedBadge","yellow","full","normal","maskedLocation","detailsContent","routeMatchesToggle","routeMatchesToggleBtn","active","showBorder","base","classes","activeStyles","push","inactiveStyles","detailsHeaderInfo","matchRow","matchIndicator","color","grayStyles","matchID","ageTicker","showWarning","warningStyles","secondContainer","thirdContainer","fourthContainer","routesContainer","routesRowContainer","isMatch","routesRow","matchStyles","routesRowInner","routeParamInfo","nestedRouteRow","isRoot","code","matchesContainer","cachedMatchesContainer","maskedBadgeContainer","matchDetails","matchStatus","matchDetailsInfo","matchDetailsInfoLabel","mainCloseBtn","mainCloseBtnPosition","position","mainCloseBtnAnimation","routerLogoCloseButton","mainCloseBtnDivider","mainCloseBtnIconContainer","mainCloseBtnIconOuter","mainCloseBtnIconInner","panelCloseBtn","panelCloseBtnIcon","navigateButton","useStyles","shadowDomTarget","useContext","ShadowDomTargetContext","_styles","Expander","expanded","style","styles","_el$","_tmpl$","_el$2","firstChild","_$effect","_p$","_v$","expander","_v$2","cx","expanderIcon","_$className","t","_$setAttribute","undefined","chunkArray","array","result","length","slice","isIterable","x","Symbol","iterator","Explorer","defaultExpanded","pageSize","filterSubEntries","rest","setExpanded","Boolean","toggleExpanded","old","type","createMemo","subEntries","entries","makeProperty","sub","subDefaultExpanded","label","Array","isArray","from","val","key","subEntryPages","expandedPages","setExpandedPages","valueSnapshot","setValueSnapshot","refreshValueSnapshot","handleEntry","entry","_$createComponent","_$mergeProps","_el$3","_tmpl$2","_$insert","_c$","_$memo","_el$4","_tmpl$3","_el$5","_el$6","$$click","String","toLowerCase","_v$3","expandButton","_v$4","info","_el$7","index","_el$8","_el$9","_tmpl$4","_el$0","_el$1","_el$10","_el$15","nextSibling","_el$12","_el$16","includes","filter","_c$3","_el$17","_v$5","_v$6","labelButton","_c$2","_el$18","_tmpl$5","_el$19","refreshValueBtn","_el$20","_tmpl$6","_el$21","_el$22","_tmpl$7","mono","_$delegateEvents","formatTime","ms","units","values","chosenUnitIndex","formatter","Intl","NumberFormat","navigator","language","compactDisplay","notation","maximumFractionDigits","format","AgeTicker","router","looseRoutesById","options","loader","age","Date","now","updatedAt","staleTime","defaultStaleTime","gcTime","defaultGcTime","NavigateButton","to","params","search","stopPropagation","navigate","Logo","props","className","_$spread","NavigateLink","setProperty","left","children","right","class","RouteComp","routerState","activeId","setActiveId","pendingMatches","param","p","r","path","trimPath","startsWith","trimmed","navigationTarget","allParams","assign","m","interpolated","interpolatePath","fullPath","leaveWildcards","leaveParams","decodeCharMap","pathParamsDecodeCharMap","isMissingParams","interpolatedPath","Show","when","rootRouteId","rank","BaseTanStackRouterDevtoolsPanel","setIsOpen","handleDragStart","panelProps","onCloseClick","useDevtoolsOnClose","otherPanelProps","invariant","showMatches","setShowMatches","useLocalStorage","activeMatch","cachedMatches","hasSearch","keys","location","explorerState","state","routerExplorerValue","fromEntries","dd","activeMatchLoaderData","loaderData","activeMatchValue","locationSearchValue","_el$11","_el$13","_el$14","_el$23","_el$24","_el$25","_el$26","_el$27","_el$28","_el$29","_el$30","_$addEventListener","onClick","context","_el$31","_tmpl$8","_el$32","_v$22","_v$23","pathname","_el$33","_c$4","routeTree","_el$34","_i","_el$35","_tmpl$9","_el$36","_el$37","_v$24","_v$25","_v$26","_c$5","_el$38","_tmpl$0","_el$39","_el$40","_el$41","_el$42","_el$43","_el$44","_el$45","_v$30","_v$31","_v$32","_v$27","_v$28","_v$29","_c$6","_el$46","_tmpl$1","_el$47","_el$48","_el$49","_el$50","_el$51","_el$52","_el$53","_el$54","_el$55","_el$56","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$63","_c$8","_c$9","_c$0","toLocaleTimeString","_c$1","_el$64","_tmpl$10","_el$65","_v$33","_v$34","_v$35","_v$36","_v$37","_v$38","_v$39","_v$40","_v$41","_v$42","_v$43","_v$44","o","n","s","h","l","u","_c$7","_el$66","_tmpl$11","_el$67","_el$69","_el$70","_tmpl$12","CopyButton","getValue","reduce","obj","next","_v$45","_v$46","_v$47","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","c","disabled","w","f","y","g","copied","setCopied","timeoutId","handleCopy","clipboard","writeText","console","warn","setTimeout","onCleanup","_el$71","_tmpl$13"],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const web = require("solid-js/web");
|
|
4
|
+
const clsx = require("clsx");
|
|
5
|
+
const solidJs = require("solid-js");
|
|
6
|
+
const index = require("./index-CHaaetqh.cjs");
|
|
7
|
+
const BaseTanStackRouterDevtoolsPanel = require("./BaseTanStackRouterDevtoolsPanel-CbH9Ihs_.cjs");
|
|
8
|
+
var _tmpl$$1 = /* @__PURE__ */ web.template(`<svg xmlns=http://www.w3.org/2000/svg enable-background="new 0 0 634 633"viewBox="0 0 634 633"><g transform=translate(1)><linearGradient x1=-641.486 x2=-641.486 y1=856.648 y2=855.931 gradientTransform="matrix(633 0 0 -633 406377 542258)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#6bdaff></stop><stop offset=0.319 stop-color=#f9ffb5></stop><stop offset=0.706 stop-color=#ffa770></stop><stop offset=1 stop-color=#ff7373></stop></linearGradient><circle cx=316.5 cy=316.5 r=316.5 fill-rule=evenodd clip-rule=evenodd></circle><defs><filter width=454 height=396.9 x=-137.5 y=412 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=454 height=396.9 x=-137.5 y=412 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><ellipse cx=89.5 cy=610.5 fill=#015064 fill-rule=evenodd stroke=#00CFE2 stroke-width=25 clip-rule=evenodd rx=214.5 ry=186></ellipse><defs><filter width=454 height=396.9 x=316.5 y=412 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=454 height=396.9 x=316.5 y=412 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><ellipse cx=543.5 cy=610.5 fill=#015064 fill-rule=evenodd stroke=#00CFE2 stroke-width=25 clip-rule=evenodd rx=214.5 ry=186></ellipse><defs><filter width=454 height=396.9 x=-137.5 y=450 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=454 height=396.9 x=-137.5 y=450 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><ellipse cx=89.5 cy=648.5 fill=#015064 fill-rule=evenodd stroke=#00A8B8 stroke-width=25 clip-rule=evenodd rx=214.5 ry=186></ellipse><defs><filter width=454 height=396.9 x=316.5 y=450 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=454 height=396.9 x=316.5 y=450 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><ellipse cx=543.5 cy=648.5 fill=#015064 fill-rule=evenodd stroke=#00A8B8 stroke-width=25 clip-rule=evenodd rx=214.5 ry=186></ellipse><defs><filter width=454 height=396.9 x=-137.5 y=486 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=454 height=396.9 x=-137.5 y=486 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><ellipse cx=89.5 cy=684.5 fill=#015064 fill-rule=evenodd stroke=#007782 stroke-width=25 clip-rule=evenodd rx=214.5 ry=186></ellipse><defs><filter width=454 height=396.9 x=316.5 y=486 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=454 height=396.9 x=316.5 y=486 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><ellipse cx=543.5 cy=684.5 fill=#015064 fill-rule=evenodd stroke=#007782 stroke-width=25 clip-rule=evenodd rx=214.5 ry=186></ellipse><defs><filter width=176.9 height=129.3 x=272.2 y=308 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=176.9 height=129.3 x=272.2 y=308 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><g><path fill=none stroke=#000 stroke-linecap=round stroke-linejoin=bevel stroke-width=11 d="M436 403.2l-5 28.6m-140-90.3l-10.9 62m52.8-19.4l-4.3 27.1"></path><linearGradient x1=-645.656 x2=-646.499 y1=854.878 y2=854.788 gradientTransform="matrix(-184.159 -32.4722 11.4608 -64.9973 -128419.844 34938.836)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ee2700></stop><stop offset=1 stop-color=#ff008e></stop></linearGradient><path fill-rule=evenodd d="M344.1 363l97.7 17.2c5.8 2.1 8.2 6.2 7.1 12.1-1 5.9-4.7 9.2-11 9.9l-106-18.7-57.5-59.2c-3.2-4.8-2.9-9.1.8-12.8 3.7-3.7 8.3-4.4 13.7-2.1l55.2 53.6z"clip-rule=evenodd></path><path fill=#D8D8D8 fill-rule=evenodd stroke=#FFF stroke-linecap=round stroke-linejoin=bevel stroke-width=7 d="M428.3 384.5l.9-6.5m-33.9 1.5l.9-6.5m-34 .5l.9-6.1m-38.9-16.1l4.2-3.9m-25.2-16.1l4.2-3.9"clip-rule=evenodd></path></g><defs><filter width=280.6 height=317.4 x=73.2 y=113.9 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=280.6 height=317.4 x=73.2 y=113.9 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><g><linearGradient x1=-646.8 x2=-646.8 y1=854.844 y2=853.844 gradientTransform="matrix(-100.1751 48.8587 -97.9753 -200.879 19124.773 203538.61)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#a17500></stop><stop offset=1 stop-color=#5d2100></stop></linearGradient><path fill-rule=evenodd d="M192.3 203c8.1 37.3 14 73.6 17.8 109.1 3.8 35.4 2.8 75.2-2.9 119.2l61.2-16.7c-15.6-59-25.2-97.9-28.6-116.6-3.4-18.7-10.8-51.8-22.2-99.6l-25.3 4.6"clip-rule=evenodd></path><linearGradient x1=-635.467 x2=-635.467 y1=852.115 y2=851.115 gradientTransform="matrix(92.6873 4.8575 2.0257 -38.6535 57323.695 36176.047)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#2f8a00></stop><stop offset=1 stop-color=#90ff57></stop></linearGradient><path fill-rule=evenodd stroke=#2F8A00 stroke-width=13 d="M195 183.9s-12.6-22.1-36.5-29.9c-15.9-5.2-34.4-1.5-55.5 11.1 15.9 14.3 29.5 22.6 40.7 24.9 16.8 3.6 51.3-6.1 51.3-6.1z"clip-rule=evenodd></path><linearGradient x1=-636.573 x2=-636.573 y1=855.444 y2=854.444 gradientTransform="matrix(109.9945 5.7646 6.3597 -121.3507 64719.133 107659.336)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#2f8a00></stop><stop offset=1 stop-color=#90ff57></stop></linearGradient><path fill-rule=evenodd stroke=#2F8A00 stroke-width=13 d="M194.9 184.5s-47.5-8.5-83.2 15.7c-23.8 16.2-34.3 49.3-31.6 99.3 30.3-27.8 52.1-48.5 65.2-61.9 19.8-20 49.6-53.1 49.6-53.1z"clip-rule=evenodd></path><linearGradient x1=-632.145 x2=-632.145 y1=854.174 y2=853.174 gradientTransform="matrix(62.9558 3.2994 3.5021 -66.8246 37035.367 59284.227)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#2f8a00></stop><stop offset=1 stop-color=#90ff57></stop></linearGradient><path fill-rule=evenodd stroke=#2F8A00 stroke-width=13 d="M195 183.9c-.8-21.9 6-38 20.6-48.2 14.6-10.2 29.8-15.3 45.5-15.3-6.1 21.4-14.5 35.8-25.2 43.4-10.7 7.5-24.4 14.2-40.9 20.1z"clip-rule=evenodd></path><linearGradient x1=-638.224 x2=-638.224 y1=853.801 y2=852.801 gradientTransform="matrix(152.4666 7.9904 3.0934 -59.0251 94939.86 55646.855)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#2f8a00></stop><stop offset=1 stop-color=#90ff57></stop></linearGradient><path fill-rule=evenodd stroke=#2F8A00 stroke-width=13 d="M194.9 184.5c31.9-30 64.1-39.7 96.7-29 32.6 10.7 50.8 30.4 54.6 59.1-35.2-5.5-60.4-9.6-75.8-12.1-15.3-2.6-40.5-8.6-75.5-18z"clip-rule=evenodd></path><linearGradient x1=-637.723 x2=-637.723 y1=855.103 y2=854.103 gradientTransform="matrix(136.467 7.1519 5.2165 -99.5377 82830.875 89859.578)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#2f8a00></stop><stop offset=1 stop-color=#90ff57></stop></linearGradient><path fill-rule=evenodd stroke=#2F8A00 stroke-width=13 d="M194.9 184.5c35.8-7.6 65.6-.2 89.2 22 23.6 22.2 37.7 49 42.3 80.3-39.8-9.7-68.3-23.8-85.5-42.4-17.2-18.5-32.5-38.5-46-59.9z"clip-rule=evenodd></path><linearGradient x1=-631.79 x2=-631.79 y1=855.872 y2=854.872 gradientTransform="matrix(60.8683 3.19 8.7771 -167.4773 31110.818 145537.61)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#2f8a00></stop><stop offset=1 stop-color=#90ff57></stop></linearGradient><path fill-rule=evenodd stroke=#2F8A00 stroke-width=13 d="M194.9 184.5c-33.6 13.8-53.6 35.7-60.1 65.6-6.5 29.9-3.6 63.1 8.7 99.6 27.4-40.3 43.2-69.6 47.4-88 4.2-18.3 5.5-44.1 4-77.2z"clip-rule=evenodd></path><path fill=none stroke=#2F8A00 stroke-linecap=round stroke-width=8 d="M196.5 182.3c-14.8 21.6-25.1 41.4-30.8 59.4-5.7 18-9.4 33-11.1 45.1"></path><path fill=none stroke=#2F8A00 stroke-linecap=round stroke-width=8 d="M194.8 185.7c-24.4 1.7-43.8 9-58.1 21.8-14.3 12.8-24.7 25.4-31.3 37.8m99.1-68.9c29.7-6.7 52-8.4 67-5 15 3.4 26.9 8.7 35.8 15.9m-110.8-5.9c20.3 9.9 38.2 20.5 53.9 31.9 15.7 11.4 27.4 22.1 35.1 32"></path></g><defs><filter width=532 height=633 x=50.5 y=399 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=532 height=633 x=50.5 y=399 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><linearGradient x1=-641.104 x2=-641.278 y1=856.577 y2=856.183 gradientTransform="matrix(532 0 0 -633 341484.5 542657)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#fff400></stop><stop offset=1 stop-color=#3c8700></stop></linearGradient><ellipse cx=316.5 cy=715.5 fill-rule=evenodd clip-rule=evenodd rx=266 ry=316.5></ellipse><defs><filter width=288 height=283 x=391 y=-24 filterUnits=userSpaceOnUse><feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"></feColorMatrix></filter></defs><mask width=288 height=283 x=391 y=-24 maskUnits=userSpaceOnUse><g><circle cx=316.5 cy=316.5 r=316.5 fill=#FFF fill-rule=evenodd clip-rule=evenodd></circle></g></mask><g><g transform="translate(397 -24)"><linearGradient x1=-1036.672 x2=-1036.672 y1=880.018 y2=879.018 gradientTransform="matrix(227 0 0 -227 235493 199764)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffdf00></stop><stop offset=1 stop-color=#ff9d00></stop></linearGradient><circle cx=168.5 cy=113.5 r=113.5 fill-rule=evenodd clip-rule=evenodd></circle><linearGradient x1=-1017.329 x2=-1018.602 y1=658.003 y2=657.998 gradientTransform="matrix(30 0 0 -1 30558 771)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M30 113H0"></path><linearGradient x1=-1014.501 x2=-1015.774 y1=839.985 y2=839.935 gradientTransform="matrix(26.5 0 0 -5.5 26925 4696.5)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M33.5 79.5L7 74"></path><linearGradient x1=-1016.59 x2=-1017.862 y1=852.671 y2=852.595 gradientTransform="matrix(29 0 0 -8 29523 6971)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M34 146l-29 8"></path><linearGradient x1=-1011.984 x2=-1013.257 y1=863.523 y2=863.229 gradientTransform="matrix(24 0 0 -13 24339 11407)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M45 177l-24 13"></path><linearGradient x1=-1006.673 x2=-1007.946 y1=869.279 y2=868.376 gradientTransform="matrix(20 0 0 -19 20205 16720)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M67 204l-20 19"></path><linearGradient x1=-992.85 x2=-993.317 y1=871.258 y2=870.258 gradientTransform="matrix(13.8339 0 0 -22.8467 13825.796 20131.938)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M94.4 227l-13.8 22.8"></path><linearGradient x1=-953.835 x2=-953.965 y1=871.9 y2=870.9 gradientTransform="matrix(7.5 0 0 -24.5 7278 21605)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M127.5 243.5L120 268"></path><linearGradient x1=244.504 x2=244.496 y1=871.898 y2=870.898 gradientTransform="matrix(.5 0 0 -24.5 45.5 21614)"gradientUnits=userSpaceOnUse><stop offset=0 stop-color=#ffa400></stop><stop offset=1 stop-color=#ff5e00></stop></linearGradient><path fill=none stroke-linecap=round stroke-linejoin=bevel stroke-width=12 d="M167.5 252.5l.5 24.5">`);
|
|
9
|
+
function TanStackLogo() {
|
|
10
|
+
const id = solidJs.createUniqueId();
|
|
11
|
+
return (() => {
|
|
12
|
+
var _el$ = _tmpl$$1(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.firstChild, _el$7 = _el$5.nextSibling, _el$8 = _el$7.firstChild, _el$9 = _el$7.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.firstChild, _el$10 = _el$0.nextSibling, _el$11 = _el$10.firstChild, _el$12 = _el$10.nextSibling, _el$13 = _el$12.nextSibling, _el$14 = _el$13.firstChild, _el$15 = _el$13.nextSibling, _el$16 = _el$15.firstChild, _el$17 = _el$15.nextSibling, _el$18 = _el$17.nextSibling, _el$19 = _el$18.firstChild, _el$20 = _el$18.nextSibling, _el$21 = _el$20.firstChild, _el$22 = _el$20.nextSibling, _el$23 = _el$22.nextSibling, _el$24 = _el$23.firstChild, _el$25 = _el$23.nextSibling, _el$26 = _el$25.firstChild, _el$27 = _el$25.nextSibling, _el$28 = _el$27.nextSibling, _el$29 = _el$28.firstChild, _el$30 = _el$28.nextSibling, _el$31 = _el$30.firstChild, _el$32 = _el$30.nextSibling, _el$33 = _el$32.nextSibling, _el$34 = _el$33.firstChild, _el$35 = _el$33.nextSibling, _el$36 = _el$35.firstChild, _el$37 = _el$35.nextSibling, _el$38 = _el$37.firstChild, _el$39 = _el$38.nextSibling, _el$40 = _el$39.nextSibling, _el$41 = _el$37.nextSibling, _el$42 = _el$41.firstChild, _el$43 = _el$41.nextSibling, _el$44 = _el$43.firstChild, _el$45 = _el$43.nextSibling, _el$46 = _el$45.firstChild, _el$47 = _el$46.nextSibling, _el$48 = _el$47.nextSibling, _el$49 = _el$48.nextSibling, _el$50 = _el$49.nextSibling, _el$51 = _el$50.nextSibling, _el$52 = _el$51.nextSibling, _el$53 = _el$52.nextSibling, _el$54 = _el$53.nextSibling, _el$55 = _el$54.nextSibling, _el$56 = _el$55.nextSibling, _el$57 = _el$56.nextSibling, _el$58 = _el$57.nextSibling, _el$59 = _el$58.nextSibling, _el$60 = _el$45.nextSibling, _el$61 = _el$60.firstChild, _el$62 = _el$60.nextSibling, _el$63 = _el$62.firstChild, _el$64 = _el$62.nextSibling, _el$65 = _el$64.nextSibling, _el$66 = _el$65.nextSibling, _el$67 = _el$66.firstChild, _el$68 = _el$66.nextSibling, _el$69 = _el$68.firstChild, _el$70 = _el$68.nextSibling, _el$71 = _el$70.firstChild, _el$72 = _el$71.firstChild, _el$73 = _el$72.nextSibling, _el$74 = _el$73.nextSibling, _el$75 = _el$74.nextSibling, _el$76 = _el$75.nextSibling, _el$77 = _el$76.nextSibling, _el$78 = _el$77.nextSibling, _el$79 = _el$78.nextSibling, _el$80 = _el$79.nextSibling, _el$81 = _el$80.nextSibling, _el$82 = _el$81.nextSibling, _el$83 = _el$82.nextSibling, _el$84 = _el$83.nextSibling, _el$85 = _el$84.nextSibling, _el$86 = _el$85.nextSibling, _el$87 = _el$86.nextSibling, _el$88 = _el$87.nextSibling, _el$89 = _el$88.nextSibling;
|
|
13
|
+
web.setAttribute(_el$3, "id", `a-${id}`);
|
|
14
|
+
web.setAttribute(_el$4, "fill", `url(#a-${id})`);
|
|
15
|
+
web.setAttribute(_el$6, "id", `b-${id}`);
|
|
16
|
+
web.setAttribute(_el$7, "id", `c-${id}`);
|
|
17
|
+
web.setAttribute(_el$8, "filter", `url(#b-${id})`);
|
|
18
|
+
web.setAttribute(_el$9, "mask", `url(#c-${id})`);
|
|
19
|
+
web.setAttribute(_el$1, "id", `d-${id}`);
|
|
20
|
+
web.setAttribute(_el$10, "id", `e-${id}`);
|
|
21
|
+
web.setAttribute(_el$11, "filter", `url(#d-${id})`);
|
|
22
|
+
web.setAttribute(_el$12, "mask", `url(#e-${id})`);
|
|
23
|
+
web.setAttribute(_el$14, "id", `f-${id}`);
|
|
24
|
+
web.setAttribute(_el$15, "id", `g-${id}`);
|
|
25
|
+
web.setAttribute(_el$16, "filter", `url(#f-${id})`);
|
|
26
|
+
web.setAttribute(_el$17, "mask", `url(#g-${id})`);
|
|
27
|
+
web.setAttribute(_el$19, "id", `h-${id}`);
|
|
28
|
+
web.setAttribute(_el$20, "id", `i-${id}`);
|
|
29
|
+
web.setAttribute(_el$21, "filter", `url(#h-${id})`);
|
|
30
|
+
web.setAttribute(_el$22, "mask", `url(#i-${id})`);
|
|
31
|
+
web.setAttribute(_el$24, "id", `j-${id}`);
|
|
32
|
+
web.setAttribute(_el$25, "id", `k-${id}`);
|
|
33
|
+
web.setAttribute(_el$26, "filter", `url(#j-${id})`);
|
|
34
|
+
web.setAttribute(_el$27, "mask", `url(#k-${id})`);
|
|
35
|
+
web.setAttribute(_el$29, "id", `l-${id}`);
|
|
36
|
+
web.setAttribute(_el$30, "id", `m-${id}`);
|
|
37
|
+
web.setAttribute(_el$31, "filter", `url(#l-${id})`);
|
|
38
|
+
web.setAttribute(_el$32, "mask", `url(#m-${id})`);
|
|
39
|
+
web.setAttribute(_el$34, "id", `n-${id}`);
|
|
40
|
+
web.setAttribute(_el$35, "id", `o-${id}`);
|
|
41
|
+
web.setAttribute(_el$36, "filter", `url(#n-${id})`);
|
|
42
|
+
web.setAttribute(_el$37, "mask", `url(#o-${id})`);
|
|
43
|
+
web.setAttribute(_el$39, "id", `p-${id}`);
|
|
44
|
+
web.setAttribute(_el$40, "fill", `url(#p-${id})`);
|
|
45
|
+
web.setAttribute(_el$42, "id", `q-${id}`);
|
|
46
|
+
web.setAttribute(_el$43, "id", `r-${id}`);
|
|
47
|
+
web.setAttribute(_el$44, "filter", `url(#q-${id})`);
|
|
48
|
+
web.setAttribute(_el$45, "mask", `url(#r-${id})`);
|
|
49
|
+
web.setAttribute(_el$46, "id", `s-${id}`);
|
|
50
|
+
web.setAttribute(_el$47, "fill", `url(#s-${id})`);
|
|
51
|
+
web.setAttribute(_el$48, "id", `t-${id}`);
|
|
52
|
+
web.setAttribute(_el$49, "fill", `url(#t-${id})`);
|
|
53
|
+
web.setAttribute(_el$50, "id", `u-${id}`);
|
|
54
|
+
web.setAttribute(_el$51, "fill", `url(#u-${id})`);
|
|
55
|
+
web.setAttribute(_el$52, "id", `v-${id}`);
|
|
56
|
+
web.setAttribute(_el$53, "fill", `url(#v-${id})`);
|
|
57
|
+
web.setAttribute(_el$54, "id", `w-${id}`);
|
|
58
|
+
web.setAttribute(_el$55, "fill", `url(#w-${id})`);
|
|
59
|
+
web.setAttribute(_el$56, "id", `x-${id}`);
|
|
60
|
+
web.setAttribute(_el$57, "fill", `url(#x-${id})`);
|
|
61
|
+
web.setAttribute(_el$58, "id", `y-${id}`);
|
|
62
|
+
web.setAttribute(_el$59, "fill", `url(#y-${id})`);
|
|
63
|
+
web.setAttribute(_el$61, "id", `z-${id}`);
|
|
64
|
+
web.setAttribute(_el$62, "id", `A-${id}`);
|
|
65
|
+
web.setAttribute(_el$63, "filter", `url(#z-${id})`);
|
|
66
|
+
web.setAttribute(_el$64, "id", `B-${id}`);
|
|
67
|
+
web.setAttribute(_el$65, "fill", `url(#B-${id})`);
|
|
68
|
+
web.setAttribute(_el$65, "mask", `url(#A-${id})`);
|
|
69
|
+
web.setAttribute(_el$67, "id", `C-${id}`);
|
|
70
|
+
web.setAttribute(_el$68, "id", `D-${id}`);
|
|
71
|
+
web.setAttribute(_el$69, "filter", `url(#C-${id})`);
|
|
72
|
+
web.setAttribute(_el$70, "mask", `url(#D-${id})`);
|
|
73
|
+
web.setAttribute(_el$72, "id", `E-${id}`);
|
|
74
|
+
web.setAttribute(_el$73, "fill", `url(#E-${id})`);
|
|
75
|
+
web.setAttribute(_el$74, "id", `F-${id}`);
|
|
76
|
+
web.setAttribute(_el$75, "stroke", `url(#F-${id})`);
|
|
77
|
+
web.setAttribute(_el$76, "id", `G-${id}`);
|
|
78
|
+
web.setAttribute(_el$77, "stroke", `url(#G-${id})`);
|
|
79
|
+
web.setAttribute(_el$78, "id", `H-${id}`);
|
|
80
|
+
web.setAttribute(_el$79, "stroke", `url(#H-${id})`);
|
|
81
|
+
web.setAttribute(_el$80, "id", `I-${id}`);
|
|
82
|
+
web.setAttribute(_el$81, "stroke", `url(#I-${id})`);
|
|
83
|
+
web.setAttribute(_el$82, "id", `J-${id}`);
|
|
84
|
+
web.setAttribute(_el$83, "stroke", `url(#J-${id})`);
|
|
85
|
+
web.setAttribute(_el$84, "id", `K-${id}`);
|
|
86
|
+
web.setAttribute(_el$85, "stroke", `url(#K-${id})`);
|
|
87
|
+
web.setAttribute(_el$86, "id", `L-${id}`);
|
|
88
|
+
web.setAttribute(_el$87, "stroke", `url(#L-${id})`);
|
|
89
|
+
web.setAttribute(_el$88, "id", `M-${id}`);
|
|
90
|
+
web.setAttribute(_el$89, "stroke", `url(#M-${id})`);
|
|
91
|
+
return _el$;
|
|
92
|
+
})();
|
|
93
|
+
}
|
|
94
|
+
var _tmpl$ = /* @__PURE__ */ web.template(`<button type=button><div><div></div><div></div></div><div>-</div><div>TanStack Router`);
|
|
95
|
+
function FloatingTanStackRouterDevtools({
|
|
96
|
+
initialIsOpen,
|
|
97
|
+
panelProps = {},
|
|
98
|
+
closeButtonProps = {},
|
|
99
|
+
toggleButtonProps = {},
|
|
100
|
+
position = "bottom-left",
|
|
101
|
+
containerElement: Container = "footer",
|
|
102
|
+
router,
|
|
103
|
+
routerState,
|
|
104
|
+
shadowDOMTarget
|
|
105
|
+
}) {
|
|
106
|
+
const [rootEl, setRootEl] = solidJs.createSignal();
|
|
107
|
+
let panelRef = void 0;
|
|
108
|
+
const [isOpen, setIsOpen] = BaseTanStackRouterDevtoolsPanel.useLocalStorage("tanstackRouterDevtoolsOpen", initialIsOpen);
|
|
109
|
+
const [devtoolsHeight, setDevtoolsHeight] = BaseTanStackRouterDevtoolsPanel.useLocalStorage("tanstackRouterDevtoolsHeight", null);
|
|
110
|
+
const [isResolvedOpen, setIsResolvedOpen] = solidJs.createSignal(false);
|
|
111
|
+
const [isResizing, setIsResizing] = solidJs.createSignal(false);
|
|
112
|
+
const isMounted = BaseTanStackRouterDevtoolsPanel.useIsMounted();
|
|
113
|
+
const styles = BaseTanStackRouterDevtoolsPanel.useStyles();
|
|
114
|
+
const handleDragStart = (panelElement, startEvent) => {
|
|
115
|
+
if (startEvent.button !== 0) return;
|
|
116
|
+
setIsResizing(true);
|
|
117
|
+
const dragInfo = {
|
|
118
|
+
originalHeight: panelElement?.getBoundingClientRect().height ?? 0,
|
|
119
|
+
pageY: startEvent.pageY
|
|
120
|
+
};
|
|
121
|
+
const run = (moveEvent) => {
|
|
122
|
+
const delta = dragInfo.pageY - moveEvent.pageY;
|
|
123
|
+
const newHeight = dragInfo.originalHeight + delta;
|
|
124
|
+
setDevtoolsHeight(newHeight);
|
|
125
|
+
if (newHeight < 70) {
|
|
126
|
+
setIsOpen(false);
|
|
127
|
+
} else {
|
|
128
|
+
setIsOpen(true);
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
const unsub = () => {
|
|
132
|
+
setIsResizing(false);
|
|
133
|
+
document.removeEventListener("mousemove", run);
|
|
134
|
+
document.removeEventListener("mouseUp", unsub);
|
|
135
|
+
};
|
|
136
|
+
document.addEventListener("mousemove", run);
|
|
137
|
+
document.addEventListener("mouseup", unsub);
|
|
138
|
+
};
|
|
139
|
+
isOpen() ?? false;
|
|
140
|
+
solidJs.createEffect(() => {
|
|
141
|
+
setIsResolvedOpen(isOpen() ?? false);
|
|
142
|
+
});
|
|
143
|
+
solidJs.createEffect(() => {
|
|
144
|
+
if (isResolvedOpen()) {
|
|
145
|
+
const previousValue = rootEl()?.parentElement?.style.paddingBottom;
|
|
146
|
+
const run = () => {
|
|
147
|
+
const containerHeight = panelRef.getBoundingClientRect().height;
|
|
148
|
+
if (rootEl()?.parentElement) {
|
|
149
|
+
setRootEl((prev) => {
|
|
150
|
+
if (prev?.parentElement) {
|
|
151
|
+
prev.parentElement.style.paddingBottom = `${containerHeight}px`;
|
|
152
|
+
}
|
|
153
|
+
return prev;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
run();
|
|
158
|
+
if (typeof window !== "undefined") {
|
|
159
|
+
window.addEventListener("resize", run);
|
|
160
|
+
return () => {
|
|
161
|
+
window.removeEventListener("resize", run);
|
|
162
|
+
if (rootEl()?.parentElement && typeof previousValue === "string") {
|
|
163
|
+
setRootEl((prev) => {
|
|
164
|
+
prev.parentElement.style.paddingBottom = previousValue;
|
|
165
|
+
return prev;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
} else {
|
|
171
|
+
if (rootEl()?.parentElement) {
|
|
172
|
+
setRootEl((prev) => {
|
|
173
|
+
if (prev?.parentElement) {
|
|
174
|
+
prev.parentElement.removeAttribute("style");
|
|
175
|
+
}
|
|
176
|
+
return prev;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return;
|
|
181
|
+
});
|
|
182
|
+
solidJs.createEffect(() => {
|
|
183
|
+
if (rootEl()) {
|
|
184
|
+
const el = rootEl();
|
|
185
|
+
const fontSize = getComputedStyle(el).fontSize;
|
|
186
|
+
el?.style.setProperty("--tsrd-font-size", fontSize);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
const {
|
|
190
|
+
style: panelStyle = {},
|
|
191
|
+
...otherPanelProps
|
|
192
|
+
} = panelProps;
|
|
193
|
+
const {
|
|
194
|
+
style: closeButtonStyle = {},
|
|
195
|
+
onClick: onCloseClick,
|
|
196
|
+
...otherCloseButtonProps
|
|
197
|
+
} = closeButtonProps;
|
|
198
|
+
const {
|
|
199
|
+
onClick: onToggleClick,
|
|
200
|
+
class: toggleButtonClassName,
|
|
201
|
+
...otherToggleButtonProps
|
|
202
|
+
} = toggleButtonProps;
|
|
203
|
+
if (!isMounted()) return null;
|
|
204
|
+
const resolvedHeight = solidJs.createMemo(() => devtoolsHeight() ?? 500);
|
|
205
|
+
const basePanelClass = solidJs.createMemo(() => {
|
|
206
|
+
return clsx.clsx(styles().devtoolsPanelContainer, styles().devtoolsPanelContainerVisibility(!!isOpen()), styles().devtoolsPanelContainerResizing(isResizing), styles().devtoolsPanelContainerAnimation(isResolvedOpen(), resolvedHeight() + 16));
|
|
207
|
+
});
|
|
208
|
+
const basePanelStyle = solidJs.createMemo(() => {
|
|
209
|
+
return {
|
|
210
|
+
height: `${resolvedHeight()}px`,
|
|
211
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
212
|
+
...panelStyle || {}
|
|
213
|
+
};
|
|
214
|
+
});
|
|
215
|
+
const buttonStyle = solidJs.createMemo(() => {
|
|
216
|
+
return clsx.clsx(styles().mainCloseBtn, styles().mainCloseBtnPosition(position), styles().mainCloseBtnAnimation(!!isOpen()), toggleButtonClassName);
|
|
217
|
+
});
|
|
218
|
+
return web.createComponent(web.Dynamic, {
|
|
219
|
+
component: Container,
|
|
220
|
+
ref: setRootEl,
|
|
221
|
+
"class": "TanStackRouterDevtools",
|
|
222
|
+
get children() {
|
|
223
|
+
return [web.createComponent(index.DevtoolsOnCloseContext.Provider, {
|
|
224
|
+
value: {
|
|
225
|
+
onCloseClick: onCloseClick ?? (() => {
|
|
226
|
+
})
|
|
227
|
+
},
|
|
228
|
+
get children() {
|
|
229
|
+
return web.createComponent(BaseTanStackRouterDevtoolsPanel.BaseTanStackRouterDevtoolsPanel, web.mergeProps({
|
|
230
|
+
ref(r$) {
|
|
231
|
+
var _ref$ = panelRef;
|
|
232
|
+
typeof _ref$ === "function" ? _ref$(r$) : panelRef = r$;
|
|
233
|
+
}
|
|
234
|
+
}, otherPanelProps, {
|
|
235
|
+
router,
|
|
236
|
+
routerState,
|
|
237
|
+
className: basePanelClass,
|
|
238
|
+
style: basePanelStyle,
|
|
239
|
+
get isOpen() {
|
|
240
|
+
return isResolvedOpen();
|
|
241
|
+
},
|
|
242
|
+
setIsOpen,
|
|
243
|
+
handleDragStart: (e) => handleDragStart(panelRef, e),
|
|
244
|
+
shadowDOMTarget
|
|
245
|
+
}));
|
|
246
|
+
}
|
|
247
|
+
}), (() => {
|
|
248
|
+
var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling, _el$6 = _el$5.nextSibling;
|
|
249
|
+
web.spread(_el$, web.mergeProps(otherToggleButtonProps, {
|
|
250
|
+
"aria-label": "Open TanStack Router Devtools",
|
|
251
|
+
"onClick": (e) => {
|
|
252
|
+
setIsOpen(true);
|
|
253
|
+
onToggleClick && onToggleClick(e);
|
|
254
|
+
},
|
|
255
|
+
get ["class"]() {
|
|
256
|
+
return buttonStyle();
|
|
257
|
+
}
|
|
258
|
+
}), false, true);
|
|
259
|
+
web.insert(_el$3, web.createComponent(TanStackLogo, {}));
|
|
260
|
+
web.insert(_el$4, web.createComponent(TanStackLogo, {}));
|
|
261
|
+
web.effect((_p$) => {
|
|
262
|
+
var _v$ = styles().mainCloseBtnIconContainer, _v$2 = styles().mainCloseBtnIconOuter, _v$3 = styles().mainCloseBtnIconInner, _v$4 = styles().mainCloseBtnDivider, _v$5 = styles().routerLogoCloseButton;
|
|
263
|
+
_v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
|
|
264
|
+
_v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
|
|
265
|
+
_v$3 !== _p$.a && web.className(_el$4, _p$.a = _v$3);
|
|
266
|
+
_v$4 !== _p$.o && web.className(_el$5, _p$.o = _v$4);
|
|
267
|
+
_v$5 !== _p$.i && web.className(_el$6, _p$.i = _v$5);
|
|
268
|
+
return _p$;
|
|
269
|
+
}, {
|
|
270
|
+
e: void 0,
|
|
271
|
+
t: void 0,
|
|
272
|
+
a: void 0,
|
|
273
|
+
o: void 0,
|
|
274
|
+
i: void 0
|
|
275
|
+
});
|
|
276
|
+
return _el$;
|
|
277
|
+
})()];
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
exports.FloatingTanStackRouterDevtools = FloatingTanStackRouterDevtools;
|
|
282
|
+
exports.default = FloatingTanStackRouterDevtools;
|
|
283
|
+
//# sourceMappingURL=FloatingTanStackRouterDevtools-0xtXUOcx.cjs.map
|