@tanstack/router-devtools 0.0.1-beta.99 → 1.0.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.
Files changed (38) hide show
  1. package/LICENSE +1 -1
  2. package/build/cjs/Explorer.js +10 -8
  3. package/build/cjs/Explorer.js.map +1 -1
  4. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +2 -4
  5. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  6. package/build/cjs/devtools.js +351 -106
  7. package/build/cjs/devtools.js.map +1 -1
  8. package/build/cjs/index.js +1 -3
  9. package/build/cjs/index.js.map +1 -1
  10. package/build/cjs/styledComponents.js +1 -4
  11. package/build/cjs/styledComponents.js.map +1 -1
  12. package/build/cjs/theme.js +10 -16
  13. package/build/cjs/theme.js.map +1 -1
  14. package/build/cjs/useLocalStorage.js +5 -9
  15. package/build/cjs/useLocalStorage.js.map +1 -1
  16. package/build/cjs/useMediaQuery.js +4 -8
  17. package/build/cjs/useMediaQuery.js.map +1 -1
  18. package/build/cjs/utils.js +36 -16
  19. package/build/cjs/utils.js.map +1 -1
  20. package/build/esm/index.js +342 -65
  21. package/build/esm/index.js.map +1 -1
  22. package/build/stats-html.html +3494 -2700
  23. package/build/stats-react.json +393 -147
  24. package/build/types/Explorer.d.ts +10 -4
  25. package/build/types/devtools.d.ts +1 -1
  26. package/build/types/index.d.ts +77 -1
  27. package/build/types/styledComponents.d.ts +3 -3
  28. package/build/types/theme.d.ts +13 -13
  29. package/build/types/utils.d.ts +3 -2
  30. package/build/umd/index.development.js +662 -145
  31. package/build/umd/index.development.js.map +1 -1
  32. package/build/umd/index.production.js +4 -14
  33. package/build/umd/index.production.js.map +1 -1
  34. package/package.json +2 -3
  35. package/src/Explorer.tsx +5 -0
  36. package/src/devtools.tsx +574 -287
  37. package/src/theme.tsx +6 -6
  38. package/src/utils.ts +14 -4
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["import React from 'react'\nimport {\n last,\n routerContext,\n invariant,\n AnyRouter,\n useStore,\n} from '@tanstack/router'\n\nimport useLocalStorage from './useLocalStorage'\nimport {\n getStatusColor,\n multiSortBy,\n useIsMounted,\n useSafeState,\n} from './utils'\nimport { Panel, Button, Code, ActivePanel } from './styledComponents'\nimport { ThemeProvider, defaultTheme as theme } from './theme'\n// import { getQueryStatusLabel, getQueryStatusColor } from './utils'\nimport Explorer from './Explorer'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\n\ninterface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * Use this to add props to the panel. For example, you can add className, style (merge and override default style), etc.\n */\n panelProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >\n /**\n * Use this to add props to the close button. For example, you can add className, style (merge and override default style), onClick (extend default handler), etc.\n */\n closeButtonProps?: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n /**\n * Use this to add props to the toggle button. For example, you can add className, style (merge and override default style), onClick (extend default handler), etc.\n */\n toggleButtonProps?: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n /**\n * The position of the TanStack Router logo to open and close the devtools panel.\n * Defaults to 'bottom-left'.\n */\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n /**\n * Use this to render the devtools inside a different type of container element for a11y purposes.\n * Any string which corresponds to a valid intrinsic JSX element is allowed.\n * Defaults to 'footer'.\n */\n containerElement?: string | any\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router?: AnyRouter\n}\n\ninterface DevtoolsPanelOptions {\n /**\n * The standard React style object used to style a component with inline styles\n */\n style?: React.CSSProperties\n /**\n * The standard React className property used to style a component with classes\n */\n className?: 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: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router?: AnyRouter\n}\n\nconst isServer = typeof window === 'undefined'\n\nfunction Logo(props: React.HTMLProps<HTMLDivElement>) {\n return (\n <div\n {...props}\n style={{\n ...(props.style ?? {}),\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n fontSize: '0.8rem',\n fontWeight: 'bolder',\n lineHeight: '1',\n }}\n >\n <div\n style={{\n letterSpacing: '-0.05rem',\n }}\n >\n TANSTACK\n </div>\n <div\n style={{\n backgroundImage:\n 'linear-gradient(to right, var(--tw-gradient-stops))',\n // @ts-ignore\n '--tw-gradient-from': '#84cc16',\n '--tw-gradient-stops':\n 'var(--tw-gradient-from), var(--tw-gradient-to)',\n '--tw-gradient-to': '#10b981',\n WebkitBackgroundClip: 'text',\n color: 'transparent',\n letterSpacing: '0.1rem',\n marginRight: '-0.2rem',\n }}\n >\n ROUTER\n </div>\n </div>\n )\n}\n\nexport function TanStackRouterDevtools({\n initialIsOpen,\n panelProps = {},\n closeButtonProps = {},\n toggleButtonProps = {},\n position = 'bottom-left',\n containerElement: Container = 'footer',\n router,\n}: DevtoolsOptions): React.ReactElement | null {\n const rootRef = React.useRef<HTMLDivElement>(null)\n const panelRef = React.useRef<HTMLDivElement>(null)\n const [isOpen, setIsOpen] = useLocalStorage(\n 'tanstackRouterDevtoolsOpen',\n initialIsOpen,\n )\n const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage<number | null>(\n 'tanstackRouterDevtoolsHeight',\n null,\n )\n const [isResolvedOpen, setIsResolvedOpen] = useSafeState(false)\n const [isResizing, setIsResizing] = useSafeState(false)\n const isMounted = useIsMounted()\n\n const handleDragStart = (\n panelElement: HTMLDivElement | null,\n startEvent: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n if (startEvent.button !== 0) return // Only allow left click for drag\n\n setIsResizing(true)\n\n const dragInfo = {\n originalHeight: panelElement?.getBoundingClientRect().height ?? 0,\n pageY: startEvent.pageY,\n }\n\n const run = (moveEvent: MouseEvent) => {\n const delta = dragInfo.pageY - moveEvent.pageY\n const newHeight = dragInfo?.originalHeight + delta\n\n setDevtoolsHeight(newHeight)\n\n if (newHeight < 70) {\n setIsOpen(false)\n } else {\n setIsOpen(true)\n }\n }\n\n const unsub = () => {\n setIsResizing(false)\n document.removeEventListener('mousemove', run)\n document.removeEventListener('mouseUp', unsub)\n }\n\n document.addEventListener('mousemove', run)\n document.addEventListener('mouseup', unsub)\n }\n\n React.useEffect(() => {\n setIsResolvedOpen(isOpen ?? false)\n }, [isOpen, isResolvedOpen, setIsResolvedOpen])\n\n // Toggle panel visibility before/after transition (depending on direction).\n // Prevents focusing in a closed panel.\n React.useEffect(() => {\n const ref = panelRef.current\n\n if (ref) {\n const handlePanelTransitionStart = () => {\n if (ref && isResolvedOpen) {\n ref.style.visibility = 'visible'\n }\n }\n\n const handlePanelTransitionEnd = () => {\n if (ref && !isResolvedOpen) {\n ref.style.visibility = 'hidden'\n }\n }\n\n ref.addEventListener('transitionstart', handlePanelTransitionStart)\n ref.addEventListener('transitionend', handlePanelTransitionEnd)\n\n return () => {\n ref.removeEventListener('transitionstart', handlePanelTransitionStart)\n ref.removeEventListener('transitionend', handlePanelTransitionEnd)\n }\n }\n\n return\n }, [isResolvedOpen])\n\n React[isServer ? 'useEffect' : 'useLayoutEffect'](() => {\n if (isResolvedOpen) {\n const previousValue = rootRef.current?.parentElement?.style.paddingBottom\n\n const run = () => {\n const containerHeight = panelRef.current?.getBoundingClientRect().height\n if (rootRef.current?.parentElement) {\n rootRef.current.parentElement.style.paddingBottom = `${containerHeight}px`\n }\n }\n\n run()\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', run)\n\n return () => {\n window.removeEventListener('resize', run)\n if (\n rootRef.current?.parentElement &&\n typeof previousValue === 'string'\n ) {\n rootRef.current.parentElement.style.paddingBottom = previousValue\n }\n }\n }\n }\n return\n }, [isResolvedOpen])\n\n const { style: panelStyle = {}, ...otherPanelProps } = panelProps\n\n const {\n style: closeButtonStyle = {},\n onClick: onCloseClick,\n ...otherCloseButtonProps\n } = closeButtonProps\n\n const {\n style: toggleButtonStyle = {},\n onClick: onToggleClick,\n ...otherToggleButtonProps\n } = toggleButtonProps\n\n // Do not render on the server\n if (!isMounted()) return null\n\n return (\n <Container ref={rootRef} className=\"TanStackRouterDevtools\">\n <ThemeProvider theme={theme}>\n <TanStackRouterDevtoolsPanel\n ref={panelRef as any}\n {...otherPanelProps}\n router={router}\n style={{\n position: 'fixed',\n bottom: '0',\n right: '0',\n zIndex: 99999,\n width: '100%',\n height: devtoolsHeight ?? 500,\n maxHeight: '90%',\n boxShadow: '0 0 20px rgba(0,0,0,.3)',\n borderTop: `1px solid ${theme.gray}`,\n transformOrigin: 'top',\n // visibility will be toggled after transitions, but set initial state here\n visibility: isOpen ? 'visible' : 'hidden',\n ...panelStyle,\n ...(isResizing\n ? {\n transition: `none`,\n }\n : { transition: `all .2s ease` }),\n ...(isResolvedOpen\n ? {\n opacity: 1,\n pointerEvents: 'all',\n transform: `translateY(0) scale(1)`,\n }\n : {\n opacity: 0,\n pointerEvents: 'none',\n transform: `translateY(15px) scale(1.02)`,\n }),\n }}\n isOpen={isResolvedOpen}\n setIsOpen={setIsOpen}\n handleDragStart={(e) => handleDragStart(panelRef.current, e)}\n />\n {isResolvedOpen ? (\n <Button\n type=\"button\"\n aria-label=\"Close TanStack Router Devtools\"\n {...(otherCloseButtonProps as any)}\n onClick={(e) => {\n setIsOpen(false)\n onCloseClick && onCloseClick(e)\n }}\n style={{\n position: 'fixed',\n zIndex: 99999,\n margin: '.5em',\n bottom: 0,\n ...(position === 'top-right'\n ? {\n right: '0',\n }\n : position === 'top-left'\n ? {\n left: '0',\n }\n : position === 'bottom-right'\n ? {\n right: '0',\n }\n : {\n left: '0',\n }),\n ...closeButtonStyle,\n }}\n >\n Close\n </Button>\n ) : null}\n </ThemeProvider>\n {!isResolvedOpen ? (\n <button\n type=\"button\"\n {...otherToggleButtonProps}\n aria-label=\"Open TanStack Router Devtools\"\n onClick={(e) => {\n setIsOpen(true)\n onToggleClick && onToggleClick(e)\n }}\n style={{\n appearance: 'none',\n background: 'none',\n border: 0,\n padding: 0,\n position: 'fixed',\n zIndex: 99999,\n display: 'inline-flex',\n fontSize: '1.5em',\n margin: '.5em',\n cursor: 'pointer',\n width: 'fit-content',\n ...(position === 'top-right'\n ? {\n top: '0',\n right: '0',\n }\n : position === 'top-left'\n ? {\n top: '0',\n left: '0',\n }\n : position === 'bottom-right'\n ? {\n bottom: '0',\n right: '0',\n }\n : {\n bottom: '0',\n left: '0',\n }),\n ...toggleButtonStyle,\n }}\n >\n <Logo aria-hidden />\n </button>\n ) : null}\n </Container>\n )\n}\n\nexport const TanStackRouterDevtoolsPanel = React.forwardRef<\n HTMLDivElement,\n DevtoolsPanelOptions\n>(function TanStackRouterDevtoolsPanel(props, ref): React.ReactElement {\n const {\n isOpen = true,\n setIsOpen,\n handleDragStart,\n router: userRouter,\n ...panelProps\n } = props\n\n const routerContextValue = React.useContext(routerContext)\n const router = userRouter ?? routerContextValue?.router\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 [activeRouteId, setActiveRouteId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveRouteId',\n '',\n )\n\n const [activeMatchId, setActiveMatchId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveMatchId',\n '',\n )\n\n React.useEffect(() => {\n setActiveMatchId('')\n }, [activeRouteId])\n\n const allMatches = React.useMemo(\n () => [\n ...Object.values(router.state.currentMatches),\n ...Object.values(router.state.pendingMatches ?? []),\n ],\n [router.state.currentMatches, router.state.pendingMatches],\n )\n\n const activeMatch =\n allMatches?.find((d) => d.id === activeMatchId) ||\n allMatches?.find((d) => d.route.id === activeRouteId)\n\n return (\n <ThemeProvider theme={theme}>\n <Panel ref={ref} className=\"TanStackRouterDevtoolsPanel\" {...panelProps}>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n\n .TanStackRouterDevtoolsPanel * {\n scrollbar-color: ${theme.backgroundAlt} ${theme.gray};\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar, .TanStackRouterDevtoolsPanel scrollbar {\n width: 1em;\n height: 1em;\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-track, .TanStackRouterDevtoolsPanel scrollbar-track {\n background: ${theme.backgroundAlt};\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-thumb, .TanStackRouterDevtoolsPanel scrollbar-thumb {\n background: ${theme.gray};\n border-radius: .5em;\n border: 3px solid ${theme.backgroundAlt};\n }\n\n .TanStackRouterDevtoolsPanel table {\n width: 100%;\n }\n\n .TanStackRouterDevtoolsPanel table tr {\n border-bottom: 2px dotted rgba(255, 255, 255, .2);\n }\n\n .TanStackRouterDevtoolsPanel table tr:last-child {\n border-bottom: none\n }\n\n .TanStackRouterDevtoolsPanel table td {\n padding: .25rem .5rem;\n border-right: 2px dotted rgba(255, 255, 255, .05);\n }\n\n .TanStackRouterDevtoolsPanel table td:last-child {\n border-right: none\n }\n\n `,\n }}\n />\n <div\n style={{\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '4px',\n marginBottom: '-4px',\n cursor: 'row-resize',\n zIndex: 100000,\n }}\n onMouseDown={handleDragStart}\n ></div>\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n display: 'flex',\n justifyContent: 'start',\n gap: '1rem',\n padding: '1rem',\n alignItems: 'center',\n background: theme.backgroundAlt,\n }}\n >\n <Logo aria-hidden />\n <div\n style={{\n fontSize: 'clamp(.8rem, 2vw, 1.3rem)',\n fontWeight: 'bold',\n }}\n >\n <span\n style={{\n fontWeight: 100,\n }}\n >\n Devtools\n </span>\n </div>\n </div>\n <div\n style={{\n overflowY: 'auto',\n flex: '1',\n }}\n >\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer label=\"Router\" value={router} defaultExpanded={{}} />\n </div>\n </div>\n </div>\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Active Matches\n </div>\n {router.state.currentMatches.map((match, i) => {\n return (\n <div\n key={match.route.id || i}\n role=\"button\"\n aria-label={`Open match details for ${match.route.id}`}\n onClick={() =>\n setActiveRouteId(\n activeRouteId === match.route.id ? '' : match.route.id,\n )\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n alignItems: 'center',\n background:\n match === activeMatch ? 'rgba(255,255,255,.1)' : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n marginLeft: '.25rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${match.id}`}\n </Code>\n </div>\n )\n })}\n {router.state.pendingMatches?.length ? (\n <>\n <div\n style={{\n marginTop: '2rem',\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Pending Matches\n </div>\n {router.state.pendingMatches?.map((match, i) => {\n return (\n <div\n key={match.route.id || i}\n role=\"button\"\n aria-label={`Open match details for ${match.route.id}`}\n onClick={() =>\n setActiveRouteId(\n activeRouteId === match.route.id ? '' : match.route.id,\n )\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n background:\n match === activeMatch\n ? 'rgba(255,255,255,.1)'\n : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n marginLeft: '.25rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${match.id}`}\n </Code>\n </div>\n )\n })}\n </>\n ) : null}\n {/* {matchCacheValues.length ? (\n <>\n <div\n style={{\n marginTop: '2rem',\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n <div>Match Cache</div>\n <Button\n onClick={() => {\n router.store.setState((s) => (s.matchCache = {}))\n }}\n >\n Clear\n </Button>\n </div>\n {matchCacheValues.map((d, i) => {\n const { match, gc } = d\n\n return (\n <div\n key={match.id || i}\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveMatchId(\n activeMatchId === match.id ? '' : match.id,\n )\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n background:\n match === activeMatch\n ? 'rgba(255,255,255,.1)'\n : undefined,\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n padding: '.5rem',\n gap: '.3rem',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '.5rem',\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n <Code>{`${match.id}`}</Code>\n </div>\n <span\n style={{\n fontSize: '.7rem',\n opacity: '.5',\n lineHeight: 1,\n }}\n >\n Expires{' '}\n {formatDistanceStrict(new Date(gc), new Date(), {\n addSuffix: true,\n })}\n </span>\n </div>\n </div>\n )\n })}\n </>\n ) : null} */}\n </div>\n\n {activeMatch ? (\n <ActivePanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Match Details\n </div>\n <div>\n <table>\n <tbody>\n <tr>\n <td style={{ opacity: '.5' }}>ID</td>\n <td>\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n {JSON.stringify(activeMatch.id, null, 2)}\n </Code>\n </td>\n </tr>\n <tr>\n <td style={{ opacity: '.5' }}>Status</td>\n <td>{activeMatch.state.status}</td>\n </tr>\n {/* <tr>\n <td style={{ opacity: '.5' }}>Invalid</td>\n <td>{activeMatch.getIsInvalid().toString()}</td>\n </tr> */}\n <tr>\n <td style={{ opacity: '.5' }}>Last Updated</td>\n <td>\n {activeMatch.state.updatedAt\n ? new Date(\n activeMatch.state.updatedAt as number,\n ).toLocaleTimeString()\n : 'N/A'}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n }}\n >\n <Button\n type=\"button\"\n onClick={() => activeMatch.load()}\n style={{\n background: theme.gray,\n }}\n >\n Reload\n </Button>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Match\"\n value={activeMatch}\n defaultExpanded={{}}\n />\n </div>\n </ActivePanel>\n ) : null}\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {/* <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n All Loader Data\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n {Object.keys(\n last(router.state.currentMatches)?.state.loaderData ||\n {},\n ).length ? (\n <Explorer\n value={\n last(router.state.currentMatches)?.state\n .loaderData || {}\n }\n defaultExpanded={Object.keys(\n (last(router.state.currentMatches)?.state\n .loaderData as {}) || {},\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n ) : (\n <em style={{ opacity: 0.5 }}>{'{ }'}</em>\n )}\n </div> */}\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Search Params\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n {Object.keys(last(router.state.currentMatches)?.state.search || {})\n .length ? (\n <Explorer\n value={last(router.state.currentMatches)?.state.search || {}}\n defaultExpanded={Object.keys(\n (last(router.state.currentMatches)?.state.search as {}) || {},\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n ) : (\n <em style={{ opacity: 0.5 }}>{'{ }'}</em>\n )}\n </div>\n </div>\n </Panel>\n </ThemeProvider>\n )\n})\n"],"names":["isServer","window","Logo","props","React","style","display","alignItems","flexDirection","fontSize","fontWeight","lineHeight","letterSpacing","backgroundImage","WebkitBackgroundClip","color","marginRight","TanStackRouterDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","router","rootRef","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","isResolvedOpen","setIsResolvedOpen","useSafeState","isResizing","setIsResizing","isMounted","useIsMounted","handleDragStart","panelElement","startEvent","button","dragInfo","originalHeight","getBoundingClientRect","height","pageY","run","moveEvent","delta","newHeight","unsub","document","removeEventListener","addEventListener","useEffect","ref","current","handlePanelTransitionStart","visibility","handlePanelTransitionEnd","previousValue","parentElement","paddingBottom","containerHeight","panelStyle","otherPanelProps","closeButtonStyle","onClick","onCloseClick","otherCloseButtonProps","toggleButtonStyle","onToggleClick","otherToggleButtonProps","ThemeProvider","theme","_extends","bottom","right","zIndex","width","maxHeight","boxShadow","borderTop","gray","transformOrigin","transition","opacity","pointerEvents","transform","e","Button","margin","left","appearance","background","border","padding","cursor","top","TanStackRouterDevtoolsPanel","forwardRef","userRouter","routerContextValue","useContext","routerContext","invariant","useStore","__store","activeRouteId","setActiveRouteId","activeMatchId","setActiveMatchId","allMatches","useMemo","Object","values","state","currentMatches","pendingMatches","activeMatch","find","d","id","route","Panel","__html","backgroundAlt","marginBottom","flex","minHeight","overflow","borderRight","grayAlt","justifyContent","gap","overflowY","Explorer","map","match","i","borderBottom","undefined","marginLeft","getStatusColor","borderRadius","Code","length","marginTop","ActivePanel","JSON","stringify","status","updatedAt","Date","toLocaleTimeString","load","keys","last","search","reduce","obj","next"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FA,MAAMA,QAAQ,GAAG,OAAOC,MAAM,KAAK,WAAW,CAAA;AAE9C,SAASC,IAAI,CAACC,KAAsC,EAAE;AACpD,EAAA,oBACEC,wFACMD,KAAK,EAAA;AACT,IAAA,KAAK,EAAE;AACL,MAAA,IAAIA,KAAK,CAACE,KAAK,IAAI,EAAE,CAAC;AACtBC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,UAAU,EAAE,QAAQ;AACpBC,MAAAA,aAAa,EAAE,QAAQ;AACvBC,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,UAAU,EAAE,QAAQ;AACpBC,MAAAA,UAAU,EAAE,GAAA;AACd,KAAA;GAEA,CAAA,eAAAP,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,aAAa,EAAE,UAAA;AACjB,KAAA;AAAE,GAAA,EAAA,UAAA,CAGE,eACNR,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLS,MAAAA,eAAe,EACb,qDAAqD;AACvD;AACA,MAAA,oBAAoB,EAAE,SAAS;AAC/B,MAAA,qBAAqB,EACnB,gDAAgD;AAClD,MAAA,kBAAkB,EAAE,SAAS;AAC7BC,MAAAA,oBAAoB,EAAE,MAAM;AAC5BC,MAAAA,KAAK,EAAE,aAAa;AACpBH,MAAAA,aAAa,EAAE,QAAQ;AACvBI,MAAAA,WAAW,EAAE,SAAA;AACf,KAAA;AAAE,GAAA,EAAA,QAAA,CAGE,CACF,CAAA;AAEV,CAAA;AAEO,SAASC,sBAAsB,CAAC;EACrCC,aAAa;EACbC,UAAU,GAAG,EAAE;EACfC,gBAAgB,GAAG,EAAE;EACrBC,iBAAiB,GAAG,EAAE;AACtBC,EAAAA,QAAQ,GAAG,aAAa;EACxBC,gBAAgB,EAAEC,SAAS,GAAG,QAAQ;AACtCC,EAAAA,MAAAA;AACe,CAAC,EAA6B;AAC7C,EAAA,MAAMC,OAAO,GAAGtB,yBAAK,CAACuB,MAAM,CAAiB,IAAI,CAAC,CAAA;AAClD,EAAA,MAAMC,QAAQ,GAAGxB,yBAAK,CAACuB,MAAM,CAAiB,IAAI,CAAC,CAAA;EACnD,MAAM,CAACE,MAAM,EAAEC,SAAS,CAAC,GAAGC,0BAAe,CACzC,4BAA4B,EAC5Bb,aAAa,CACd,CAAA;EACD,MAAM,CAACc,cAAc,EAAEC,iBAAiB,CAAC,GAAGF,0BAAe,CACzD,8BAA8B,EAC9B,IAAI,CACL,CAAA;EACD,MAAM,CAACG,cAAc,EAAEC,iBAAiB,CAAC,GAAGC,kBAAY,CAAC,KAAK,CAAC,CAAA;EAC/D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGF,kBAAY,CAAC,KAAK,CAAC,CAAA;EACvD,MAAMG,SAAS,GAAGC,kBAAY,EAAE,CAAA;AAEhC,EAAA,MAAMC,eAAe,GAAG,CACtBC,YAAmC,EACnCC,UAAwD,KACrD;AACH,IAAA,IAAIA,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE,OAAM;;IAEnCN,aAAa,CAAC,IAAI,CAAC,CAAA;AAEnB,IAAA,MAAMO,QAAQ,GAAG;MACfC,cAAc,EAAEJ,YAAY,EAAEK,qBAAqB,EAAE,CAACC,MAAM,IAAI,CAAC;MACjEC,KAAK,EAAEN,UAAU,CAACM,KAAAA;KACnB,CAAA;IAED,MAAMC,GAAG,GAAIC,SAAqB,IAAK;MACrC,MAAMC,KAAK,GAAGP,QAAQ,CAACI,KAAK,GAAGE,SAAS,CAACF,KAAK,CAAA;AAC9C,MAAA,MAAMI,SAAS,GAAGR,QAAQ,EAAEC,cAAc,GAAGM,KAAK,CAAA;MAElDnB,iBAAiB,CAACoB,SAAS,CAAC,CAAA;MAE5B,IAAIA,SAAS,GAAG,EAAE,EAAE;QAClBvB,SAAS,CAAC,KAAK,CAAC,CAAA;AAClB,OAAC,MAAM;QACLA,SAAS,CAAC,IAAI,CAAC,CAAA;AACjB,OAAA;KACD,CAAA;IAED,MAAMwB,KAAK,GAAG,MAAM;MAClBhB,aAAa,CAAC,KAAK,CAAC,CAAA;AACpBiB,MAAAA,QAAQ,CAACC,mBAAmB,CAAC,WAAW,EAAEN,GAAG,CAAC,CAAA;AAC9CK,MAAAA,QAAQ,CAACC,mBAAmB,CAAC,SAAS,EAAEF,KAAK,CAAC,CAAA;KAC/C,CAAA;AAEDC,IAAAA,QAAQ,CAACE,gBAAgB,CAAC,WAAW,EAAEP,GAAG,CAAC,CAAA;AAC3CK,IAAAA,QAAQ,CAACE,gBAAgB,CAAC,SAAS,EAAEH,KAAK,CAAC,CAAA;GAC5C,CAAA;EAEDlD,yBAAK,CAACsD,SAAS,CAAC,MAAM;AACpBvB,IAAAA,iBAAiB,CAACN,MAAM,IAAI,KAAK,CAAC,CAAA;GACnC,EAAE,CAACA,MAAM,EAAEK,cAAc,EAAEC,iBAAiB,CAAC,CAAC,CAAA;;AAE/C;AACA;EACA/B,yBAAK,CAACsD,SAAS,CAAC,MAAM;AACpB,IAAA,MAAMC,GAAG,GAAG/B,QAAQ,CAACgC,OAAO,CAAA;AAE5B,IAAA,IAAID,GAAG,EAAE;MACP,MAAME,0BAA0B,GAAG,MAAM;QACvC,IAAIF,GAAG,IAAIzB,cAAc,EAAE;AACzByB,UAAAA,GAAG,CAACtD,KAAK,CAACyD,UAAU,GAAG,SAAS,CAAA;AAClC,SAAA;OACD,CAAA;MAED,MAAMC,wBAAwB,GAAG,MAAM;AACrC,QAAA,IAAIJ,GAAG,IAAI,CAACzB,cAAc,EAAE;AAC1ByB,UAAAA,GAAG,CAACtD,KAAK,CAACyD,UAAU,GAAG,QAAQ,CAAA;AACjC,SAAA;OACD,CAAA;AAEDH,MAAAA,GAAG,CAACF,gBAAgB,CAAC,iBAAiB,EAAEI,0BAA0B,CAAC,CAAA;AACnEF,MAAAA,GAAG,CAACF,gBAAgB,CAAC,eAAe,EAAEM,wBAAwB,CAAC,CAAA;AAE/D,MAAA,OAAO,MAAM;AACXJ,QAAAA,GAAG,CAACH,mBAAmB,CAAC,iBAAiB,EAAEK,0BAA0B,CAAC,CAAA;AACtEF,QAAAA,GAAG,CAACH,mBAAmB,CAAC,eAAe,EAAEO,wBAAwB,CAAC,CAAA;OACnE,CAAA;AACH,KAAA;AAEA,IAAA,OAAA;AACF,GAAC,EAAE,CAAC7B,cAAc,CAAC,CAAC,CAAA;EAEpB9B,yBAAK,CAACJ,QAAQ,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC,MAAM;AACtD,IAAA,IAAIkC,cAAc,EAAE;MAClB,MAAM8B,aAAa,GAAGtC,OAAO,CAACkC,OAAO,EAAEK,aAAa,EAAE5D,KAAK,CAAC6D,aAAa,CAAA;MAEzE,MAAMhB,GAAG,GAAG,MAAM;QAChB,MAAMiB,eAAe,GAAGvC,QAAQ,CAACgC,OAAO,EAAEb,qBAAqB,EAAE,CAACC,MAAM,CAAA;AACxE,QAAA,IAAItB,OAAO,CAACkC,OAAO,EAAEK,aAAa,EAAE;UAClCvC,OAAO,CAACkC,OAAO,CAACK,aAAa,CAAC5D,KAAK,CAAC6D,aAAa,GAAI,CAAEC,EAAAA,eAAgB,CAAG,EAAA,CAAA,CAAA;AAC5E,SAAA;OACD,CAAA;AAEDjB,MAAAA,GAAG,EAAE,CAAA;AAEL,MAAA,IAAI,OAAOjD,MAAM,KAAK,WAAW,EAAE;AACjCA,QAAAA,MAAM,CAACwD,gBAAgB,CAAC,QAAQ,EAAEP,GAAG,CAAC,CAAA;AAEtC,QAAA,OAAO,MAAM;AACXjD,UAAAA,MAAM,CAACuD,mBAAmB,CAAC,QAAQ,EAAEN,GAAG,CAAC,CAAA;UACzC,IACExB,OAAO,CAACkC,OAAO,EAAEK,aAAa,IAC9B,OAAOD,aAAa,KAAK,QAAQ,EACjC;YACAtC,OAAO,CAACkC,OAAO,CAACK,aAAa,CAAC5D,KAAK,CAAC6D,aAAa,GAAGF,aAAa,CAAA;AACnE,WAAA;SACD,CAAA;AACH,OAAA;AACF,KAAA;AACA,IAAA,OAAA;AACF,GAAC,EAAE,CAAC9B,cAAc,CAAC,CAAC,CAAA;EAEpB,MAAM;AAAE7B,IAAAA,KAAK,EAAE+D,UAAU,GAAG,EAAE;IAAE,GAAGC,eAAAA;AAAgB,GAAC,GAAGlD,UAAU,CAAA;EAEjE,MAAM;AACJd,IAAAA,KAAK,EAAEiE,gBAAgB,GAAG,EAAE;AAC5BC,IAAAA,OAAO,EAAEC,YAAY;IACrB,GAAGC,qBAAAA;AACL,GAAC,GAAGrD,gBAAgB,CAAA;EAEpB,MAAM;AACJf,IAAAA,KAAK,EAAEqE,iBAAiB,GAAG,EAAE;AAC7BH,IAAAA,OAAO,EAAEI,aAAa;IACtB,GAAGC,sBAAAA;AACL,GAAC,GAAGvD,iBAAiB,CAAA;;AAErB;AACA,EAAA,IAAI,CAACkB,SAAS,EAAE,EAAE,OAAO,IAAI,CAAA;AAE7B,EAAA,oBACEnC,wCAAC,SAAS,EAAA;AAAC,IAAA,GAAG,EAAEsB,OAAQ;AAAC,IAAA,SAAS,EAAC,wBAAA;AAAwB,GAAA,eACzDtB,wCAACyE,mBAAa,EAAA;AAAC,IAAA,KAAK,EAAEC,kBAAAA;AAAM,GAAA,eAC1B1E,wCAAC,2BAA2B,EAAA2E,oCAAA,CAAA;AAC1B,IAAA,GAAG,EAAEnD,QAAAA;AAAgB,GAAA,EACjByC,eAAe,EAAA;AACnB,IAAA,MAAM,EAAE5C,MAAO;AACf,IAAA,KAAK,EAAE;AACLH,MAAAA,QAAQ,EAAE,OAAO;AACjB0D,MAAAA,MAAM,EAAE,GAAG;AACXC,MAAAA,KAAK,EAAE,GAAG;AACVC,MAAAA,MAAM,EAAE,KAAK;AACbC,MAAAA,KAAK,EAAE,MAAM;MACbnC,MAAM,EAAEhB,cAAc,IAAI,GAAG;AAC7BoD,MAAAA,SAAS,EAAE,KAAK;AAChBC,MAAAA,SAAS,EAAE,yBAAyB;AACpCC,MAAAA,SAAS,EAAG,CAAA,UAAA,EAAYR,kBAAK,CAACS,IAAK,CAAC,CAAA;AACpCC,MAAAA,eAAe,EAAE,KAAK;AACtB;AACA1B,MAAAA,UAAU,EAAEjC,MAAM,GAAG,SAAS,GAAG,QAAQ;AACzC,MAAA,GAAGuC,UAAU;AACb,MAAA,IAAI/B,UAAU,GACV;AACEoD,QAAAA,UAAU,EAAG,CAAA,IAAA,CAAA;AACf,OAAC,GACD;AAAEA,QAAAA,UAAU,EAAG,CAAA,YAAA,CAAA;AAAc,OAAC,CAAC;AACnC,MAAA,IAAIvD,cAAc,GACd;AACEwD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,aAAa,EAAE,KAAK;AACpBC,QAAAA,SAAS,EAAG,CAAA,sBAAA,CAAA;AACd,OAAC,GACD;AACEF,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,aAAa,EAAE,MAAM;AACrBC,QAAAA,SAAS,EAAG,CAAA,4BAAA,CAAA;OACb,CAAA;KACL;AACF,IAAA,MAAM,EAAE1D,cAAe;AACvB,IAAA,SAAS,EAAEJ,SAAU;IACrB,eAAe,EAAG+D,CAAC,IAAKpD,eAAe,CAACb,QAAQ,CAACgC,OAAO,EAAEiC,CAAC,CAAA;AAAE,GAAA,CAAA,CAC7D,EACD3D,cAAc,gBACb9B,yBAAA,CAAA,aAAA,CAAC0F,uBAAM,EAAAf,oCAAA,CAAA;AACL,IAAA,IAAI,EAAC,QAAQ;IACb,YAAW,EAAA,gCAAA;AAAgC,GAAA,EACtCN,qBAAqB,EAAA;IAC1B,OAAO,EAAGoB,CAAC,IAAK;MACd/D,SAAS,CAAC,KAAK,CAAC,CAAA;AAChB0C,MAAAA,YAAY,IAAIA,YAAY,CAACqB,CAAC,CAAC,CAAA;KAC/B;AACF,IAAA,KAAK,EAAE;AACLvE,MAAAA,QAAQ,EAAE,OAAO;AACjB4D,MAAAA,MAAM,EAAE,KAAK;AACba,MAAAA,MAAM,EAAE,MAAM;AACdf,MAAAA,MAAM,EAAE,CAAC;MACT,IAAI1D,QAAQ,KAAK,WAAW,GACxB;AACE2D,QAAAA,KAAK,EAAE,GAAA;AACT,OAAC,GACD3D,QAAQ,KAAK,UAAU,GACvB;AACE0E,QAAAA,IAAI,EAAE,GAAA;AACR,OAAC,GACD1E,QAAQ,KAAK,cAAc,GAC3B;AACE2D,QAAAA,KAAK,EAAE,GAAA;AACT,OAAC,GACD;AACEe,QAAAA,IAAI,EAAE,GAAA;AACR,OAAC,CAAC;MACN,GAAG1B,gBAAAA;AACL,KAAA;AAAE,GAAA,CAAA,EAAA,OAAA,CAGK,GACP,IAAI,CACM,EACf,CAACpC,cAAc,gBACd9B,yBAAA,CAAA,aAAA,CAAA,QAAA,EAAA2E,oCAAA,CAAA;AACE,IAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,EACTH,sBAAsB,EAAA;AAC1B,IAAA,YAAA,EAAW,+BAA+B;IAC1C,OAAO,EAAGiB,CAAC,IAAK;MACd/D,SAAS,CAAC,IAAI,CAAC,CAAA;AACf6C,MAAAA,aAAa,IAAIA,aAAa,CAACkB,CAAC,CAAC,CAAA;KACjC;AACF,IAAA,KAAK,EAAE;AACLI,MAAAA,UAAU,EAAE,MAAM;AAClBC,MAAAA,UAAU,EAAE,MAAM;AAClBC,MAAAA,MAAM,EAAE,CAAC;AACTC,MAAAA,OAAO,EAAE,CAAC;AACV9E,MAAAA,QAAQ,EAAE,OAAO;AACjB4D,MAAAA,MAAM,EAAE,KAAK;AACb5E,MAAAA,OAAO,EAAE,aAAa;AACtBG,MAAAA,QAAQ,EAAE,OAAO;AACjBsF,MAAAA,MAAM,EAAE,MAAM;AACdM,MAAAA,MAAM,EAAE,SAAS;AACjBlB,MAAAA,KAAK,EAAE,aAAa;MACpB,IAAI7D,QAAQ,KAAK,WAAW,GACxB;AACEgF,QAAAA,GAAG,EAAE,GAAG;AACRrB,QAAAA,KAAK,EAAE,GAAA;AACT,OAAC,GACD3D,QAAQ,KAAK,UAAU,GACvB;AACEgF,QAAAA,GAAG,EAAE,GAAG;AACRN,QAAAA,IAAI,EAAE,GAAA;AACR,OAAC,GACD1E,QAAQ,KAAK,cAAc,GAC3B;AACE0D,QAAAA,MAAM,EAAE,GAAG;AACXC,QAAAA,KAAK,EAAE,GAAA;AACT,OAAC,GACD;AACED,QAAAA,MAAM,EAAE,GAAG;AACXgB,QAAAA,IAAI,EAAE,GAAA;AACR,OAAC,CAAC;MACN,GAAGtB,iBAAAA;AACL,KAAA;AAAE,GAAA,CAAA,eAEFtE,wCAAC,IAAI,EAAA;AAAC,IAAA,aAAA,EAAA,IAAA;GAAc,CAAA,CACb,GACP,IAAI,CACE,CAAA;AAEhB,CAAA;AAEamG,MAAAA,2BAA2B,gBAAGnG,yBAAK,CAACoG,UAAU,CAGzD,SAASD,2BAA2B,CAACpG,KAAK,EAAEwD,GAAG,EAAsB;EACrE,MAAM;AACJ9B,IAAAA,MAAM,GAAG,IAAI;IACbC,SAAS;IACTW,eAAe;AACfhB,IAAAA,MAAM,EAAEgF,UAAU;IAClB,GAAGtF,UAAAA;AACL,GAAC,GAAGhB,KAAK,CAAA;AAET,EAAA,MAAMuG,kBAAkB,GAAGtG,yBAAK,CAACuG,UAAU,CAACC,oBAAa,CAAC,CAAA;AAC1D,EAAA,MAAMnF,QAAM,GAAGgF,UAAU,IAAIC,kBAAkB,EAAEjF,MAAM,CAAA;AAEvDoF,EAAAA,gBAAS,CACPpF,QAAM,EACN,8KAA8K,CAC/K,CAAA;AAEDqF,EAAAA,eAAQ,CAACrF,QAAM,CAACsF,OAAO,CAAC,CAAA;EAExB,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGlF,0BAAe,CACvD,qCAAqC,EACrC,EAAE,CACH,CAAA;EAED,MAAM,CAACmF,aAAa,EAAEC,gBAAgB,CAAC,GAAGpF,0BAAe,CACvD,qCAAqC,EACrC,EAAE,CACH,CAAA;EAED3B,yBAAK,CAACsD,SAAS,CAAC,MAAM;IACpByD,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACtB,GAAC,EAAE,CAACH,aAAa,CAAC,CAAC,CAAA;EAEnB,MAAMI,UAAU,GAAGhH,yBAAK,CAACiH,OAAO,CAC9B,MAAM,CACJ,GAAGC,MAAM,CAACC,MAAM,CAAC9F,QAAM,CAAC+F,KAAK,CAACC,cAAc,CAAC,EAC7C,GAAGH,MAAM,CAACC,MAAM,CAAC9F,QAAM,CAAC+F,KAAK,CAACE,cAAc,IAAI,EAAE,CAAC,CACpD,EACD,CAACjG,QAAM,CAAC+F,KAAK,CAACC,cAAc,EAAEhG,QAAM,CAAC+F,KAAK,CAACE,cAAc,CAAC,CAC3D,CAAA;AAED,EAAA,MAAMC,WAAW,GACfP,UAAU,EAAEQ,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKZ,aAAa,CAAC,IAC/CE,UAAU,EAAEQ,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACE,KAAK,CAACD,EAAE,KAAKd,aAAa,CAAC,CAAA;AAEvD,EAAA,oBACE5G,wCAACyE,mBAAa,EAAA;AAAC,IAAA,KAAK,EAAEC,kBAAAA;AAAM,GAAA,eAC1B1E,wCAAC4H,sBAAK,EAAAjD,oCAAA,CAAA;AAAC,IAAA,GAAG,EAAEpB,GAAI;AAAC,IAAA,SAAS,EAAC,6BAAA;AAA6B,GAAA,EAAKxC,UAAU,CACrE,eAAAf,yBAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AACE,IAAA,uBAAuB,EAAE;AACvB6H,MAAAA,MAAM,EAAG,CAAA;AACrB;AACA;AACA,+BAAA,EAAiCnD,kBAAK,CAACoD,aAAc,CAAGpD,CAAAA,EAAAA,kBAAK,CAACS,IAAK,CAAA;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA4BT,EAAAA,kBAAK,CAACoD,aAAc,CAAA;AAChD;AACA;AACA;AACA,0BAA4BpD,EAAAA,kBAAK,CAACS,IAAK,CAAA;AACvC;AACA,gCAAkCT,EAAAA,kBAAK,CAACoD,aAAc,CAAA;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAA,CAAA;AACU,KAAA;AAAE,GAAA,CACF,eACF9H,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLkB,MAAAA,QAAQ,EAAE,UAAU;AACpB0E,MAAAA,IAAI,EAAE,CAAC;AACPM,MAAAA,GAAG,EAAE,CAAC;AACNnB,MAAAA,KAAK,EAAE,MAAM;AACbnC,MAAAA,MAAM,EAAE,KAAK;AACbmF,MAAAA,YAAY,EAAE,MAAM;AACpB9B,MAAAA,MAAM,EAAE,YAAY;AACpBnB,MAAAA,MAAM,EAAE,MAAA;KACR;AACF,IAAA,WAAW,EAAEzC,eAAAA;AAAgB,GAAA,CACxB,eACPrC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgI,MAAAA,IAAI,EAAE,WAAW;AACjBC,MAAAA,SAAS,EAAE,KAAK;AAChBjD,MAAAA,SAAS,EAAE,MAAM;AACjBkD,MAAAA,QAAQ,EAAE,MAAM;AAChBC,MAAAA,WAAW,EAAG,CAAA,UAAA,EAAYzD,kBAAK,CAAC0D,OAAQ,CAAC,CAAA;AACzClI,MAAAA,OAAO,EAAE,MAAM;AACfE,MAAAA,aAAa,EAAE,QAAA;AACjB,KAAA;GAEA,eAAAJ,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLE,MAAAA,OAAO,EAAE,MAAM;AACfmI,MAAAA,cAAc,EAAE,OAAO;AACvBC,MAAAA,GAAG,EAAE,MAAM;AACXtC,MAAAA,OAAO,EAAE,MAAM;AACf7F,MAAAA,UAAU,EAAE,QAAQ;MACpB2F,UAAU,EAAEpB,kBAAK,CAACoD,aAAAA;AACpB,KAAA;AAAE,GAAA,eAEF9H,wCAAC,IAAI,EAAA;AAAC,IAAA,aAAA,EAAA,IAAA;AAAW,GAAA,CAAG,eACpBA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLK,MAAAA,QAAQ,EAAE,2BAA2B;AACrCC,MAAAA,UAAU,EAAE,MAAA;AACd,KAAA;GAEA,eAAAN,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLM,MAAAA,UAAU,EAAE,GAAA;AACd,KAAA;GAGK,EAAA,UAAA,CAAA,CACH,CACF,eACNN,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLuI,MAAAA,SAAS,EAAE,MAAM;AACjBP,MAAAA,IAAI,EAAE,GAAA;AACR,KAAA;GAEA,eAAAhI,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,MAAA;AACX,KAAA;AAAE,GAAA,eAEFhG,wCAACwI,mBAAQ,EAAA;AAAC,IAAA,KAAK,EAAC,QAAQ;AAAC,IAAA,KAAK,EAAEnH,QAAO;AAAC,IAAA,eAAe,EAAE,EAAC;GAAK,CAAA,CAC3D,CACF,CACF,eACNrB,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgI,MAAAA,IAAI,EAAE,WAAW;AACjBC,MAAAA,SAAS,EAAE,KAAK;AAChBjD,MAAAA,SAAS,EAAE,MAAM;AACjBkD,MAAAA,QAAQ,EAAE,MAAM;AAChBC,MAAAA,WAAW,EAAG,CAAA,UAAA,EAAYzD,kBAAK,CAAC0D,OAAQ,CAAC,CAAA;AACzClI,MAAAA,OAAO,EAAE,MAAM;AACfE,MAAAA,aAAa,EAAE,QAAA;AACjB,KAAA;GAEA,eAAAJ,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,MAAM;MACfF,UAAU,EAAEpB,kBAAK,CAACoD,aAAa;AAC/B5G,MAAAA,QAAQ,EAAE,QAAQ;AAClBgF,MAAAA,GAAG,EAAE,CAAC;AACNpB,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;AAAE,GAAA,EAAA,gBAAA,CAGE,EACLzD,QAAM,CAAC+F,KAAK,CAACC,cAAc,CAACoB,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;IAC7C,oBACE3I,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,GAAG,EAAE0I,KAAK,CAACf,KAAK,CAACD,EAAE,IAAIiB,CAAE;AACzB,MAAA,IAAI,EAAC,QAAQ;AACb,MAAA,YAAA,EAAa,0BAAyBD,KAAK,CAACf,KAAK,CAACD,EAAG,CAAE,CAAA;AACvD,MAAA,OAAO,EAAE,MACPb,gBAAgB,CACdD,aAAa,KAAK8B,KAAK,CAACf,KAAK,CAACD,EAAE,GAAG,EAAE,GAAGgB,KAAK,CAACf,KAAK,CAACD,EAAE,CAEzD;AACD,MAAA,KAAK,EAAE;AACLxH,QAAAA,OAAO,EAAE,MAAM;AACf0I,QAAAA,YAAY,EAAG,CAAA,UAAA,EAAYlE,kBAAK,CAAC0D,OAAQ,CAAC,CAAA;AAC1CnC,QAAAA,MAAM,EAAE,SAAS;AACjB9F,QAAAA,UAAU,EAAE,QAAQ;AACpB2F,QAAAA,UAAU,EACR4C,KAAK,KAAKnB,WAAW,GAAG,sBAAsB,GAAGsB,SAAAA;AACrD,OAAA;KAEA,eAAA7I,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,KAAK,EAAE;AACLgI,QAAAA,IAAI,EAAE,UAAU;AAChBjD,QAAAA,KAAK,EAAE,QAAQ;AACfnC,QAAAA,MAAM,EAAE,QAAQ;AAChBkG,QAAAA,UAAU,EAAE,QAAQ;AACpBhD,QAAAA,UAAU,EAAEiD,oBAAc,CAACL,KAAK,EAAEhE,kBAAK,CAAC;AACxCvE,QAAAA,UAAU,EAAE,QAAQ;AACpBkI,QAAAA,cAAc,EAAE,QAAQ;AACxB/H,QAAAA,UAAU,EAAE,MAAM;AAClB0I,QAAAA,YAAY,EAAE,QAAQ;AACtB3D,QAAAA,UAAU,EAAE,kBAAA;AACd,OAAA;KACA,CAAA,eAEFrF,wCAACiJ,qBAAI,EAAA;AACH,MAAA,KAAK,EAAE;AACLjD,QAAAA,OAAO,EAAE,MAAA;AACX,OAAA;AAAE,KAAA,EAEA,GAAE0C,KAAK,CAAChB,EAAG,CAAA,CAAC,CACT,CACH,CAAA;GAET,CAAC,EACDrG,QAAM,CAAC+F,KAAK,CAACE,cAAc,EAAE4B,MAAM,gBAClClJ,yBACE,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLmJ,MAAAA,SAAS,EAAE,MAAM;AACjBnD,MAAAA,OAAO,EAAE,MAAM;MACfF,UAAU,EAAEpB,kBAAK,CAACoD,aAAa;AAC/B5G,MAAAA,QAAQ,EAAE,QAAQ;AAClBgF,MAAAA,GAAG,EAAE,CAAC;AACNpB,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;AAAE,GAAA,EAAA,iBAAA,CAGE,EACLzD,QAAM,CAAC+F,KAAK,CAACE,cAAc,EAAEmB,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;IAC9C,oBACE3I,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,GAAG,EAAE0I,KAAK,CAACf,KAAK,CAACD,EAAE,IAAIiB,CAAE;AACzB,MAAA,IAAI,EAAC,QAAQ;AACb,MAAA,YAAA,EAAa,0BAAyBD,KAAK,CAACf,KAAK,CAACD,EAAG,CAAE,CAAA;AACvD,MAAA,OAAO,EAAE,MACPb,gBAAgB,CACdD,aAAa,KAAK8B,KAAK,CAACf,KAAK,CAACD,EAAE,GAAG,EAAE,GAAGgB,KAAK,CAACf,KAAK,CAACD,EAAE,CAEzD;AACD,MAAA,KAAK,EAAE;AACLxH,QAAAA,OAAO,EAAE,MAAM;AACf0I,QAAAA,YAAY,EAAG,CAAA,UAAA,EAAYlE,kBAAK,CAAC0D,OAAQ,CAAC,CAAA;AAC1CnC,QAAAA,MAAM,EAAE,SAAS;AACjBH,QAAAA,UAAU,EACR4C,KAAK,KAAKnB,WAAW,GACjB,sBAAsB,GACtBsB,SAAAA;AACR,OAAA;KAEA,eAAA7I,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,KAAK,EAAE;AACLgI,QAAAA,IAAI,EAAE,UAAU;AAChBjD,QAAAA,KAAK,EAAE,QAAQ;AACfnC,QAAAA,MAAM,EAAE,QAAQ;AAChBkG,QAAAA,UAAU,EAAE,QAAQ;AACpBhD,QAAAA,UAAU,EAAEiD,oBAAc,CAACL,KAAK,EAAEhE,kBAAK,CAAC;AACxCvE,QAAAA,UAAU,EAAE,QAAQ;AACpBkI,QAAAA,cAAc,EAAE,QAAQ;AACxB/H,QAAAA,UAAU,EAAE,MAAM;AAClB0I,QAAAA,YAAY,EAAE,QAAQ;AACtB3D,QAAAA,UAAU,EAAE,kBAAA;AACd,OAAA;KACA,CAAA,eAEFrF,wCAACiJ,qBAAI,EAAA;AACH,MAAA,KAAK,EAAE;AACLjD,QAAAA,OAAO,EAAE,MAAA;AACX,OAAA;AAAE,KAAA,EAEA,GAAE0C,KAAK,CAAChB,EAAG,CAAA,CAAC,CACT,CACH,CAAA;GAET,CAAC,CACD,GACD,IAAI,CAiGJ,EAELH,WAAW,gBACVvH,yBAAC,CAAA,aAAA,CAAAoJ,4BAAW,EACV,IAAA,eAAApJ,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,MAAM;MACfF,UAAU,EAAEpB,kBAAK,CAACoD,aAAa;AAC/B5G,MAAAA,QAAQ,EAAE,QAAQ;AAClBgF,MAAAA,GAAG,EAAE,CAAC;AACNtB,MAAAA,MAAM,EAAE,CAAC;AACTE,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;AAAE,GAAA,EAAA,eAAA,CAGE,eACN9E,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,eACEA,yBACE,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA,eACEA,yBACE,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,IAAA,KAAK,EAAE;AAAEsF,MAAAA,OAAO,EAAE,IAAA;AAAK,KAAA;GAAU,EAAA,IAAA,CAAA,eACrCtF,yBACE,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAACiJ,qBAAI,EAAA;AACH,IAAA,KAAK,EAAE;AACL1I,MAAAA,UAAU,EAAE,OAAA;AACd,KAAA;AAAE,GAAA,EAED8I,IAAI,CAACC,SAAS,CAAC/B,WAAW,CAACG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACnC,CACJ,CACF,eACL1H,yBACE,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,IAAA,KAAK,EAAE;AAAEsF,MAAAA,OAAO,EAAE,IAAA;AAAK,KAAA;GAAc,EAAA,QAAA,CAAA,eACzCtF,yBAAKuH,CAAAA,aAAAA,CAAAA,IAAAA,EAAAA,IAAAA,EAAAA,WAAW,CAACH,KAAK,CAACmC,MAAM,CAAM,CAChC,eAKLvJ,yBACE,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,eAAAA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,IAAA,KAAK,EAAE;AAAEsF,MAAAA,OAAO,EAAE,IAAA;AAAK,KAAA;GAAoB,EAAA,cAAA,CAAA,eAC/CtF,yBACGuH,CAAAA,aAAAA,CAAAA,IAAAA,EAAAA,IAAAA,EAAAA,WAAW,CAACH,KAAK,CAACoC,SAAS,GACxB,IAAIC,IAAI,CACNlC,WAAW,CAACH,KAAK,CAACoC,SAAS,CAC5B,CAACE,kBAAkB,EAAE,GACtB,KAAK,CACN,CACF,CACC,CACF,CACJ,eACN1J,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;MACL8F,UAAU,EAAEpB,kBAAK,CAACoD,aAAa;AAC/B9B,MAAAA,OAAO,EAAE,MAAM;AACf9E,MAAAA,QAAQ,EAAE,QAAQ;AAClBgF,MAAAA,GAAG,EAAE,CAAC;AACNtB,MAAAA,MAAM,EAAE,CAAC;AACTE,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;AAAE,GAAA,EAAA,SAAA,CAGE,eACN9E,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,OAAA;AACX,KAAA;AAAE,GAAA,eAEFhG,wCAAC0F,uBAAM,EAAA;AACL,IAAA,IAAI,EAAC,QAAQ;AACb,IAAA,OAAO,EAAE,MAAM6B,WAAW,CAACoC,IAAI,EAAG;AAClC,IAAA,KAAK,EAAE;MACL7D,UAAU,EAAEpB,kBAAK,CAACS,IAAAA;AACpB,KAAA;AAAE,GAAA,EAAA,QAAA,CAGK,CACL,eACNnF,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;MACL8F,UAAU,EAAEpB,kBAAK,CAACoD,aAAa;AAC/B9B,MAAAA,OAAO,EAAE,MAAM;AACf9E,MAAAA,QAAQ,EAAE,QAAQ;AAClBgF,MAAAA,GAAG,EAAE,CAAC;AACNtB,MAAAA,MAAM,EAAE,CAAC;AACTE,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;AAAE,GAAA,EAAA,UAAA,CAGE,eACN9E,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,MAAA;AACX,KAAA;AAAE,GAAA,eAEFhG,wCAACwI,mBAAQ,EAAA;AACP,IAAA,KAAK,EAAC,OAAO;AACb,IAAA,KAAK,EAAEjB,WAAY;AACnB,IAAA,eAAe,EAAE,EAAC;AAAE,GAAA,CACpB,CACE,CACM,GACZ,IAAI,eACRvH,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgI,MAAAA,IAAI,EAAE,WAAW;AACjBC,MAAAA,SAAS,EAAE,KAAK;AAChBjD,MAAAA,SAAS,EAAE,MAAM;AACjBkD,MAAAA,QAAQ,EAAE,MAAM;AAChBC,MAAAA,WAAW,EAAG,CAAA,UAAA,EAAYzD,kBAAK,CAAC0D,OAAQ,CAAC,CAAA;AACzClI,MAAAA,OAAO,EAAE,MAAM;AACfE,MAAAA,aAAa,EAAE,QAAA;AACjB,KAAA;GAwCA,eAAAJ,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,MAAM;MACfF,UAAU,EAAEpB,kBAAK,CAACoD,aAAa;AAC/B5G,MAAAA,QAAQ,EAAE,QAAQ;AAClBgF,MAAAA,GAAG,EAAE,CAAC;AACNtB,MAAAA,MAAM,EAAE,CAAC;AACTE,MAAAA,MAAM,EAAE,CAAA;AACV,KAAA;AAAE,GAAA,EAAA,eAAA,CAGE,eACN9E,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,KAAK,EAAE;AACLgG,MAAAA,OAAO,EAAE,MAAA;AACX,KAAA;GAECkB,EAAAA,MAAM,CAAC0C,IAAI,CAACC,WAAI,CAACxI,QAAM,CAAC+F,KAAK,CAACC,cAAc,CAAC,EAAED,KAAK,CAAC0C,MAAM,IAAI,EAAE,CAAC,CAChEZ,MAAM,gBACPlJ,yBAAA,CAAA,aAAA,CAACwI,mBAAQ,EAAA;AACP,IAAA,KAAK,EAAEqB,WAAI,CAACxI,QAAM,CAAC+F,KAAK,CAACC,cAAc,CAAC,EAAED,KAAK,CAAC0C,MAAM,IAAI,EAAG;AAC7D,IAAA,eAAe,EAAE5C,MAAM,CAAC0C,IAAI,CACzBC,WAAI,CAACxI,QAAM,CAAC+F,KAAK,CAACC,cAAc,CAAC,EAAED,KAAK,CAAC0C,MAAM,IAAW,EAAE,CAC9D,CAACC,MAAM,CAAC,CAACC,GAAQ,EAAEC,IAAI,KAAK;AAC3BD,MAAAA,GAAG,CAACC,IAAI,CAAC,GAAG,EAAE,CAAA;AACd,MAAA,OAAOD,GAAG,CAAA;KACX,EAAE,EAAE,CAAA;AAAE,GAAA,CACP,gBAEFhK,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,IAAA,KAAK,EAAE;AAAEsF,MAAAA,OAAO,EAAE,GAAA;AAAI,KAAA;AAAE,GAAA,EAAE,KAAK,CACpC,CACG,CACF,CACA,CACM,CAAA;AAEpB,CAAC;;;;;"}
1
+ {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["import React from 'react'\nimport {\n invariant,\n AnyRouter,\n Route,\n AnyRoute,\n AnyRootRoute,\n trimPath,\n useRouter,\n useRouterState,\n AnyRouteMatch,\n} from '@tanstack/react-router'\n\nimport useLocalStorage from './useLocalStorage'\nimport {\n getRouteStatusColor,\n getStatusColor,\n multiSortBy,\n useIsMounted,\n useSafeState,\n} from './utils'\nimport { Panel, Button, Code, ActivePanel } from './styledComponents'\nimport { ThemeProvider, defaultTheme as theme } from './theme'\n// import { getQueryStatusLabel, getQueryStatusColor } from './utils'\nimport Explorer from './Explorer'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\n\ninterface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * Use this to add props to the panel. For example, you can add className, style (merge and override default style), etc.\n */\n panelProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >\n /**\n * Use this to add props to the close button. For example, you can add className, style (merge and override default style), onClick (extend default handler), etc.\n */\n closeButtonProps?: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n /**\n * Use this to add props to the toggle button. For example, you can add className, style (merge and override default style), onClick (extend default handler), etc.\n */\n toggleButtonProps?: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n /**\n * The position of the TanStack Router logo to open and close the devtools panel.\n * Defaults to 'bottom-left'.\n */\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n /**\n * Use this to render the devtools inside a different type of container element for a11y purposes.\n * Any string which corresponds to a valid intrinsic JSX element is allowed.\n * Defaults to 'footer'.\n */\n containerElement?: string | any\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router?: AnyRouter\n}\n\ninterface DevtoolsPanelOptions {\n /**\n * The standard React style object used to style a component with inline styles\n */\n style?: React.CSSProperties\n /**\n * The standard React className property used to style a component with classes\n */\n className?: 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: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router?: AnyRouter\n}\n\nconst isServer = typeof window === 'undefined'\n\nfunction Logo(props: React.HTMLProps<HTMLDivElement>) {\n return (\n <div\n {...props}\n style={{\n ...(props.style ?? {}),\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n fontSize: '0.8rem',\n fontWeight: 'bolder',\n lineHeight: '1',\n }}\n >\n <div\n style={{\n letterSpacing: '-0.05rem',\n }}\n >\n TANSTACK\n </div>\n <div\n style={{\n backgroundImage:\n 'linear-gradient(to right, var(--tw-gradient-stops))',\n // @ts-ignore\n '--tw-gradient-from': '#84cc16',\n '--tw-gradient-stops':\n 'var(--tw-gradient-from), var(--tw-gradient-to)',\n '--tw-gradient-to': '#10b981',\n WebkitBackgroundClip: 'text',\n color: 'transparent',\n letterSpacing: '0.1rem',\n marginRight: '-0.2rem',\n }}\n >\n ROUTER\n </div>\n </div>\n )\n}\n\nexport function TanStackRouterDevtools({\n initialIsOpen,\n panelProps = {},\n closeButtonProps = {},\n toggleButtonProps = {},\n position = 'bottom-left',\n containerElement: Container = 'footer',\n router,\n}: DevtoolsOptions): React.ReactElement | null {\n const rootRef = React.useRef<HTMLDivElement>(null)\n const panelRef = React.useRef<HTMLDivElement>(null)\n const [isOpen, setIsOpen] = useLocalStorage(\n 'tanstackRouterDevtoolsOpen',\n initialIsOpen,\n )\n const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage<number | null>(\n 'tanstackRouterDevtoolsHeight',\n null,\n )\n const [isResolvedOpen, setIsResolvedOpen] = useSafeState(false)\n const [isResizing, setIsResizing] = useSafeState(false)\n const isMounted = useIsMounted()\n\n const handleDragStart = (\n panelElement: HTMLDivElement | null,\n startEvent: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n if (startEvent.button !== 0) return // Only allow left click for drag\n\n setIsResizing(true)\n\n const dragInfo = {\n originalHeight: panelElement?.getBoundingClientRect().height ?? 0,\n pageY: startEvent.pageY,\n }\n\n const run = (moveEvent: MouseEvent) => {\n const delta = dragInfo.pageY - moveEvent.pageY\n const newHeight = dragInfo?.originalHeight + delta\n\n setDevtoolsHeight(newHeight)\n\n if (newHeight < 70) {\n setIsOpen(false)\n } else {\n setIsOpen(true)\n }\n }\n\n const unsub = () => {\n setIsResizing(false)\n document.removeEventListener('mousemove', run)\n document.removeEventListener('mouseUp', unsub)\n }\n\n document.addEventListener('mousemove', run)\n document.addEventListener('mouseup', unsub)\n }\n\n React.useEffect(() => {\n setIsResolvedOpen(isOpen ?? false)\n }, [isOpen, isResolvedOpen, setIsResolvedOpen])\n\n // Toggle panel visibility before/after transition (depending on direction).\n // Prevents focusing in a closed panel.\n React.useEffect(() => {\n const ref = panelRef.current\n\n if (ref) {\n const handlePanelTransitionStart = () => {\n if (ref && isResolvedOpen) {\n ref.style.visibility = 'visible'\n }\n }\n\n const handlePanelTransitionEnd = () => {\n if (ref && !isResolvedOpen) {\n ref.style.visibility = 'hidden'\n }\n }\n\n ref.addEventListener('transitionstart', handlePanelTransitionStart)\n ref.addEventListener('transitionend', handlePanelTransitionEnd)\n\n return () => {\n ref.removeEventListener('transitionstart', handlePanelTransitionStart)\n ref.removeEventListener('transitionend', handlePanelTransitionEnd)\n }\n }\n\n return\n }, [isResolvedOpen])\n\n React[isServer ? 'useEffect' : 'useLayoutEffect'](() => {\n if (isResolvedOpen) {\n const previousValue = rootRef.current?.parentElement?.style.paddingBottom\n\n const run = () => {\n const containerHeight = panelRef.current?.getBoundingClientRect().height\n if (rootRef.current?.parentElement) {\n rootRef.current.parentElement.style.paddingBottom = `${containerHeight}px`\n }\n }\n\n run()\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', run)\n\n return () => {\n window.removeEventListener('resize', run)\n if (\n rootRef.current?.parentElement &&\n typeof previousValue === 'string'\n ) {\n rootRef.current.parentElement.style.paddingBottom = previousValue\n }\n }\n }\n }\n return\n }, [isResolvedOpen])\n\n const { style: panelStyle = {}, ...otherPanelProps } = panelProps\n\n const {\n style: closeButtonStyle = {},\n onClick: onCloseClick,\n ...otherCloseButtonProps\n } = closeButtonProps\n\n const {\n style: toggleButtonStyle = {},\n onClick: onToggleClick,\n ...otherToggleButtonProps\n } = toggleButtonProps\n\n // Do not render on the server\n if (!isMounted()) return null\n\n return (\n <Container ref={rootRef} className=\"TanStackRouterDevtools\">\n <ThemeProvider theme={theme}>\n <TanStackRouterDevtoolsPanel\n ref={panelRef as any}\n {...otherPanelProps}\n router={router}\n style={{\n position: 'fixed',\n bottom: '0',\n right: '0',\n zIndex: 99999,\n width: '100%',\n height: devtoolsHeight ?? 500,\n maxHeight: '90%',\n boxShadow: '0 0 20px rgba(0,0,0,.3)',\n borderTop: `1px solid ${theme.gray}`,\n transformOrigin: 'top',\n // visibility will be toggled after transitions, but set initial state here\n visibility: isOpen ? 'visible' : 'hidden',\n ...panelStyle,\n ...(isResizing\n ? {\n transition: `none`,\n }\n : { transition: `all .2s ease` }),\n ...(isResolvedOpen\n ? {\n opacity: 1,\n pointerEvents: 'all',\n transform: `translateY(0) scale(1)`,\n }\n : {\n opacity: 0,\n pointerEvents: 'none',\n transform: `translateY(15px) scale(1.02)`,\n }),\n }}\n isOpen={isResolvedOpen}\n setIsOpen={setIsOpen}\n handleDragStart={(e) => handleDragStart(panelRef.current, e)}\n />\n {isResolvedOpen ? (\n <Button\n type=\"button\"\n aria-label=\"Close TanStack Router Devtools\"\n {...(otherCloseButtonProps as any)}\n onClick={(e) => {\n setIsOpen(false)\n onCloseClick && onCloseClick(e)\n }}\n style={{\n position: 'fixed',\n zIndex: 99999,\n margin: '.5em',\n bottom: 0,\n ...(position === 'top-right'\n ? {\n right: '0',\n }\n : position === 'top-left'\n ? {\n left: '0',\n }\n : position === 'bottom-right'\n ? {\n right: '0',\n }\n : {\n left: '0',\n }),\n ...closeButtonStyle,\n }}\n >\n Close\n </Button>\n ) : null}\n </ThemeProvider>\n {!isResolvedOpen ? (\n <button\n type=\"button\"\n {...otherToggleButtonProps}\n aria-label=\"Open TanStack Router Devtools\"\n onClick={(e) => {\n setIsOpen(true)\n onToggleClick && onToggleClick(e)\n }}\n style={{\n appearance: 'none',\n background: 'none',\n border: 0,\n padding: 0,\n position: 'fixed',\n zIndex: 99999,\n display: 'inline-flex',\n fontSize: '1.5em',\n margin: '.5em',\n cursor: 'pointer',\n width: 'fit-content',\n ...(position === 'top-right'\n ? {\n top: '0',\n right: '0',\n }\n : position === 'top-left'\n ? {\n top: '0',\n left: '0',\n }\n : position === 'bottom-right'\n ? {\n bottom: '0',\n right: '0',\n }\n : {\n bottom: '0',\n left: '0',\n }),\n ...toggleButtonStyle,\n }}\n >\n <Logo aria-hidden />\n </button>\n ) : null}\n </Container>\n )\n}\n\nfunction RouteComp({\n route,\n isRoot,\n activeId,\n setActiveId,\n}: {\n route: AnyRootRoute | AnyRoute\n isRoot?: boolean\n activeId: string | undefined\n setActiveId: (id: string) => void\n}) {\n const routerState = useRouterState()\n const matches =\n routerState.status === 'pending'\n ? routerState.pendingMatches ?? []\n : routerState.matches\n\n const match = routerState.matches.find((d) => d.routeId === route.id)\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 style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: match ? 'pointer' : 'default',\n alignItems: 'center',\n background:\n route.id === activeId ? 'rgba(255,255,255,.1)' : undefined,\n padding: '.25rem .5rem',\n gap: '.5rem',\n }}\n >\n {isRoot ? null : (\n <div\n style={{\n flex: '0 0 auto',\n width: '.7rem',\n height: '.7rem',\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '100%',\n transition: 'all .2s ease-out',\n background: getRouteStatusColor(matches, route, theme),\n opacity: match ? 1 : 0.3,\n }}\n />\n )}\n <div\n style={{\n flex: '1 0 auto',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: isRoot ? '0 .25rem' : 0,\n opacity: match ? 1 : 0.7,\n fontSize: '0.7rem',\n }}\n >\n <Code>{route.path || trimPath(route.id)} </Code>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '.5rem',\n }}\n >\n {match ? <Code style={{ opacity: 0.3 }}>{match.id}</Code> : null}\n <AgeTicker match={match} />\n </div>\n </div>\n </div>\n {(route.children as Route[])?.length ? (\n <div\n style={{\n marginLeft: isRoot ? 0 : '1rem',\n borderLeft: isRoot ? '' : `solid 1px ${theme.grayAlt}`,\n }}\n >\n {[...(route.children as Route[])]\n .sort((a, b) => {\n return a.rank - b.rank\n })\n .map((r) => (\n <RouteComp\n key={r.id}\n route={r}\n activeId={activeId}\n setActiveId={setActiveId}\n />\n ))}\n </div>\n ) : null}\n </div>\n )\n}\n\nexport const TanStackRouterDevtoolsPanel = React.forwardRef<\n HTMLDivElement,\n DevtoolsPanelOptions\n>(function TanStackRouterDevtoolsPanel(props, ref): React.ReactElement {\n const {\n isOpen = true,\n setIsOpen,\n handleDragStart,\n router: userRouter,\n ...panelProps\n } = props\n\n const router = useRouter()\n const routerState = useRouterState()\n\n const matches = [\n ...(routerState.pendingMatches ?? []),\n ...routerState.matches,\n ...routerState.cachedMatches,\n ]\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 = React.useMemo(\n () => matches.find((d) => d.routeId === activeId || d.id === activeId),\n [matches, activeId],\n )\n\n const hasSearch = Object.keys(routerState.location.search || {}).length\n\n const explorerState = {\n ...router,\n state: router.state,\n }\n\n return (\n <ThemeProvider theme={theme}>\n <Panel ref={ref} className=\"TanStackRouterDevtoolsPanel\" {...panelProps}>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n\n .TanStackRouterDevtoolsPanel * {\n scrollbar-color: ${theme.backgroundAlt} ${theme.gray};\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar, .TanStackRouterDevtoolsPanel scrollbar {\n width: 1em;\n height: 1em;\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-track, .TanStackRouterDevtoolsPanel scrollbar-track {\n background: ${theme.backgroundAlt};\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-thumb, .TanStackRouterDevtoolsPanel scrollbar-thumb {\n background: ${theme.gray};\n border-radius: .5em;\n border: 3px solid ${theme.backgroundAlt};\n }\n\n .TanStackRouterDevtoolsPanel table {\n width: 100%;\n }\n\n .TanStackRouterDevtoolsPanel table tr {\n border-bottom: 2px dotted rgba(255, 255, 255, .2);\n }\n\n .TanStackRouterDevtoolsPanel table tr:last-child {\n border-bottom: none\n }\n\n .TanStackRouterDevtoolsPanel table td {\n padding: .25rem .5rem;\n border-right: 2px dotted rgba(255, 255, 255, .05);\n }\n\n .TanStackRouterDevtoolsPanel table td:last-child {\n border-right: none\n }\n\n `,\n }}\n />\n <div\n style={{\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '4px',\n marginBottom: '-4px',\n cursor: 'row-resize',\n zIndex: 100000,\n }}\n onMouseDown={handleDragStart}\n ></div>\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n display: 'flex',\n justifyContent: 'start',\n gap: '1rem',\n padding: '1rem',\n alignItems: 'center',\n background: theme.backgroundAlt,\n }}\n >\n <Logo aria-hidden />\n <div\n style={{\n fontSize: 'clamp(.8rem, 2vw, 1.3rem)',\n fontWeight: 'bold',\n }}\n >\n <span\n style={{\n fontWeight: 100,\n }}\n >\n Devtools\n </span>\n </div>\n </div>\n <div\n style={{\n overflowY: 'auto',\n flex: '1',\n }}\n >\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Router\"\n value={Object.fromEntries(\n multiSortBy(\n Object.keys(explorerState),\n (\n [\n 'state',\n 'routesById',\n 'routesByPath',\n 'flatRoutes',\n 'options',\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 defaultExpanded={{\n state: {} as any,\n context: {} as any,\n options: {} as any,\n }}\n filterSubEntries={(subEntries) => {\n return subEntries.filter((d) => typeof d.value !== 'function')\n }}\n />\n </div>\n </div>\n </div>\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n flex: '1 1 auto',\n overflowY: 'auto',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n gap: '.5rem',\n fontWeight: 'bold',\n }}\n >\n Pathname{' '}\n {routerState.location.maskedLocation ? (\n <div\n style={{\n padding: '.1rem .5rem',\n background: theme.warning,\n color: 'black',\n borderRadius: '.5rem',\n }}\n >\n Masked\n </div>\n ) : null}\n </div>\n <div\n style={{\n padding: '.5rem',\n display: 'flex',\n gap: '.5rem',\n alignItems: 'center',\n }}\n >\n <code\n style={{\n opacity: 0.6,\n }}\n >\n {routerState.location.pathname}\n </code>\n {routerState.location.maskedLocation ? (\n <code\n style={{\n color: theme.warning,\n fontWeight: 'bold',\n }}\n >\n {routerState.location.maskedLocation.pathname}\n </code>\n ) : null}\n </div>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '.5rem',\n fontWeight: 'bold',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '.5rem',\n }}\n >\n <button\n type=\"button\"\n onClick={() => {\n setShowMatches(false)\n }}\n disabled={!showMatches}\n style={{\n appearance: 'none',\n opacity: showMatches ? 0.5 : 1,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n }}\n >\n Routes\n </button>\n /\n <button\n type=\"button\"\n onClick={() => {\n setShowMatches(true)\n }}\n disabled={showMatches}\n style={{\n appearance: 'none',\n opacity: !showMatches ? 0.5 : 1,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n }}\n >\n Matches\n </button>\n </div>\n <div\n style={{\n opacity: 0.3,\n fontSize: '0.7rem',\n fontWeight: 'normal',\n }}\n >\n age / staleTime / gcTime\n </div>\n </div>\n {!showMatches ? (\n <RouteComp\n route={router.routeTree}\n isRoot\n activeId={activeId}\n setActiveId={setActiveId}\n />\n ) : (\n <div>\n {(routerState.status === 'pending'\n ? routerState.pendingMatches ?? []\n : routerState.matches\n ).map((match, i) => {\n return (\n <div\n key={match.id || i}\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveId(activeId === match.id ? '' : match.id)\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n alignItems: 'center',\n background:\n match === activeMatch\n ? 'rgba(255,255,255,.1)'\n : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n marginLeft: '.25rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n\n <Code\n style={{\n padding: '.5em',\n fontSize: '0.7rem',\n }}\n >\n {`${match.id}`}\n </Code>\n <AgeTicker match={match} />\n </div>\n )\n })}\n </div>\n )}\n </div>\n {routerState.cachedMatches?.length ? (\n <div\n style={{\n flex: '1 1 auto',\n overflowY: 'auto',\n maxHeight: '50%',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '.5rem',\n fontWeight: 'bold',\n }}\n >\n <div>Cached Matches</div>\n <div\n style={{\n opacity: 0.3,\n fontSize: '0.7rem',\n fontWeight: 'normal',\n }}\n >\n age / staleTime / gcTime\n </div>\n </div>\n <div>\n {routerState.cachedMatches.map((match) => {\n return (\n <div\n key={match.id}\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveId(activeId === match.id ? '' : match.id)\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n alignItems: 'center',\n background:\n match === activeMatch\n ? 'rgba(255,255,255,.1)'\n : undefined,\n fontSize: '0.7rem',\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '.75rem',\n height: '.75rem',\n marginLeft: '.25rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '100%',\n transition: 'all 1s ease-out',\n }}\n />\n\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${match.id}`}\n </Code>\n\n <div style={{ marginLeft: 'auto' }}>\n <AgeTicker match={match} />\n </div>\n </div>\n )\n })}\n </div>\n </div>\n ) : null}\n </div>\n {activeMatch ? (\n <ActivePanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Match Details\n </div>\n <div>\n <table\n style={{\n fontSize: '0.8rem',\n }}\n >\n <tbody>\n <tr>\n <td style={{ opacity: '.5' }}>ID</td>\n <td>\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n {JSON.stringify(activeMatch.id, null, 2)}\n </Code>\n </td>\n </tr>\n <tr>\n <td style={{ opacity: '.5' }}>Status</td>\n <td>\n {routerState.pendingMatches?.find(\n (d) => d.id === activeMatch.id,\n )\n ? 'Pending'\n : routerState.matches?.find(\n (d) => d.id === activeMatch.id,\n )\n ? 'Active'\n : 'Cached'}{' '}\n - {activeMatch.status}\n </td>\n </tr>\n {/* <tr>\n <td style={{ opacity: '.5' }}>Invalid</td>\n <td>{activeMatch.getIsInvalid().toString()}</td>\n </tr> */}\n <tr>\n <td style={{ opacity: '.5' }}>Last Updated</td>\n <td>\n {activeMatch.updatedAt\n ? new Date(\n activeMatch.updatedAt as number,\n ).toLocaleTimeString()\n : 'N/A'}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n {/* <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n }}\n >\n <Button\n type=\"button\"\n onClick={() => activeMatch.__store.setState(d => ({...d, status: 'pending'}))}\n style={{\n background: theme.gray,\n }}\n >\n Reload\n </Button>\n </div> */}\n {activeMatch.loaderData ? (\n <>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Loader Data\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"loaderData\"\n value={activeMatch.loaderData}\n defaultExpanded={{}}\n />\n </div>\n </>\n ) : null}\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Match\"\n value={activeMatch}\n defaultExpanded={{}}\n />\n </div>\n </ActivePanel>\n ) : null}\n {hasSearch ? (\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n fontWeight: 'bold',\n }}\n >\n Search Params\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n value={routerState.location.search || {}}\n defaultExpanded={Object.keys(\n (routerState.location.search as {}) || {},\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n </div>\n </div>\n ) : null}\n </Panel>\n </ThemeProvider>\n )\n})\n\nfunction AgeTicker({ match }: { match?: AnyRouteMatch }) {\n const router = useRouter()\n\n const rerender = React.useReducer(\n () => ({}),\n () => ({}),\n )[1]\n\n React.useEffect(() => {\n const interval = setInterval(() => {\n rerender()\n }, 1000)\n\n return () => {\n clearInterval(interval)\n }\n }, [])\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\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '.25rem',\n color: age > staleTime ? theme.warning : undefined,\n }}\n >\n <div style={{}}>{formatTime(age)}</div>\n <div>/</div>\n <div>{formatTime(staleTime)}</div>\n <div>/</div>\n <div>{formatTime(gcTime)}</div>\n </div>\n )\n}\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"],"names":["isServer","window","Logo","props","React","createElement","_extends","style","display","alignItems","flexDirection","fontSize","fontWeight","lineHeight","letterSpacing","backgroundImage","WebkitBackgroundClip","color","marginRight","TanStackRouterDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","router","rootRef","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","isResolvedOpen","setIsResolvedOpen","useSafeState","isResizing","setIsResizing","isMounted","useIsMounted","handleDragStart","panelElement","startEvent","button","dragInfo","originalHeight","getBoundingClientRect","height","pageY","run","moveEvent","delta","newHeight","unsub","document","removeEventListener","addEventListener","useEffect","ref","current","handlePanelTransitionStart","visibility","handlePanelTransitionEnd","previousValue","parentElement","paddingBottom","containerHeight","panelStyle","otherPanelProps","closeButtonStyle","onClick","onCloseClick","otherCloseButtonProps","toggleButtonStyle","onToggleClick","otherToggleButtonProps","className","ThemeProvider","theme","TanStackRouterDevtoolsPanel","bottom","right","zIndex","width","maxHeight","boxShadow","borderTop","gray","transformOrigin","transition","opacity","pointerEvents","transform","e","Button","type","margin","left","appearance","background","border","padding","cursor","top","RouteComp","route","isRoot","activeId","setActiveId","routerState","useRouterState","matches","status","pendingMatches","match","find","d","routeId","id","role","borderBottom","grayAlt","undefined","gap","flex","justifyContent","borderRadius","getRouteStatusColor","Code","path","trimPath","AgeTicker","children","length","marginLeft","borderLeft","sort","a","b","rank","map","r","key","forwardRef","userRouter","useRouter","cachedMatches","invariant","showMatches","setShowMatches","activeMatch","useMemo","hasSearch","Object","keys","location","search","explorerState","state","Panel","dangerouslySetInnerHTML","__html","backgroundAlt","marginBottom","onMouseDown","minHeight","overflow","borderRight","overflowY","Explorer","label","value","fromEntries","multiSortBy","dd","filter","includes","defaultExpanded","context","options","filterSubEntries","subEntries","maskedLocation","warning","pathname","disabled","routeTree","i","getStatusColor","ActivePanel","JSON","stringify","updatedAt","Date","toLocaleTimeString","loaderData","Fragment","reduce","obj","next","rerender","useReducer","interval","setInterval","clearInterval","looseRoutesById","loader","age","now","staleTime","defaultStaleTime","gcTime","defaultGcTime","formatTime","ms","units","values","chosenUnitIndex","formatter","Intl","NumberFormat","navigator","language","compactDisplay","notation","maximumFractionDigits","format"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * router-devtools
2
+ * @tanstack/router-devtools/src/index.tsx
3
3
  *
4
4
  * Copyright (c) TanStack
5
5
  *
@@ -10,8 +10,6 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
13
  var devtools = require('./devtools.js');
16
14
 
17
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * router-devtools
2
+ * @tanstack/router-devtools/src/index.tsx
3
3
  *
4
4
  * Copyright (c) TanStack
5
5
  *
@@ -10,8 +10,6 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
13
  var utils = require('./utils.js');
16
14
 
17
15
  const Panel = utils.styled('div', (_props, theme) => ({
@@ -29,7 +27,6 @@ const Panel = utils.styled('div', (_props, theme) => ({
29
27
  // flexDirection: 'column',
30
28
  }
31
29
  });
32
-
33
30
  const ActivePanel = utils.styled('div', () => ({
34
31
  flex: '1 1 500px',
35
32
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"styledComponents.js","sources":["../../src/styledComponents.ts"],"sourcesContent":["import { styled } from './utils'\n\nexport const Panel = styled(\n 'div',\n (_props, theme) => ({\n fontSize: 'clamp(12px, 1.5vw, 14px)',\n fontFamily: `sans-serif`,\n display: 'flex',\n backgroundColor: theme.background,\n color: theme.foreground,\n }),\n {\n '(max-width: 700px)': {\n flexDirection: 'column',\n },\n '(max-width: 600px)': {\n fontSize: '.9em',\n // flexDirection: 'column',\n },\n },\n)\n\nexport const ActivePanel = styled(\n 'div',\n () => ({\n flex: '1 1 500px',\n display: 'flex',\n flexDirection: 'column',\n overflow: 'auto',\n height: '100%',\n }),\n {\n '(max-width: 700px)': (_props, theme) => ({\n borderTop: `2px solid ${theme.gray}`,\n }),\n },\n)\n\nexport const Button = styled('button', (props, theme) => ({\n appearance: 'none',\n fontSize: '.9em',\n fontWeight: 'bold',\n background: theme.gray,\n border: '0',\n borderRadius: '.3em',\n color: 'white',\n padding: '.5em',\n opacity: props.disabled ? '.5' : undefined,\n cursor: 'pointer',\n}))\n\n// export const QueryKeys = styled('span', {\n// display: 'inline-block',\n// fontSize: '0.9em',\n// })\n\n// export const QueryKey = styled('span', {\n// display: 'inline-flex',\n// alignItems: 'center',\n// padding: '.2em .4em',\n// fontWeight: 'bold',\n// textShadow: '0 0 10px black',\n// borderRadius: '.2em',\n// })\n\nexport const Code = styled('code', {\n fontSize: '.9em',\n})\n\nexport const Input = styled('input', (_props, theme) => ({\n backgroundColor: theme.inputBackgroundColor,\n border: 0,\n borderRadius: '.2em',\n color: theme.inputTextColor,\n fontSize: '.9em',\n lineHeight: `1.3`,\n padding: '.3em .4em',\n}))\n\nexport const Select = styled(\n 'select',\n (_props, theme) => ({\n display: `inline-block`,\n fontSize: `.9em`,\n fontFamily: `sans-serif`,\n fontWeight: 'normal',\n lineHeight: `1.3`,\n padding: `.3em 1.5em .3em .5em`,\n height: 'auto',\n border: 0,\n borderRadius: `.2em`,\n appearance: `none`,\n WebkitAppearance: 'none',\n backgroundColor: theme.inputBackgroundColor,\n backgroundImage: `url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23444444'><polygon points='0,25 100,25 50,75'/></svg>\")`,\n backgroundRepeat: `no-repeat`,\n backgroundPosition: `right .55em center`,\n backgroundSize: `.65em auto, 100%`,\n color: theme.inputTextColor,\n }),\n {\n '(max-width: 500px)': {\n display: 'none',\n },\n },\n)\n"],"names":["Panel","styled","_props","theme","fontSize","fontFamily","display","backgroundColor","background","color","foreground","flexDirection","ActivePanel","flex","overflow","height","borderTop","gray","Button","props","appearance","fontWeight","border","borderRadius","padding","opacity","disabled","undefined","cursor","Code"],"mappings":";;;;;;;;;;;;;;;;AAEO,MAAMA,KAAK,GAAGC,YAAM,CACzB,KAAK,EACL,CAACC,MAAM,EAAEC,KAAK,MAAM;AAClBC,EAAAA,QAAQ,EAAE,0BAA0B;AACpCC,EAAAA,UAAU,EAAG,CAAW,UAAA,CAAA;AACxBC,EAAAA,OAAO,EAAE,MAAM;EACfC,eAAe,EAAEJ,KAAK,CAACK,UAAU;EACjCC,KAAK,EAAEN,KAAK,CAACO,UAAAA;AACf,CAAC,CAAC,EACF;AACE,EAAA,oBAAoB,EAAE;AACpBC,IAAAA,aAAa,EAAE,QAAA;GAChB;AACD,EAAA,oBAAoB,EAAE;AACpBP,IAAAA,QAAQ,EAAE,MAAA;AACV;AACF,GAAA;AACF,CAAC,EACF;;MAEYQ,WAAW,GAAGX,YAAM,CAC/B,KAAK,EACL,OAAO;AACLY,EAAAA,IAAI,EAAE,WAAW;AACjBP,EAAAA,OAAO,EAAE,MAAM;AACfK,EAAAA,aAAa,EAAE,QAAQ;AACvBG,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,MAAM,EAAE,MAAA;AACV,CAAC,CAAC,EACF;AACE,EAAA,oBAAoB,EAAE,CAACb,MAAM,EAAEC,KAAK,MAAM;AACxCa,IAAAA,SAAS,EAAG,CAAA,UAAA,EAAYb,KAAK,CAACc,IAAK,CAAA,CAAA;GACpC,CAAA;AACH,CAAC,EACF;AAEM,MAAMC,MAAM,GAAGjB,YAAM,CAAC,QAAQ,EAAE,CAACkB,KAAK,EAAEhB,KAAK,MAAM;AACxDiB,EAAAA,UAAU,EAAE,MAAM;AAClBhB,EAAAA,QAAQ,EAAE,MAAM;AAChBiB,EAAAA,UAAU,EAAE,MAAM;EAClBb,UAAU,EAAEL,KAAK,CAACc,IAAI;AACtBK,EAAAA,MAAM,EAAE,GAAG;AACXC,EAAAA,YAAY,EAAE,MAAM;AACpBd,EAAAA,KAAK,EAAE,OAAO;AACde,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,OAAO,EAAEN,KAAK,CAACO,QAAQ,GAAG,IAAI,GAAGC,SAAS;AAC1CC,EAAAA,MAAM,EAAE,SAAA;AACV,CAAC,CAAC,EAAC;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MAEaC,IAAI,GAAG5B,YAAM,CAAC,MAAM,EAAE;AACjCG,EAAAA,QAAQ,EAAE,MAAA;AACZ,CAAC;;;;;;;"}
1
+ {"version":3,"file":"styledComponents.js","sources":["../../src/styledComponents.ts"],"sourcesContent":["import { styled } from './utils'\n\nexport const Panel = styled(\n 'div',\n (_props, theme) => ({\n fontSize: 'clamp(12px, 1.5vw, 14px)',\n fontFamily: `sans-serif`,\n display: 'flex',\n backgroundColor: theme.background,\n color: theme.foreground,\n }),\n {\n '(max-width: 700px)': {\n flexDirection: 'column',\n },\n '(max-width: 600px)': {\n fontSize: '.9em',\n // flexDirection: 'column',\n },\n },\n)\n\nexport const ActivePanel = styled(\n 'div',\n () => ({\n flex: '1 1 500px',\n display: 'flex',\n flexDirection: 'column',\n overflow: 'auto',\n height: '100%',\n }),\n {\n '(max-width: 700px)': (_props, theme) => ({\n borderTop: `2px solid ${theme.gray}`,\n }),\n },\n)\n\nexport const Button = styled('button', (props, theme) => ({\n appearance: 'none',\n fontSize: '.9em',\n fontWeight: 'bold',\n background: theme.gray,\n border: '0',\n borderRadius: '.3em',\n color: 'white',\n padding: '.5em',\n opacity: props.disabled ? '.5' : undefined,\n cursor: 'pointer',\n}))\n\n// export const QueryKeys = styled('span', {\n// display: 'inline-block',\n// fontSize: '0.9em',\n// })\n\n// export const QueryKey = styled('span', {\n// display: 'inline-flex',\n// alignItems: 'center',\n// padding: '.2em .4em',\n// fontWeight: 'bold',\n// textShadow: '0 0 10px black',\n// borderRadius: '.2em',\n// })\n\nexport const Code = styled('code', {\n fontSize: '.9em',\n})\n\nexport const Input = styled('input', (_props, theme) => ({\n backgroundColor: theme.inputBackgroundColor,\n border: 0,\n borderRadius: '.2em',\n color: theme.inputTextColor,\n fontSize: '.9em',\n lineHeight: `1.3`,\n padding: '.3em .4em',\n}))\n\nexport const Select = styled(\n 'select',\n (_props, theme) => ({\n display: `inline-block`,\n fontSize: `.9em`,\n fontFamily: `sans-serif`,\n fontWeight: 'normal',\n lineHeight: `1.3`,\n padding: `.3em 1.5em .3em .5em`,\n height: 'auto',\n border: 0,\n borderRadius: `.2em`,\n appearance: `none`,\n WebkitAppearance: 'none',\n backgroundColor: theme.inputBackgroundColor,\n backgroundImage: `url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23444444'><polygon points='0,25 100,25 50,75'/></svg>\")`,\n backgroundRepeat: `no-repeat`,\n backgroundPosition: `right .55em center`,\n backgroundSize: `.65em auto, 100%`,\n color: theme.inputTextColor,\n }),\n {\n '(max-width: 500px)': {\n display: 'none',\n },\n },\n)\n"],"names":["Panel","styled","_props","theme","fontSize","fontFamily","display","backgroundColor","background","color","foreground","flexDirection","ActivePanel","flex","overflow","height","(max-width: 700px)","borderTop","gray","Button","props","appearance","fontWeight","border","borderRadius","padding","opacity","disabled","undefined","cursor","Code"],"mappings":";;;;;;;;;;;;;;AAEO,MAAMA,KAAK,GAAGC,YAAM,CACzB,KAAK,EACL,CAACC,MAAM,EAAEC,KAAK,MAAM;AAClBC,EAAAA,QAAQ,EAAE,0BAA0B;AACpCC,EAAAA,UAAU,EAAG,CAAW,UAAA,CAAA;AACxBC,EAAAA,OAAO,EAAE,MAAM;EACfC,eAAe,EAAEJ,KAAK,CAACK,UAAU;EACjCC,KAAK,EAAEN,KAAK,CAACO,UAAAA;AACf,CAAC,CAAC,EACF;AACE,EAAA,oBAAoB,EAAE;AACpBC,IAAAA,aAAa,EAAE,QAAA;GAChB;AACD,EAAA,oBAAoB,EAAE;AACpBP,IAAAA,QAAQ,EAAE,MAAA;AACV;AACF,GAAA;AACF,CACF,EAAC;MAEYQ,WAAW,GAAGX,YAAM,CAC/B,KAAK,EACL,OAAO;AACLY,EAAAA,IAAI,EAAE,WAAW;AACjBP,EAAAA,OAAO,EAAE,MAAM;AACfK,EAAAA,aAAa,EAAE,QAAQ;AACvBG,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,MAAM,EAAE,MAAA;AACV,CAAC,CAAC,EACF;AACE,EAAA,oBAAoB,EAAEC,CAACd,MAAM,EAAEC,KAAK,MAAM;AACxCc,IAAAA,SAAS,EAAG,CAAA,UAAA,EAAYd,KAAK,CAACe,IAAK,CAAA,CAAA;GACpC,CAAA;AACH,CACF,EAAC;AAEM,MAAMC,MAAM,GAAGlB,YAAM,CAAC,QAAQ,EAAE,CAACmB,KAAK,EAAEjB,KAAK,MAAM;AACxDkB,EAAAA,UAAU,EAAE,MAAM;AAClBjB,EAAAA,QAAQ,EAAE,MAAM;AAChBkB,EAAAA,UAAU,EAAE,MAAM;EAClBd,UAAU,EAAEL,KAAK,CAACe,IAAI;AACtBK,EAAAA,MAAM,EAAE,GAAG;AACXC,EAAAA,YAAY,EAAE,MAAM;AACpBf,EAAAA,KAAK,EAAE,OAAO;AACdgB,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,OAAO,EAAEN,KAAK,CAACO,QAAQ,GAAG,IAAI,GAAGC,SAAS;AAC1CC,EAAAA,MAAM,EAAE,SAAA;AACV,CAAC,CAAC,EAAC;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MAEaC,IAAI,GAAG7B,YAAM,CAAC,MAAM,EAAE;AACjCG,EAAAA,QAAQ,EAAE,MAAA;AACZ,CAAC;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * router-devtools
2
+ * @tanstack/router-devtools/src/index.tsx
3
3
  *
4
4
  * Copyright (c) TanStack
5
5
  *
@@ -10,39 +10,33 @@
10
10
  */
11
11
  'use strict';
12
12
 
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
13
  var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
16
14
  var React = require('react');
17
15
 
18
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
-
20
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
-
22
16
  const defaultTheme = {
23
- background: '#0b1521',
24
- backgroundAlt: '#132337',
17
+ background: '#222222',
18
+ backgroundAlt: '#292929',
25
19
  foreground: 'white',
26
- gray: '#3f4e60',
27
- grayAlt: '#222e3e',
20
+ gray: '#444',
21
+ grayAlt: '#444',
28
22
  inputBackgroundColor: '#fff',
29
23
  inputTextColor: '#000',
30
- success: '#00ab52',
24
+ success: '#80cb00',
31
25
  danger: '#ff0085',
32
- active: '#006bff',
26
+ active: '#0099ff',
33
27
  warning: '#ffb200'
34
28
  };
35
- const ThemeContext = /*#__PURE__*/React__default["default"].createContext(defaultTheme);
29
+ const ThemeContext = /*#__PURE__*/React.createContext(defaultTheme);
36
30
  function ThemeProvider({
37
31
  theme,
38
32
  ...rest
39
33
  }) {
40
- return /*#__PURE__*/React__default["default"].createElement(ThemeContext.Provider, _rollupPluginBabelHelpers["extends"]({
34
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, _rollupPluginBabelHelpers.extends({
41
35
  value: theme
42
36
  }, rest));
43
37
  }
44
38
  function useTheme() {
45
- return React__default["default"].useContext(ThemeContext);
39
+ return React.useContext(ThemeContext);
46
40
  }
47
41
 
48
42
  exports.ThemeProvider = ThemeProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../src/theme.tsx"],"sourcesContent":["import React from 'react'\n\nexport const defaultTheme = {\n background: '#0b1521',\n backgroundAlt: '#132337',\n foreground: 'white',\n gray: '#3f4e60',\n grayAlt: '#222e3e',\n inputBackgroundColor: '#fff',\n inputTextColor: '#000',\n success: '#00ab52',\n danger: '#ff0085',\n active: '#006bff',\n warning: '#ffb200',\n} as const\n\nexport type Theme = typeof defaultTheme\ninterface ProviderProps {\n theme: Theme\n children?: React.ReactNode\n}\n\nconst ThemeContext = React.createContext(defaultTheme)\n\nexport function ThemeProvider({ theme, ...rest }: ProviderProps) {\n return <ThemeContext.Provider value={theme} {...rest} />\n}\n\nexport function useTheme() {\n return React.useContext(ThemeContext)\n}\n"],"names":["defaultTheme","background","backgroundAlt","foreground","gray","grayAlt","inputBackgroundColor","inputTextColor","success","danger","active","warning","ThemeContext","React","createContext","ThemeProvider","theme","rest","_extends","useTheme","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,UAAU,EAAE,SAAS;AACrBC,EAAAA,aAAa,EAAE,SAAS;AACxBC,EAAAA,UAAU,EAAE,OAAO;AACnBC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,oBAAoB,EAAE,MAAM;AAC5BC,EAAAA,cAAc,EAAE,MAAM;AACtBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAQV,MAAMC,YAAY,gBAAGC,yBAAK,CAACC,aAAa,CAACd,YAAY,CAAC,CAAA;AAE/C,SAASe,aAAa,CAAC;EAAEC,KAAK;EAAE,GAAGC,IAAAA;AAAoB,CAAC,EAAE;EAC/D,oBAAOJ,yBAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAAK,oCAAA,CAAA;AAAC,IAAA,KAAK,EAAEF,KAAAA;AAAM,GAAA,EAAKC,IAAI,CAAI,CAAA,CAAA;AAC1D,CAAA;AAEO,SAASE,QAAQ,GAAG;AACzB,EAAA,OAAON,yBAAK,CAACO,UAAU,CAACR,YAAY,CAAC,CAAA;AACvC;;;;;;"}
1
+ {"version":3,"file":"theme.js","sources":["../../src/theme.tsx"],"sourcesContent":["import React from 'react'\n\nexport const defaultTheme = {\n background: '#222222',\n backgroundAlt: '#292929',\n foreground: 'white',\n gray: '#444',\n grayAlt: '#444',\n inputBackgroundColor: '#fff',\n inputTextColor: '#000',\n success: '#80cb00',\n danger: '#ff0085',\n active: '#0099ff',\n warning: '#ffb200',\n} as const\n\nexport type Theme = typeof defaultTheme\ninterface ProviderProps {\n theme: Theme\n children?: React.ReactNode\n}\n\nconst ThemeContext = React.createContext(defaultTheme)\n\nexport function ThemeProvider({ theme, ...rest }: ProviderProps) {\n return <ThemeContext.Provider value={theme} {...rest} />\n}\n\nexport function useTheme() {\n return React.useContext(ThemeContext)\n}\n"],"names":["defaultTheme","background","backgroundAlt","foreground","gray","grayAlt","inputBackgroundColor","inputTextColor","success","danger","active","warning","ThemeContext","React","createContext","ThemeProvider","theme","rest","createElement","Provider","_extends","value","useTheme","useContext"],"mappings":";;;;;;;;;;;;;;;AAEO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,UAAU,EAAE,SAAS;AACrBC,EAAAA,aAAa,EAAE,SAAS;AACxBC,EAAAA,UAAU,EAAE,OAAO;AACnBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,OAAO,EAAE,MAAM;AACfC,EAAAA,oBAAoB,EAAE,MAAM;AAC5BC,EAAAA,cAAc,EAAE,MAAM;AACtBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAQV,MAAMC,YAAY,gBAAGC,KAAK,CAACC,aAAa,CAACd,YAAY,CAAC,CAAA;AAE/C,SAASe,aAAaA,CAAC;EAAEC,KAAK;EAAE,GAAGC,IAAAA;AAAoB,CAAC,EAAE;EAC/D,oBAAOJ,KAAA,CAAAK,aAAA,CAACN,YAAY,CAACO,QAAQ,EAAAC,iCAAA,CAAA;AAACC,IAAAA,KAAK,EAAEL,KAAAA;GAAWC,EAAAA,IAAI,CAAG,CAAC,CAAA;AAC1D,CAAA;AAEO,SAASK,QAAQA,GAAG;AACzB,EAAA,OAAOT,KAAK,CAACU,UAAU,CAACX,YAAY,CAAC,CAAA;AACvC;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * router-devtools
2
+ * @tanstack/router-devtools/src/index.tsx
3
3
  *
4
4
  * Copyright (c) TanStack
5
5
  *
@@ -14,10 +14,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
15
  var React = require('react');
16
16
 
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
-
21
17
  const getItem = key => {
22
18
  try {
23
19
  const itemValue = localStorage.getItem(key);
@@ -30,8 +26,8 @@ const getItem = key => {
30
26
  }
31
27
  };
32
28
  function useLocalStorage(key, defaultValue) {
33
- const [value, setValue] = React__default["default"].useState();
34
- React__default["default"].useEffect(() => {
29
+ const [value, setValue] = React.useState();
30
+ React.useEffect(() => {
35
31
  const initialValue = getItem(key);
36
32
  if (typeof initialValue === 'undefined' || initialValue === null) {
37
33
  setValue(typeof defaultValue === 'function' ? defaultValue() : defaultValue);
@@ -39,7 +35,7 @@ function useLocalStorage(key, defaultValue) {
39
35
  setValue(initialValue);
40
36
  }
41
37
  }, [defaultValue, key]);
42
- const setter = React__default["default"].useCallback(updater => {
38
+ const setter = React.useCallback(updater => {
43
39
  setValue(old => {
44
40
  let newVal = updater;
45
41
  if (typeof updater == 'function') {
@@ -54,5 +50,5 @@ function useLocalStorage(key, defaultValue) {
54
50
  return [value, setter];
55
51
  }
56
52
 
57
- exports["default"] = useLocalStorage;
53
+ exports.default = useLocalStorage;
58
54
  //# sourceMappingURL=useLocalStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalStorage.js","sources":["../../src/useLocalStorage.ts"],"sourcesContent":["import React from 'react'\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): [T | undefined, (newVal: T | ((prevVal: T) => T)) => void] {\n const [value, setValue] = React.useState<T>()\n\n React.useEffect(() => {\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 setValue(initialValue)\n }\n }, [defaultValue, key])\n\n const setter = React.useCallback(\n (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 [key],\n )\n\n return [value, setter]\n}\n"],"names":["getItem","key","itemValue","localStorage","JSON","parse","undefined","useLocalStorage","defaultValue","value","setValue","React","useState","useEffect","initialValue","setter","useCallback","updater","old","newVal","setItem","stringify"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,OAAO,GAAIC,GAAW,IAAc;EACxC,IAAI;AACF,IAAA,MAAMC,SAAS,GAAGC,YAAY,CAACH,OAAO,CAACC,GAAG,CAAC,CAAA;AAC3C,IAAA,IAAI,OAAOC,SAAS,KAAK,QAAQ,EAAE;AACjC,MAAA,OAAOE,IAAI,CAACC,KAAK,CAACH,SAAS,CAAC,CAAA;AAC9B,KAAA;AACA,IAAA,OAAOI,SAAS,CAAA;AAClB,GAAC,CAAC,MAAM;AACN,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;AACF,CAAC,CAAA;AAEc,SAASC,eAAe,CACrCN,GAAW,EACXO,YAA2B,EACiC;EAC5D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,yBAAK,CAACC,QAAQ,EAAK,CAAA;EAE7CD,yBAAK,CAACE,SAAS,CAAC,MAAM;AACpB,IAAA,MAAMC,YAAY,GAAGd,OAAO,CAACC,GAAG,CAAkB,CAAA;IAElD,IAAI,OAAOa,YAAY,KAAK,WAAW,IAAIA,YAAY,KAAK,IAAI,EAAE;MAChEJ,QAAQ,CACN,OAAOF,YAAY,KAAK,UAAU,GAAGA,YAAY,EAAE,GAAGA,YAAY,CACnE,CAAA;AACH,KAAC,MAAM;MACLE,QAAQ,CAACI,YAAY,CAAC,CAAA;AACxB,KAAA;AACF,GAAC,EAAE,CAACN,YAAY,EAAEP,GAAG,CAAC,CAAC,CAAA;AAEvB,EAAA,MAAMc,MAAM,GAAGJ,yBAAK,CAACK,WAAW,CAC7BC,OAAY,IAAK;IAChBP,QAAQ,CAAEQ,GAAG,IAAK;MAChB,IAAIC,MAAM,GAAGF,OAAO,CAAA;AAEpB,MAAA,IAAI,OAAOA,OAAO,IAAI,UAAU,EAAE;AAChCE,QAAAA,MAAM,GAAGF,OAAO,CAACC,GAAG,CAAC,CAAA;AACvB,OAAA;MACA,IAAI;QACFf,YAAY,CAACiB,OAAO,CAACnB,GAAG,EAAEG,IAAI,CAACiB,SAAS,CAACF,MAAM,CAAC,CAAC,CAAA;OAClD,CAAC,MAAM,EAAC;AAET,MAAA,OAAOA,MAAM,CAAA;AACf,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAAClB,GAAG,CAAC,CACN,CAAA;AAED,EAAA,OAAO,CAACQ,KAAK,EAAEM,MAAM,CAAC,CAAA;AACxB;;;;"}
1
+ {"version":3,"file":"useLocalStorage.js","sources":["../../src/useLocalStorage.ts"],"sourcesContent":["import React from 'react'\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): [T | undefined, (newVal: T | ((prevVal: T) => T)) => void] {\n const [value, setValue] = React.useState<T>()\n\n React.useEffect(() => {\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 setValue(initialValue)\n }\n }, [defaultValue, key])\n\n const setter = React.useCallback(\n (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 [key],\n )\n\n return [value, setter]\n}\n"],"names":["getItem","key","itemValue","localStorage","JSON","parse","undefined","useLocalStorage","defaultValue","value","setValue","React","useState","useEffect","initialValue","setter","useCallback","updater","old","newVal","setItem","stringify"],"mappings":";;;;;;;;;;;;;;;;AAEA,MAAMA,OAAO,GAAIC,GAAW,IAAc;EACxC,IAAI;AACF,IAAA,MAAMC,SAAS,GAAGC,YAAY,CAACH,OAAO,CAACC,GAAG,CAAC,CAAA;AAC3C,IAAA,IAAI,OAAOC,SAAS,KAAK,QAAQ,EAAE;AACjC,MAAA,OAAOE,IAAI,CAACC,KAAK,CAACH,SAAS,CAAC,CAAA;AAC9B,KAAA;AACA,IAAA,OAAOI,SAAS,CAAA;AAClB,GAAC,CAAC,MAAM;AACN,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;AACF,CAAC,CAAA;AAEc,SAASC,eAAeA,CACrCN,GAAW,EACXO,YAA2B,EACiC;EAC5D,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,KAAK,CAACC,QAAQ,EAAK,CAAA;EAE7CD,KAAK,CAACE,SAAS,CAAC,MAAM;AACpB,IAAA,MAAMC,YAAY,GAAGd,OAAO,CAACC,GAAG,CAAkB,CAAA;IAElD,IAAI,OAAOa,YAAY,KAAK,WAAW,IAAIA,YAAY,KAAK,IAAI,EAAE;MAChEJ,QAAQ,CACN,OAAOF,YAAY,KAAK,UAAU,GAAGA,YAAY,EAAE,GAAGA,YACxD,CAAC,CAAA;AACH,KAAC,MAAM;MACLE,QAAQ,CAACI,YAAY,CAAC,CAAA;AACxB,KAAA;AACF,GAAC,EAAE,CAACN,YAAY,EAAEP,GAAG,CAAC,CAAC,CAAA;AAEvB,EAAA,MAAMc,MAAM,GAAGJ,KAAK,CAACK,WAAW,CAC7BC,OAAY,IAAK;IAChBP,QAAQ,CAAEQ,GAAG,IAAK;MAChB,IAAIC,MAAM,GAAGF,OAAO,CAAA;AAEpB,MAAA,IAAI,OAAOA,OAAO,IAAI,UAAU,EAAE;AAChCE,QAAAA,MAAM,GAAGF,OAAO,CAACC,GAAG,CAAC,CAAA;AACvB,OAAA;MACA,IAAI;QACFf,YAAY,CAACiB,OAAO,CAACnB,GAAG,EAAEG,IAAI,CAACiB,SAAS,CAACF,MAAM,CAAC,CAAC,CAAA;OAClD,CAAC,MAAM,EAAC;AAET,MAAA,OAAOA,MAAM,CAAA;AACf,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAAClB,GAAG,CACN,CAAC,CAAA;AAED,EAAA,OAAO,CAACQ,KAAK,EAAEM,MAAM,CAAC,CAAA;AACxB;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * router-devtools
2
+ * @tanstack/router-devtools/src/index.tsx
3
3
  *
4
4
  * Copyright (c) TanStack
5
5
  *
@@ -14,13 +14,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
15
  var React = require('react');
16
16
 
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
-
21
17
  function useMediaQuery(query) {
22
18
  // Keep track of the preference in state, start with the current match
23
- const [isMatch, setIsMatch] = React__default["default"].useState(() => {
19
+ const [isMatch, setIsMatch] = React.useState(() => {
24
20
  if (typeof window !== 'undefined') {
25
21
  return window.matchMedia && window.matchMedia(query).matches;
26
22
  }
@@ -28,7 +24,7 @@ function useMediaQuery(query) {
28
24
  });
29
25
 
30
26
  // Watch for changes
31
- React__default["default"].useEffect(() => {
27
+ React.useEffect(() => {
32
28
  if (typeof window !== 'undefined') {
33
29
  if (!window.matchMedia) {
34
30
  return;
@@ -54,5 +50,5 @@ function useMediaQuery(query) {
54
50
  return isMatch;
55
51
  }
56
52
 
57
- exports["default"] = useMediaQuery;
53
+ exports.default = useMediaQuery;
58
54
  //# sourceMappingURL=useMediaQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.js","sources":["../../src/useMediaQuery.ts"],"sourcesContent":["import React from 'react'\n\nexport default function useMediaQuery(query: string): boolean | undefined {\n // Keep track of the preference in state, start with the current match\n const [isMatch, setIsMatch] = React.useState(() => {\n if (typeof window !== 'undefined') {\n return window.matchMedia && window.matchMedia(query).matches\n }\n return\n })\n\n // Watch for changes\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (!window.matchMedia) {\n return\n }\n\n // Create a matcher\n const matcher = window.matchMedia(query)\n\n // Create our handler\n const onChange = ({ matches }: { matches: boolean }) =>\n setIsMatch(matches)\n\n // Listen for changes\n matcher.addListener(onChange)\n\n return () => {\n // Stop listening for changes\n matcher.removeListener(onChange)\n }\n }\n\n return\n }, [isMatch, query, setIsMatch])\n\n return isMatch\n}\n"],"names":["useMediaQuery","query","isMatch","setIsMatch","React","useState","window","matchMedia","matches","useEffect","matcher","onChange","addListener","removeListener"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEe,SAASA,aAAa,CAACC,KAAa,EAAuB;AACxE;EACA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,yBAAK,CAACC,QAAQ,CAAC,MAAM;AACjD,IAAA,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;MACjC,OAAOA,MAAM,CAACC,UAAU,IAAID,MAAM,CAACC,UAAU,CAACN,KAAK,CAAC,CAACO,OAAO,CAAA;AAC9D,KAAA;AACA,IAAA,OAAA;AACF,GAAC,CAAC,CAAA;;AAEF;EACAJ,yBAAK,CAACK,SAAS,CAAC,MAAM;AACpB,IAAA,IAAI,OAAOH,MAAM,KAAK,WAAW,EAAE;AACjC,MAAA,IAAI,CAACA,MAAM,CAACC,UAAU,EAAE;AACtB,QAAA,OAAA;AACF,OAAA;;AAEA;AACA,MAAA,MAAMG,OAAO,GAAGJ,MAAM,CAACC,UAAU,CAACN,KAAK,CAAC,CAAA;;AAExC;MACA,MAAMU,QAAQ,GAAG,CAAC;AAAEH,QAAAA,OAAAA;AAA8B,OAAC,KACjDL,UAAU,CAACK,OAAO,CAAC,CAAA;;AAErB;AACAE,MAAAA,OAAO,CAACE,WAAW,CAACD,QAAQ,CAAC,CAAA;AAE7B,MAAA,OAAO,MAAM;AACX;AACAD,QAAAA,OAAO,CAACG,cAAc,CAACF,QAAQ,CAAC,CAAA;OACjC,CAAA;AACH,KAAA;AAEA,IAAA,OAAA;GACD,EAAE,CAACT,OAAO,EAAED,KAAK,EAAEE,UAAU,CAAC,CAAC,CAAA;AAEhC,EAAA,OAAOD,OAAO,CAAA;AAChB;;;;"}
1
+ {"version":3,"file":"useMediaQuery.js","sources":["../../src/useMediaQuery.ts"],"sourcesContent":["import React from 'react'\n\nexport default function useMediaQuery(query: string): boolean | undefined {\n // Keep track of the preference in state, start with the current match\n const [isMatch, setIsMatch] = React.useState(() => {\n if (typeof window !== 'undefined') {\n return window.matchMedia && window.matchMedia(query).matches\n }\n return\n })\n\n // Watch for changes\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (!window.matchMedia) {\n return\n }\n\n // Create a matcher\n const matcher = window.matchMedia(query)\n\n // Create our handler\n const onChange = ({ matches }: { matches: boolean }) =>\n setIsMatch(matches)\n\n // Listen for changes\n matcher.addListener(onChange)\n\n return () => {\n // Stop listening for changes\n matcher.removeListener(onChange)\n }\n }\n\n return\n }, [isMatch, query, setIsMatch])\n\n return isMatch\n}\n"],"names":["useMediaQuery","query","isMatch","setIsMatch","React","useState","window","matchMedia","matches","useEffect","matcher","onChange","addListener","removeListener"],"mappings":";;;;;;;;;;;;;;;;AAEe,SAASA,aAAaA,CAACC,KAAa,EAAuB;AACxE;EACA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,KAAK,CAACC,QAAQ,CAAC,MAAM;AACjD,IAAA,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;MACjC,OAAOA,MAAM,CAACC,UAAU,IAAID,MAAM,CAACC,UAAU,CAACN,KAAK,CAAC,CAACO,OAAO,CAAA;AAC9D,KAAA;AACA,IAAA,OAAA;AACF,GAAC,CAAC,CAAA;;AAEF;EACAJ,KAAK,CAACK,SAAS,CAAC,MAAM;AACpB,IAAA,IAAI,OAAOH,MAAM,KAAK,WAAW,EAAE;AACjC,MAAA,IAAI,CAACA,MAAM,CAACC,UAAU,EAAE;AACtB,QAAA,OAAA;AACF,OAAA;;AAEA;AACA,MAAA,MAAMG,OAAO,GAAGJ,MAAM,CAACC,UAAU,CAACN,KAAK,CAAC,CAAA;;AAExC;MACA,MAAMU,QAAQ,GAAGA,CAAC;AAAEH,QAAAA,OAAAA;AAA8B,OAAC,KACjDL,UAAU,CAACK,OAAO,CAAC,CAAA;;AAErB;AACAE,MAAAA,OAAO,CAACE,WAAW,CAACD,QAAQ,CAAC,CAAA;AAE7B,MAAA,OAAO,MAAM;AACX;AACAD,QAAAA,OAAO,CAACG,cAAc,CAACF,QAAQ,CAAC,CAAA;OACjC,CAAA;AACH,KAAA;AAEA,IAAA,OAAA;GACD,EAAE,CAACT,OAAO,EAAED,KAAK,EAAEE,UAAU,CAAC,CAAC,CAAA;AAEhC,EAAA,OAAOD,OAAO,CAAA;AAChB;;;;"}