@tanstack/router-devtools-core 1.166.9 → 1.167.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseTanStackRouterDevtoolsPanel-DwUaC87U.js","names":["goober","createSignal","useContext","tokens","ShadowDomTargetContext","Accessor","stylesFactory","shadowDOMTarget","ShadowRoot","colors","font","size","alpha","shadow","border","fontFamily","lineHeight","fontSize","css","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","historyContainer","historyOverflowContainer","maskedBadgeContainer","matchDetails","matchStatus","status","isFetching","colorMap","pending","success","error","notFound","redirected","const","matchDetailsInfo","matchDetailsInfoLabel","mainCloseBtn","mainCloseBtnPosition","position","mainCloseBtnAnimation","routerLogoCloseButton","mainCloseBtnDivider","mainCloseBtnIconContainer","mainCloseBtnIconOuter","mainCloseBtnIconInner","panelCloseBtn","panelCloseBtnIcon","navigateButton","useStyles","shadowDomTarget","_styles","Dynamic","createEffect","createRenderEffect","createSignal","useTheme","useMediaQuery","AnyRoute","AnyRouteMatch","Theme","JSX","isServer","window","StyledComponent","T","ButtonHTMLAttributes","HTMLButtonElement","InputHTMLAttributes","HTMLInputElement","SelectHTMLAttributes","HTMLSelectElement","HTMLElementTagNameMap","HTMLAttributes","getStatusColor","match","colorMap","pending","success","error","notFound","redirected","const","isFetching","status","getRouteStatusColor","matches","Array","route","found","find","d","routeId","id","Styles","CSSProperties","props","Record","theme","styled","type","newStyles","queries","ref","style","rest","mediaStyles","Object","entries","reduce","current","key","value","baseStyles","combinedStyles","cssText","_$createComponent","_$mergeProps","component","r$","_ref$","useIsMounted","isMounted","setIsMounted","effect","displayValue","name","getOwnPropertyNames","newValue","toString","JSON","stringify","e","useSafeState","initialState","state","setState","safeSetState","scheduleMicrotask","callback","Promise","resolve","then","catch","setTimeout","multiSortBy","arr","accessors","item","map","i","sort","a","ai","b","bi","accessor","ao","bo","clsx","cx","goober","createMemo","createSignal","useContext","tokens","displayValue","ShadowDomTargetContext","Accessor","JSX","ExpanderProps","expanded","style","CSSProperties","Expander","styles","useStyles","_el$","_tmpl$","_el$2","firstChild","_$effect","_p$","_v$","expander","_v$2","expanderIcon","e","_$className","t","_$setAttribute","undefined","Entry","label","RendererProps","handleEntry","HandleEntryFn","Element","value","subEntries","Array","subEntryPages","type","toggleExpanded","pageSize","filterSubEntries","Property","chunkArray","array","T","size","i","result","length","push","slice","entry","ExplorerProps","Partial","defaultExpanded","Record","isIterable","x","Iterable","Symbol","iterator","Explorer","rest","setExpanded","Boolean","old","entries","makeProperty","sub","subDefaultExpanded","isArray","map","d","toString","from","val","Object","key","expandedPages","setExpandedPages","valueSnapshot","setValueSnapshot","refreshValueSnapshot","_$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","_el$14","includes","filter","_c$2","_el$17","_v$5","_v$6","labelButton","_el$18","_tmpl$5","_el$19","refreshValueBtn","_el$20","_tmpl$6","_el$21","_el$22","_tmpl$7","stylesFactory","shadowDOMTarget","ShadowRoot","colors","font","alpha","shadow","border","fontFamily","lineHeight","fontSize","css","bind","target","mono","xs","sm","purple","darkGray","gray","shadowDomTarget","_styles","_$delegateEvents","clsx","cx","useStyles","AnyRouteMatch","AnyRouter","Accessor","formatTime","ms","units","values","chosenUnitIndex","i","length","formatter","Intl","NumberFormat","navigator","language","compactDisplay","notation","maximumFractionDigits","format","AgeTicker","match","router","styles","route","looseRoutesById","routeId","options","loader","age","Date","now","updatedAt","staleTime","defaultStaleTime","gcTime","defaultGcTime","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$5","_el$6","_$insert","_$effect","_$className","ageTicker","useStyles","AnyRouter","NavigateOptions","Accessor","Props","router","NavigateButton","to","params","search","styles","_el$","_tmpl$","$$click","e","stopPropagation","navigate","_$setAttribute","_$effect","_$className","navigateButton","_$delegateEvents","clsx","cx","default","invariant","interpolatePath","rootRouteId","trimPath","For","Match","Show","Switch","createEffect","createMemo","createSignal","onCleanup","untrack","useDevtoolsOnClose","useStyles","useLocalStorage","Explorer","getRouteStatusColor","getStatusColor","multiSortBy","AgeTicker","NavigateButton","AnyContext","AnyRoute","AnyRouteMatch","AnyRouter","FileRouteTypes","MakeRouteMatchUnion","Route","RouterState","Accessor","JSX","BaseDevtoolsPanelOptions","style","CSSProperties","className","isOpen","setIsOpen","handleDragStart","e","router","routerState","shadowDOMTarget","ShadowRoot","HISTORY_LIMIT","Logo","props","rest","styles","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_$spread","_$mergeProps","class","logo","_$effect","_p$","_v$","tanstackLogo","_v$2","routerLogo","_$className","t","undefined","NavigateLink","left","Element","children","right","_el$4","_tmpl$2","_el$5","_$insert","RouteComp","pendingMatches","route","isRoot","activeId","setActiveId","Array","id","matches","length","match","find","d","routeId","param","params","p","r","path","startsWith","trimmed","slice","error","navigationTarget","allParams","Object","assign","map","m","interpolated","fullPath","decoder","pathParamsDecoder","isMissingParams","interpolatedPath","_el$6","_tmpl$5","_el$7","_el$8","$$click","_$createComponent","routesRow","when","navigate","to","_el$9","_tmpl$3","_el$0","code","_el$1","_tmpl$4","routeParamInfo","_c$","_$memo","_el$10","_tmpl$6","sort","a","b","rank","nestedRouteRow","_v$3","_v$4","routesRowContainer","_v$5","matchIndicator","_$setAttribute","BaseTanStackRouterDevtoolsPanel","panelProps","onCloseClick","otherPanelProps","currentTab","setCurrentTab","history","setHistory","hasHistoryOverflowed","setHasHistoryOverflowed","cachedMatches","stores","pendingMatchesSnapshot","_pendingMatches","setPendingMatches","_cachedMatches","setCachedMatches","Subscribe","fn","unsubscribe","pendingMatchesStore","state","subscription","subscribe","cachedMatchesStore","cachedMatchesSnapshot","currentMatch","historyUntracked","lastMatch","sameLocation","pathname","JSON","stringify","search","prev","newHistory","splice","activeMatch","hasSearch","keys","location","explorerState","routerExplorerValue","fromEntries","const","dd","key","filter","includes","activeMatchLoaderData","loaderData","activeMatchValue","locationSearchValue","_el$11","_tmpl$8","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$23","_el$24","_el$25","_el$26","_el$27","_el$28","_el$29","_el$30","devtoolsPanel","_el$34","_$addEventListener","dragHandle","onClick","label","value","defaultExpanded","context","options","filterSubEntries","subEntries","_c$2","maskedLocation","_el$35","_tmpl$9","_el$36","_v$24","maskedBadgeContainer","_v$25","maskedBadge","_c$3","_el$37","routeTree","_el$31","_i","_el$38","_tmpl$0","_el$39","_el$40","matchID","_v$26","_v$27","matchRow","_v$28","_el$32","_tmpl$7","_el$33","each","index","_el$41","_tmpl$1","_el$42","_el$43","_v$29","_v$30","_c$4","_el$44","_tmpl$10","historyOverflowContainer","_c$5","_el$45","_tmpl$11","_el$46","_el$47","_el$48","_el$49","_el$50","_el$51","_el$52","_v$34","_v$35","_v$36","_v$31","cachedMatchesContainer","_v$32","detailsHeader","_v$33","detailsHeaderInfo","_c$6","status","_el$53","_tmpl$12","_el$54","_el$55","_el$56","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$63","_el$64","_el$65","_el$66","_el$67","_el$68","_el$69","_el$70","_c$8","isFetching","_c$9","_c$0","updatedAt","Date","toLocaleTimeString","_c$1","_el$71","_tmpl$13","_el$72","detailsContent","_v$37","thirdContainer","_v$38","_v$39","matchDetails","_v$40","matchStatus","_v$41","matchDetailsInfoLabel","_v$42","matchDetailsInfo","_v$43","_v$44","_v$45","_v$46","_v$47","_v$48","o","i","n","s","h","l","u","_c$7","_el$73","_tmpl$14","_el$74","_el$75","_el$76","navigator","_el$77","_tmpl$15","CopyButton","getValue","reduce","obj","next","_v$49","fourthContainer","_v$50","_v$51","_v$6","panelCloseBtn","_v$7","panelCloseBtnIcon","_v$8","firstContainer","_v$9","row","_v$0","routerExplorerContainer","_v$1","routerExplorer","_v$10","secondContainer","_v$11","matchesContainer","_v$12","_v$13","_v$14","_v$15","routeMatchesToggle","_v$16","_v$17","routeMatchesToggleBtn","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","routesContainer","c","disabled","w","f","y","g","copied","setCopied","timeoutId","ReturnType","setTimeout","handleCopy","clipboard","writeText","console","warn","clearTimeout","_el$78","_tmpl$16","_$delegateEvents"],"sources":["../src/tokens.ts","../src/useStyles.tsx","../src/useLocalStorage.ts","../src/utils.tsx","../src/Explorer.tsx","../src/AgeTicker.tsx","../src/NavigateButton.tsx","../src/BaseTanStackRouterDevtoolsPanel.tsx"],"sourcesContent":["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 historyContainer: css`\n display: flex;\n flex: 1 1 auto;\n overflow-y: auto;\n max-height: 50%;\n `,\n historyOverflowContainer: css`\n padding: ${size[1]} ${size[2]};\n font-size: ${tokens.font.size.xs};\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","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","/* 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 {\n For,\n Match,\n Show,\n Switch,\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n untrack,\n} 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 AnyRouteMatch,\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\nconst HISTORY_LIMIT = 15\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 pendingMatches,\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 pendingMatches: Accessor<Array<AnyRouteMatch>>\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 pendingMatches().length ? 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 decoder: router().pathParamsDecoder,\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 pendingMatches={pendingMatches}\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.stores.__store)\n\n const [currentTab, setCurrentTab] = useLocalStorage<\n 'routes' | 'matches' | 'history'\n >('tanstackRouterDevtoolsActiveTab', 'routes')\n\n const [activeId, setActiveId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveRouteId',\n '',\n )\n\n const [history, setHistory] = createSignal<Array<AnyRouteMatch>>([])\n const [hasHistoryOverflowed, setHasHistoryOverflowed] = createSignal(false)\n\n let pendingMatches: Accessor<Array<AnyRouteMatch>>\n let cachedMatches: Accessor<Array<AnyRouteMatch>>\n // subscribable implementation\n if ('subscribe' in router().stores.pendingMatchesSnapshot) {\n const [_pendingMatches, setPendingMatches] = createSignal<\n Array<AnyRouteMatch>\n >([])\n pendingMatches = _pendingMatches\n\n const [_cachedMatches, setCachedMatches] = createSignal<\n Array<AnyRouteMatch>\n >([])\n cachedMatches = _cachedMatches\n\n type Subscribe = (fn: () => void) => { unsubscribe: () => void }\n createEffect(() => {\n const pendingMatchesStore = router().stores.pendingMatchesSnapshot\n setPendingMatches(pendingMatchesStore.state)\n const subscription = (\n (pendingMatchesStore as any).subscribe as Subscribe\n )(() => {\n setPendingMatches(pendingMatchesStore.state)\n })\n onCleanup(() => subscription.unsubscribe())\n })\n\n createEffect(() => {\n const cachedMatchesStore = router().stores.cachedMatchesSnapshot\n setCachedMatches(cachedMatchesStore.state)\n const subscription = (\n (cachedMatchesStore as any).subscribe as Subscribe\n )(() => {\n setCachedMatches(cachedMatchesStore.state)\n })\n onCleanup(() => subscription.unsubscribe())\n })\n }\n // signal implementation\n else {\n pendingMatches = () => router().stores.pendingMatchesSnapshot.state\n cachedMatches = () => router().stores.cachedMatchesSnapshot.state\n }\n\n createEffect(() => {\n const matches = routerState().matches\n const currentMatch = matches[matches.length - 1]\n if (!currentMatch) {\n return\n }\n // Read history WITHOUT tracking it to avoid infinite loops\n const historyUntracked = untrack(() => history())\n const lastMatch = historyUntracked[0]\n const sameLocation =\n lastMatch &&\n lastMatch.pathname === currentMatch.pathname &&\n JSON.stringify(lastMatch.search ?? {}) ===\n JSON.stringify(currentMatch.search ?? {})\n if (!lastMatch || !sameLocation) {\n if (historyUntracked.length >= HISTORY_LIMIT) {\n setHasHistoryOverflowed(true)\n }\n setHistory((prev) => {\n const newHistory = [currentMatch, ...prev]\n // truncate to ensure we don't overflow too much the ui\n newHistory.splice(HISTORY_LIMIT)\n return newHistory\n })\n }\n })\n\n const activeMatch = createMemo(() => {\n const matches = [\n ...pendingMatches(),\n ...routerState().matches,\n ...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 '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 'stores',\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 setCurrentTab('routes')\n }}\n disabled={currentTab() === 'routes'}\n class={cx(\n styles().routeMatchesToggleBtn(\n currentTab() === 'routes',\n true,\n ),\n )}\n >\n Routes\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setCurrentTab('matches')\n }}\n disabled={currentTab() === 'matches'}\n class={cx(\n styles().routeMatchesToggleBtn(\n currentTab() === 'matches',\n true,\n ),\n )}\n >\n Matches\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setCurrentTab('history')\n }}\n disabled={currentTab() === 'history'}\n class={cx(\n styles().routeMatchesToggleBtn(\n currentTab() === 'history',\n false,\n ),\n )}\n >\n History\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 <Switch>\n <Match when={currentTab() === 'routes'}>\n <RouteComp\n routerState={routerState}\n pendingMatches={pendingMatches}\n router={router}\n route={router().routeTree}\n isRoot\n activeId={activeId}\n setActiveId={setActiveId}\n />\n </Match>\n <Match when={currentTab() === 'matches'}>\n <div>\n {(pendingMatches().length\n ? 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 </Match>\n <Match when={currentTab() === 'history'}>\n <div>\n <ul>\n <For each={history()}>\n {(match, index) => (\n <li\n class={cx(\n styles().matchRow(match === activeMatch()),\n )}\n >\n <div\n class={cx(\n styles().matchIndicator(\n index() === 0 ? 'green' : 'gray',\n ),\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={\n <AgeTicker match={match} router={router} />\n }\n >\n <code class={styles().matchID}>\n {`${match.routeId === rootRouteId ? rootRouteId : match.pathname}`}\n </code>\n </NavigateLink>\n </li>\n )}\n </For>\n {hasHistoryOverflowed() ? (\n <li class={styles().historyOverflowContainer}>\n This panel displays the most recent {HISTORY_LIMIT}{' '}\n navigations.\n </li>\n ) : null}\n </ul>\n </div>\n </Match>\n </Switch>\n </div>\n </div>\n {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 {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 {pendingMatches().find((d) => d.id === activeMatch()?.id)\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"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  const require_context = require("./context-DZa5WwQ_.cjs");
2
- const require_BaseTanStackRouterDevtoolsPanel = require("./BaseTanStackRouterDevtoolsPanel-DdB0IT5G.cjs");
2
+ const require_BaseTanStackRouterDevtoolsPanel = require("./BaseTanStackRouterDevtoolsPanel-BlI6Kawa.cjs");
3
3
  let clsx = require("clsx");
4
4
  //#region src/logo.tsx
5
5
  var _tmpl$$1 = /* @__PURE__ */ require_context.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">`);
@@ -238,4 +238,4 @@ function FloatingTanStackRouterDevtools({ initialIsOpen, panelProps = {}, closeB
238
238
  exports.FloatingTanStackRouterDevtools = FloatingTanStackRouterDevtools;
239
239
  exports.default = FloatingTanStackRouterDevtools;
240
240
 
241
- //# sourceMappingURL=FloatingTanStackRouterDevtools-TVrd9NKL.cjs.map
241
+ //# sourceMappingURL=FloatingTanStackRouterDevtools-M-UhaKLc.cjs.map