@tanstack/router-devtools-core 1.132.41 → 1.132.45

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 (91) hide show
  1. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs +792 -0
  2. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs.map +1 -0
  3. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs +675 -0
  4. package/dist/cjs/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs.map +1 -0
  5. package/dist/cjs/{AgeTicker.cjs → packages/router-devtools-core/src/AgeTicker.cjs} +3 -2
  6. package/dist/cjs/packages/router-devtools-core/src/AgeTicker.cjs.map +1 -0
  7. package/dist/cjs/{BaseTanStackRouterDevtoolsPanel.cjs → packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.cjs} +66 -66
  8. package/dist/cjs/packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.cjs.map +1 -0
  9. package/dist/cjs/{Explorer.cjs → packages/router-devtools-core/src/Explorer.cjs} +27 -27
  10. package/dist/cjs/packages/router-devtools-core/src/Explorer.cjs.map +1 -0
  11. package/dist/cjs/{FloatingTanStackRouterDevtools.cjs → packages/router-devtools-core/src/FloatingTanStackRouterDevtools.cjs} +19 -19
  12. package/dist/cjs/packages/router-devtools-core/src/FloatingTanStackRouterDevtools.cjs.map +1 -0
  13. package/dist/cjs/{NavigateButton.cjs → packages/router-devtools-core/src/NavigateButton.cjs} +3 -2
  14. package/dist/cjs/packages/router-devtools-core/src/NavigateButton.cjs.map +1 -0
  15. package/dist/cjs/{TanStackRouterDevtoolsCore.cjs → packages/router-devtools-core/src/TanStackRouterDevtoolsCore.cjs} +7 -7
  16. package/dist/cjs/packages/router-devtools-core/src/TanStackRouterDevtoolsCore.cjs.map +1 -0
  17. package/dist/cjs/{TanStackRouterDevtoolsPanelCore.cjs → packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.cjs} +10 -10
  18. package/dist/cjs/packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.cjs.map +1 -0
  19. package/dist/cjs/{context.cjs → packages/router-devtools-core/src/context.cjs} +4 -4
  20. package/dist/cjs/packages/router-devtools-core/src/context.cjs.map +1 -0
  21. package/dist/cjs/{logo.cjs → packages/router-devtools-core/src/logo.cjs} +3 -3
  22. package/dist/cjs/packages/router-devtools-core/src/logo.cjs.map +1 -0
  23. package/dist/cjs/packages/router-devtools-core/src/tokens.cjs.map +1 -0
  24. package/dist/cjs/{useLocalStorage.cjs → packages/router-devtools-core/src/useLocalStorage.cjs} +3 -3
  25. package/dist/cjs/packages/router-devtools-core/src/useLocalStorage.cjs.map +1 -0
  26. package/dist/cjs/{useStyles.cjs → packages/router-devtools-core/src/useStyles.cjs} +3 -3
  27. package/dist/cjs/packages/router-devtools-core/src/useStyles.cjs.map +1 -0
  28. package/dist/cjs/{utils.cjs → packages/router-devtools-core/src/utils.cjs} +3 -4
  29. package/dist/cjs/packages/router-devtools-core/src/utils.cjs.map +1 -0
  30. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.js +792 -0
  31. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.js.map +1 -0
  32. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.js +676 -0
  33. package/dist/esm/node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.js.map +1 -0
  34. package/dist/esm/{AgeTicker.js → packages/router-devtools-core/src/AgeTicker.js} +3 -2
  35. package/dist/esm/packages/router-devtools-core/src/AgeTicker.js.map +1 -0
  36. package/dist/esm/{BaseTanStackRouterDevtoolsPanel.js → packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.js} +33 -33
  37. package/dist/esm/packages/router-devtools-core/src/BaseTanStackRouterDevtoolsPanel.js.map +1 -0
  38. package/dist/esm/{Explorer.js → packages/router-devtools-core/src/Explorer.js} +15 -15
  39. package/dist/esm/packages/router-devtools-core/src/Explorer.js.map +1 -0
  40. package/dist/esm/{FloatingTanStackRouterDevtools.js → packages/router-devtools-core/src/FloatingTanStackRouterDevtools.js} +3 -3
  41. package/dist/esm/packages/router-devtools-core/src/FloatingTanStackRouterDevtools.js.map +1 -0
  42. package/dist/esm/{NavigateButton.js → packages/router-devtools-core/src/NavigateButton.js} +3 -2
  43. package/dist/esm/packages/router-devtools-core/src/NavigateButton.js.map +1 -0
  44. package/dist/esm/{TanStackRouterDevtoolsCore.js → packages/router-devtools-core/src/TanStackRouterDevtoolsCore.js} +2 -2
  45. package/dist/esm/packages/router-devtools-core/src/TanStackRouterDevtoolsCore.js.map +1 -0
  46. package/dist/esm/{TanStackRouterDevtoolsPanelCore.js → packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.js} +3 -3
  47. package/dist/esm/packages/router-devtools-core/src/TanStackRouterDevtoolsPanelCore.js.map +1 -0
  48. package/dist/esm/{context.js → packages/router-devtools-core/src/context.js} +1 -1
  49. package/dist/esm/packages/router-devtools-core/src/context.js.map +1 -0
  50. package/dist/esm/{logo.js → packages/router-devtools-core/src/logo.js} +2 -2
  51. package/dist/esm/packages/router-devtools-core/src/logo.js.map +1 -0
  52. package/dist/esm/packages/router-devtools-core/src/tokens.js.map +1 -0
  53. package/dist/esm/{useLocalStorage.js → packages/router-devtools-core/src/useLocalStorage.js} +1 -1
  54. package/dist/esm/packages/router-devtools-core/src/useLocalStorage.js.map +1 -0
  55. package/dist/esm/{useStyles.js → packages/router-devtools-core/src/useStyles.js} +1 -1
  56. package/dist/esm/packages/router-devtools-core/src/useStyles.js.map +1 -0
  57. package/dist/esm/{utils.js → packages/router-devtools-core/src/utils.js} +1 -2
  58. package/dist/esm/packages/router-devtools-core/src/utils.js.map +1 -0
  59. package/package.json +7 -8
  60. package/dist/cjs/AgeTicker.cjs.map +0 -1
  61. package/dist/cjs/BaseTanStackRouterDevtoolsPanel.cjs.map +0 -1
  62. package/dist/cjs/Explorer.cjs.map +0 -1
  63. package/dist/cjs/FloatingTanStackRouterDevtools.cjs.map +0 -1
  64. package/dist/cjs/NavigateButton.cjs.map +0 -1
  65. package/dist/cjs/TanStackRouterDevtoolsCore.cjs.map +0 -1
  66. package/dist/cjs/TanStackRouterDevtoolsPanelCore.cjs.map +0 -1
  67. package/dist/cjs/context.cjs.map +0 -1
  68. package/dist/cjs/logo.cjs.map +0 -1
  69. package/dist/cjs/tokens.cjs.map +0 -1
  70. package/dist/cjs/useLocalStorage.cjs.map +0 -1
  71. package/dist/cjs/useStyles.cjs.map +0 -1
  72. package/dist/cjs/utils.cjs.map +0 -1
  73. package/dist/esm/AgeTicker.js.map +0 -1
  74. package/dist/esm/BaseTanStackRouterDevtoolsPanel.js.map +0 -1
  75. package/dist/esm/Explorer.js.map +0 -1
  76. package/dist/esm/FloatingTanStackRouterDevtools.js.map +0 -1
  77. package/dist/esm/NavigateButton.js.map +0 -1
  78. package/dist/esm/TanStackRouterDevtoolsCore.js.map +0 -1
  79. package/dist/esm/TanStackRouterDevtoolsPanelCore.js.map +0 -1
  80. package/dist/esm/context.js.map +0 -1
  81. package/dist/esm/logo.js.map +0 -1
  82. package/dist/esm/tokens.js.map +0 -1
  83. package/dist/esm/useLocalStorage.js.map +0 -1
  84. package/dist/esm/useStyles.js.map +0 -1
  85. package/dist/esm/utils.js.map +0 -1
  86. /package/dist/cjs/{index.cjs → packages/router-devtools-core/src/index.cjs} +0 -0
  87. /package/dist/cjs/{index.cjs.map → packages/router-devtools-core/src/index.cjs.map} +0 -0
  88. /package/dist/cjs/{tokens.cjs → packages/router-devtools-core/src/tokens.cjs} +0 -0
  89. /package/dist/esm/{index.js → packages/router-devtools-core/src/index.js} +0 -0
  90. /package/dist/esm/{index.js.map → packages/router-devtools-core/src/index.js.map} +0 -0
  91. /package/dist/esm/{tokens.js → packages/router-devtools-core/src/tokens.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseTanStackRouterDevtoolsPanel.cjs","sources":["../../../../../src/BaseTanStackRouterDevtoolsPanel.tsx"],"sourcesContent":["import { clsx as cx } from 'clsx'\nimport { default as invariant } from 'tiny-invariant'\nimport { interpolatePath, rootRouteId, trimPath } from '@tanstack/router-core'\nimport { Show, createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useDevtoolsOnClose } from './context'\nimport { useStyles } from './useStyles'\nimport useLocalStorage from './useLocalStorage'\nimport { Explorer } from './Explorer'\nimport { getRouteStatusColor, getStatusColor, multiSortBy } from './utils'\nimport { AgeTicker } from './AgeTicker'\n// import type { DevtoolsPanelOptions } from './TanStackRouterDevtoolsPanel'\n\nimport { NavigateButton } from './NavigateButton'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n FileRouteTypes,\n MakeRouteMatchUnion,\n Route,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor, JSX } from 'solid-js'\n\nexport interface BaseDevtoolsPanelOptions {\n /**\n * The standard React style object used to style a component with inline styles\n */\n style?: Accessor<JSX.CSSProperties>\n /**\n * The standard React class property used to style a component with classes\n */\n className?: Accessor<string>\n /**\n * A boolean variable indicating whether the panel is open or closed\n */\n isOpen?: boolean\n /**\n * A function that toggles the open and close state of the panel\n */\n setIsOpen?: (isOpen: boolean) => void\n /**\n * Handles the opening and closing the devtools panel\n */\n handleDragStart?: (e: any) => void\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router: Accessor<AnyRouter>\n routerState: Accessor<any>\n /**\n * Use this to attach the devtool's styles to specific element in the DOM.\n */\n shadowDOMTarget?: ShadowRoot\n}\n\nfunction Logo(props: any) {\n const { className, ...rest } = props\n const styles = useStyles()\n return (\n <button {...rest} class={cx(styles().logo, className ? className() : '')}>\n <div class={styles().tanstackLogo}>TANSTACK</div>\n <div class={styles().routerLogo}>TanStack Router v1</div>\n </button>\n )\n}\n\nfunction NavigateLink(props: {\n class?: string\n left?: JSX.Element\n children?: JSX.Element\n right?: JSX.Element\n}) {\n return (\n <div\n class={props.class}\n style={{\n display: 'flex',\n 'align-items': 'center',\n width: '100%',\n }}\n >\n {props.left}\n <div style={{ 'flex-grow': 1, 'min-width': 0 }}>{props.children}</div>\n {props.right}\n </div>\n )\n}\n\nfunction RouteComp({\n routerState,\n router,\n route,\n isRoot,\n activeId,\n setActiveId,\n}: {\n routerState: Accessor<\n RouterState<\n Route<\n any,\n any,\n any,\n '/',\n '/',\n string,\n '__root__',\n undefined,\n {},\n {},\n AnyContext,\n AnyContext,\n {},\n undefined,\n any,\n FileRouteTypes,\n unknown,\n undefined\n >,\n MakeRouteMatchUnion\n >\n >\n router: Accessor<AnyRouter>\n route: AnyRoute\n isRoot?: boolean\n activeId: Accessor<string | undefined>\n setActiveId: (id: string) => void\n}) {\n const styles = useStyles()\n const matches = createMemo(\n () => routerState().pendingMatches || routerState().matches,\n )\n const match = createMemo(() =>\n routerState().matches.find((d) => d.routeId === route.id),\n )\n\n const param = createMemo(() => {\n try {\n if (match()?.params) {\n const p = match()?.params\n const r: string = route.path || trimPath(route.id)\n if (r.startsWith('$')) {\n const trimmed = r.slice(1)\n\n if (p[trimmed]) {\n return `(${p[trimmed]})`\n }\n }\n }\n return ''\n } catch (error) {\n return ''\n }\n })\n\n const navigationTarget = createMemo<string | undefined>(() => {\n if (isRoot) return undefined // rootRouteId has no path\n if (!route.path) return undefined // no path to navigate to\n\n // flatten all params in the router state, into a single object\n const allParams = Object.assign({}, ...matches().map((m) => m.params))\n\n // interpolatePath is used by router-core to generate the `to`\n // path for the navigate function in the router\n const interpolated = interpolatePath({\n path: route.fullPath,\n params: allParams,\n leaveWildcards: false,\n leaveParams: false,\n decodeCharMap: router().pathParamsDecodeCharMap,\n })\n\n // only if `interpolated` is not missing params, return the path since this\n // means that all the params are present for a successful navigation\n return !interpolated.isMissingParams\n ? interpolated.interpolatedPath\n : undefined\n })\n\n return (\n <div>\n <div\n role=\"button\"\n aria-label={`Open match details for ${route.id}`}\n onClick={() => {\n if (match()) {\n setActiveId(activeId() === route.id ? '' : route.id)\n }\n }}\n class={cx(\n styles().routesRowContainer(route.id === activeId(), !!match()),\n )}\n >\n <div\n class={cx(\n styles().matchIndicator(getRouteStatusColor(matches(), route)),\n )}\n />\n <NavigateLink\n class={cx(styles().routesRow(!!match()))}\n left={\n <Show when={navigationTarget()}>\n {(navigate) => <NavigateButton to={navigate()} router={router} />}\n </Show>\n }\n right={<AgeTicker match={match()} router={router} />}\n >\n <code class={styles().code}>\n {isRoot ? rootRouteId : route.path || trimPath(route.id)}{' '}\n </code>\n <code class={styles().routeParamInfo}>{param()}</code>\n </NavigateLink>\n </div>\n {route.children?.length ? (\n <div class={styles().nestedRouteRow(!!isRoot)}>\n {[...(route.children as Array<AnyRoute>)]\n .sort((a, b) => {\n return a.rank - b.rank\n })\n .map((r) => (\n <RouteComp\n routerState={routerState}\n router={router}\n route={r}\n activeId={activeId}\n setActiveId={setActiveId}\n />\n ))}\n </div>\n ) : null}\n </div>\n )\n}\n\nexport const BaseTanStackRouterDevtoolsPanel =\n function BaseTanStackRouterDevtoolsPanel({\n ...props\n }: BaseDevtoolsPanelOptions): JSX.Element {\n const {\n isOpen = true,\n setIsOpen,\n handleDragStart,\n router,\n routerState,\n shadowDOMTarget,\n ...panelProps\n } = props\n\n const { onCloseClick } = useDevtoolsOnClose()\n const styles = useStyles()\n const { className, style, ...otherPanelProps } = panelProps\n\n invariant(\n router,\n 'No router was found for the TanStack Router Devtools. Please place the devtools in the <RouterProvider> component tree or pass the router instance to the devtools manually.',\n )\n\n // useStore(router.__store)\n\n const [showMatches, setShowMatches] = useLocalStorage(\n 'tanstackRouterDevtoolsShowMatches',\n true,\n )\n\n const [activeId, setActiveId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveRouteId',\n '',\n )\n\n const activeMatch = createMemo(() => {\n const matches = [\n ...(routerState().pendingMatches ?? []),\n ...routerState().matches,\n ...routerState().cachedMatches,\n ]\n return matches.find(\n (d) => d.routeId === activeId() || d.id === activeId(),\n )\n })\n\n const hasSearch = createMemo(\n () => Object.keys(routerState().location.search).length,\n )\n\n const explorerState = createMemo(() => {\n return {\n ...router(),\n state: routerState(),\n }\n })\n\n const routerExplorerValue = createMemo(() =>\n Object.fromEntries(\n multiSortBy(\n Object.keys(explorerState()),\n (\n [\n 'state',\n 'routesById',\n 'routesByPath',\n 'flatRoutes',\n 'options',\n 'manifest',\n ] as const\n ).map((d) => (dd) => dd !== d),\n )\n .map((key) => [key, (explorerState() as any)[key]])\n .filter(\n (d) =>\n typeof d[1] !== 'function' &&\n ![\n '__store',\n 'basepath',\n 'injectedHtml',\n 'subscribers',\n 'latestLoadPromise',\n 'navigateTimeout',\n 'resetNextScroll',\n 'tempLocationKey',\n 'latestLocation',\n 'routeTree',\n 'history',\n ].includes(d[0]),\n ),\n ),\n )\n const activeMatchLoaderData = createMemo(() => activeMatch()?.loaderData)\n const activeMatchValue = createMemo(() => activeMatch())\n const locationSearchValue = createMemo(() => routerState().location.search)\n\n return (\n <div\n class={cx(\n styles().devtoolsPanel,\n 'TanStackRouterDevtoolsPanel',\n className ? className() : '',\n )}\n style={style ? style() : ''}\n {...otherPanelProps}\n >\n {handleDragStart ? (\n <div class={styles().dragHandle} onMouseDown={handleDragStart}></div>\n ) : null}\n <button\n class={styles().panelCloseBtn}\n onClick={(e: any) => {\n if (setIsOpen) {\n setIsOpen(false)\n }\n onCloseClick(e)\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"10\"\n height=\"6\"\n fill=\"none\"\n viewBox=\"0 0 10 6\"\n class={styles().panelCloseBtnIcon}\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.667\"\n d=\"M1 1l4 4 4-4\"\n ></path>\n </svg>\n </button>\n <div class={styles().firstContainer}>\n <div class={styles().row}>\n <Logo\n aria-hidden\n onClick={(e: any) => {\n if (setIsOpen) {\n setIsOpen(false)\n }\n onCloseClick(e)\n }}\n />\n </div>\n <div class={styles().routerExplorerContainer}>\n <div class={styles().routerExplorer}>\n <Explorer\n label=\"Router\"\n value={routerExplorerValue}\n defaultExpanded={{\n state: {} as any,\n context: {} as any,\n options: {} as any,\n }}\n filterSubEntries={(subEntries) => {\n return subEntries.filter(\n (d: any) => typeof d.value() !== 'function',\n )\n }}\n />\n </div>\n </div>\n </div>\n <div class={styles().secondContainer}>\n <div class={styles().matchesContainer}>\n <div class={styles().detailsHeader}>\n <span>Pathname</span>\n {routerState().location.maskedLocation ? (\n <div class={styles().maskedBadgeContainer}>\n <span class={styles().maskedBadge}>masked</span>\n </div>\n ) : null}\n </div>\n <div class={styles().detailsContent}>\n <code>{routerState().location.pathname}</code>\n {routerState().location.maskedLocation ? (\n <code class={styles().maskedLocation}>\n {routerState().location.maskedLocation?.pathname}\n </code>\n ) : null}\n </div>\n <div class={styles().detailsHeader}>\n <div class={styles().routeMatchesToggle}>\n <button\n type=\"button\"\n onClick={() => {\n setShowMatches(false)\n }}\n disabled={!showMatches()}\n class={cx(\n styles().routeMatchesToggleBtn(!showMatches(), true),\n )}\n >\n Routes\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setShowMatches(true)\n }}\n disabled={showMatches()}\n class={cx(\n styles().routeMatchesToggleBtn(!!showMatches(), false),\n )}\n >\n Matches\n </button>\n </div>\n <div class={styles().detailsHeaderInfo}>\n <div>age / staleTime / gcTime</div>\n </div>\n </div>\n <div class={cx(styles().routesContainer)}>\n {!showMatches() ? (\n <RouteComp\n routerState={routerState}\n router={router}\n route={router().routeTree}\n isRoot\n activeId={activeId}\n setActiveId={setActiveId}\n />\n ) : (\n <div>\n {(routerState().pendingMatches?.length\n ? routerState().pendingMatches\n : routerState().matches\n )?.map((match: any, _i: any) => {\n return (\n <div\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveId(activeId() === match.id ? '' : match.id)\n }\n class={cx(styles().matchRow(match === activeMatch()))}\n >\n <div\n class={cx(\n styles().matchIndicator(getStatusColor(match)),\n )}\n />\n <NavigateLink\n left={\n <NavigateButton\n to={match.pathname}\n params={match.params}\n search={match.search}\n router={router}\n />\n }\n right={<AgeTicker match={match} router={router} />}\n >\n <code class={styles().matchID}>\n {`${match.routeId === rootRouteId ? rootRouteId : match.pathname}`}\n </code>\n </NavigateLink>\n </div>\n )\n })}\n </div>\n )}\n </div>\n </div>\n {routerState().cachedMatches.length ? (\n <div class={styles().cachedMatchesContainer}>\n <div class={styles().detailsHeader}>\n <div>Cached Matches</div>\n <div class={styles().detailsHeaderInfo}>\n age / staleTime / gcTime\n </div>\n </div>\n <div>\n {routerState().cachedMatches.map((match: any) => {\n return (\n <div\n role=\"button\"\n aria-label={`Open match details for ${match.id}`}\n onClick={() =>\n setActiveId(activeId() === match.id ? '' : match.id)\n }\n class={cx(styles().matchRow(match === activeMatch()))}\n >\n <div\n class={cx(\n styles().matchIndicator(getStatusColor(match)),\n )}\n />\n <NavigateLink\n left={\n <NavigateButton\n to={match.pathname}\n params={match.params}\n search={match.search}\n router={router}\n />\n }\n right={<AgeTicker match={match} router={router} />}\n >\n <code class={styles().matchID}>{`${match.id}`}</code>\n </NavigateLink>\n </div>\n )\n })}\n </div>\n </div>\n ) : null}\n </div>\n {activeMatch() && activeMatch()?.status ? (\n <div class={styles().thirdContainer}>\n <div class={styles().detailsHeader}>Match Details</div>\n <div>\n <div class={styles().matchDetails}>\n <div\n class={styles().matchStatus(\n activeMatch()?.status,\n activeMatch()?.isFetching,\n )}\n >\n <div>\n {activeMatch()?.status === 'success' &&\n activeMatch()?.isFetching\n ? 'fetching'\n : activeMatch()?.status}\n </div>\n </div>\n <div class={styles().matchDetailsInfoLabel}>\n <div>ID:</div>\n <div class={styles().matchDetailsInfo}>\n <code>{activeMatch()?.id}</code>\n </div>\n </div>\n <div class={styles().matchDetailsInfoLabel}>\n <div>State:</div>\n <div class={styles().matchDetailsInfo}>\n {routerState().pendingMatches?.find(\n (d: any) => d.id === activeMatch()?.id,\n )\n ? 'Pending'\n : routerState().matches.find(\n (d: any) => d.id === activeMatch()?.id,\n )\n ? 'Active'\n : 'Cached'}\n </div>\n </div>\n <div class={styles().matchDetailsInfoLabel}>\n <div>Last Updated:</div>\n <div class={styles().matchDetailsInfo}>\n {activeMatch()?.updatedAt\n ? new Date(activeMatch()?.updatedAt).toLocaleTimeString()\n : 'N/A'}\n </div>\n </div>\n </div>\n </div>\n {activeMatchLoaderData() ? (\n <>\n <div class={styles().detailsHeader}>Loader Data</div>\n <div class={styles().detailsContent}>\n <Explorer\n label=\"loaderData\"\n value={activeMatchLoaderData}\n defaultExpanded={{}}\n />\n </div>\n </>\n ) : null}\n <div class={styles().detailsHeader}>Explorer</div>\n <div class={styles().detailsContent}>\n <Explorer\n label=\"Match\"\n value={activeMatchValue}\n defaultExpanded={{}}\n />\n </div>\n </div>\n ) : null}\n {hasSearch() ? (\n <div class={styles().fourthContainer}>\n <div class={styles().detailsHeader}>\n <span>Search Params</span>\n {typeof navigator !== 'undefined' ? (\n <span style=\"margin-left: 0.5rem;\">\n <CopyButton\n getValue={() => {\n const search = routerState().location.search\n return JSON.stringify(search)\n }}\n />\n </span>\n ) : null}\n </div>\n <div class={styles().detailsContent}>\n <Explorer\n value={locationSearchValue}\n defaultExpanded={Object.keys(\n routerState().location.search,\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n </div>\n </div>\n ) : null}\n </div>\n )\n }\n\nfunction CopyButton({ getValue }: { getValue: () => string }) {\n const [copied, setCopied] = createSignal(false)\n\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const handleCopy = async () => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof navigator === 'undefined' || !navigator.clipboard?.writeText) {\n console.warn('TanStack Router Devtools: Clipboard API unavailable')\n return\n }\n try {\n const value = getValue()\n await navigator.clipboard.writeText(value)\n setCopied(true)\n if (timeoutId) clearTimeout(timeoutId)\n timeoutId = setTimeout(() => setCopied(false), 2500)\n } catch (e) {\n console.error('TanStack Router Devtools: Failed to copy', e)\n }\n }\n\n onCleanup(() => {\n if (timeoutId) clearTimeout(timeoutId)\n })\n\n return (\n <button\n type=\"button\"\n style=\"cursor: pointer;\"\n onClick={handleCopy}\n aria-label=\"Copy value to clipboard\"\n title={copied() ? 'Copied!' : 'Copy'}\n >\n {copied() ? '✅' : '📋'}\n </button>\n )\n}\n\nexport default BaseTanStackRouterDevtoolsPanel\n"],"names":["Logo","props","className","rest","styles","useStyles","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_$spread","_$mergeProps","cx","logo","_$effect","_p$","_v$","tanstackLogo","_v$2","routerLogo","e","_$className","t","undefined","NavigateLink","_el$4","_tmpl$2","_el$5","style","setProperty","_$insert","left","children","right","class","RouteComp","routerState","router","route","isRoot","activeId","setActiveId","matches","createMemo","pendingMatches","match","find","d","routeId","id","param","params","p","r","path","trimPath","startsWith","trimmed","slice","error","navigationTarget","allParams","Object","assign","map","m","interpolated","interpolatePath","fullPath","leaveWildcards","leaveParams","decodeCharMap","pathParamsDecodeCharMap","isMissingParams","interpolatedPath","_el$6","_tmpl$5","_el$7","_el$8","$$click","_$createComponent","routesRow","Show","when","navigate","NavigateButton","to","AgeTicker","_el$9","_tmpl$3","_el$0","rootRouteId","code","_el$1","_tmpl$4","routeParamInfo","_c$","_$memo","length","_el$10","_tmpl$6","sort","a","b","rank","nestedRouteRow","_v$3","_v$4","routesRowContainer","_v$5","matchIndicator","getRouteStatusColor","_$setAttribute","BaseTanStackRouterDevtoolsPanel","isOpen","setIsOpen","handleDragStart","shadowDOMTarget","panelProps","onCloseClick","useDevtoolsOnClose","otherPanelProps","invariant","showMatches","setShowMatches","useLocalStorage","activeMatch","cachedMatches","hasSearch","keys","location","search","explorerState","state","routerExplorerValue","fromEntries","multiSortBy","dd","key","filter","includes","activeMatchLoaderData","loaderData","activeMatchValue","locationSearchValue","_el$11","_tmpl$7","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$22","_el$23","_el$24","_el$25","_el$26","_el$27","_el$28","_el$29","devtoolsPanel","_el$30","_$addEventListener","dragHandle","onClick","Explorer","label","value","defaultExpanded","context","options","filterSubEntries","subEntries","_c$2","maskedLocation","_el$31","_tmpl$8","_el$32","_v$22","maskedBadgeContainer","_v$23","maskedBadge","pathname","_c$3","_el$33","_c$4","routeTree","_el$34","_i","_el$35","_tmpl$9","_el$36","_el$37","matchID","_v$24","_v$25","matchRow","_v$26","getStatusColor","_c$5","_el$38","_tmpl$0","_el$39","_el$40","_el$41","_el$42","_el$43","_el$44","_el$45","_v$30","_v$31","_v$32","_v$27","cachedMatchesContainer","_v$28","detailsHeader","_v$29","detailsHeaderInfo","_c$6","status","_el$46","_tmpl$1","_el$47","_el$48","_el$49","_el$50","_el$51","_el$52","_el$53","_el$54","_el$55","_el$56","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$63","_c$8","isFetching","_c$9","_c$0","updatedAt","Date","toLocaleTimeString","_c$1","_el$64","_tmpl$10","_el$65","detailsContent","_v$33","thirdContainer","_v$34","_v$35","matchDetails","_v$36","matchStatus","_v$37","matchDetailsInfoLabel","_v$38","matchDetailsInfo","_v$39","_v$40","_v$41","_v$42","_v$43","_v$44","o","i","n","s","h","l","u","_c$7","_el$66","_tmpl$11","_el$67","_el$69","navigator","_el$70","_tmpl$12","CopyButton","getValue","JSON","stringify","reduce","obj","next","_v$45","fourthContainer","_v$46","_v$47","_v$6","panelCloseBtn","_v$7","panelCloseBtnIcon","_v$8","firstContainer","_v$9","row","_v$0","routerExplorerContainer","_v$1","routerExplorer","_v$10","secondContainer","_v$11","matchesContainer","_v$12","_v$13","_v$14","_v$15","routeMatchesToggle","_v$16","_v$17","routeMatchesToggleBtn","_v$18","_v$19","_v$20","_v$21","routesContainer","c","disabled","w","f","y","g","copied","setCopied","createSignal","timeoutId","handleCopy","clipboard","writeText","console","warn","setTimeout","onCleanup","_el$71","_tmpl$13","_$delegateEvents"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
3
+ const web = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs");
4
4
  const clsx = require("clsx");
5
5
  const goober = require("goober");
6
- const solidJs = require("solid-js");
6
+ const solid = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs");
7
7
  const tokens = require("./tokens.cjs");
8
8
  const utils = require("./utils.cjs");
9
9
  const context = require("./context.cjs");
@@ -32,7 +32,7 @@ const Expander = ({
32
32
  const styles = useStyles();
33
33
  return (() => {
34
34
  var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
35
- web.effect((_p$) => {
35
+ solid.createRenderEffect((_p$) => {
36
36
  var _v$ = styles().expander, _v$2 = clsx.clsx(styles().expanderIcon(expanded));
37
37
  _v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
38
38
  _v$2 !== _p$.t && web.setAttribute(_el$2, "class", _p$.t = _v$2);
@@ -64,10 +64,10 @@ function Explorer({
64
64
  filterSubEntries,
65
65
  ...rest
66
66
  }) {
67
- const [expanded, setExpanded] = solidJs.createSignal(Boolean(defaultExpanded));
67
+ const [expanded, setExpanded] = solid.createSignal(Boolean(defaultExpanded));
68
68
  const toggleExpanded = () => setExpanded((old) => !old);
69
- const type = solidJs.createMemo(() => typeof value());
70
- const subEntries = solidJs.createMemo(() => {
69
+ const type = solid.createMemo(() => typeof value());
70
+ const subEntries = solid.createMemo(() => {
71
71
  let entries = [];
72
72
  const makeProperty = (sub) => {
73
73
  const subDefaultExpanded = defaultExpanded === true ? {
@@ -97,25 +97,25 @@ function Explorer({
97
97
  }
98
98
  return filterSubEntries ? filterSubEntries(entries) : entries;
99
99
  });
100
- const subEntryPages = solidJs.createMemo(() => chunkArray(subEntries(), pageSize));
101
- const [expandedPages, setExpandedPages] = solidJs.createSignal([]);
102
- const [valueSnapshot, setValueSnapshot] = solidJs.createSignal(void 0);
100
+ const subEntryPages = solid.createMemo(() => chunkArray(subEntries(), pageSize));
101
+ const [expandedPages, setExpandedPages] = solid.createSignal([]);
102
+ const [valueSnapshot, setValueSnapshot] = solid.createSignal(void 0);
103
103
  const styles = useStyles();
104
104
  const refreshValueSnapshot = () => {
105
105
  setValueSnapshot(value()());
106
106
  };
107
- const handleEntry = (entry) => web.createComponent(Explorer, web.mergeProps({
107
+ const handleEntry = (entry) => solid.createComponent(Explorer, solid.mergeProps({
108
108
  value,
109
109
  filterSubEntries
110
110
  }, rest, entry));
111
111
  return (() => {
112
112
  var _el$3 = _tmpl$2();
113
113
  web.insert(_el$3, (() => {
114
- var _c$ = web.memo(() => !!subEntryPages().length);
114
+ var _c$ = solid.createMemo(() => !!subEntryPages().length);
115
115
  return () => _c$() ? [(() => {
116
116
  var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild;
117
117
  _el$4.$$click = () => toggleExpanded();
118
- web.insert(_el$4, web.createComponent(Expander, {
118
+ web.insert(_el$4, solid.createComponent(Expander, {
119
119
  get expanded() {
120
120
  return expanded() ?? false;
121
121
  }
@@ -124,7 +124,7 @@ function Explorer({
124
124
  web.insert(_el$5, () => String(type).toLowerCase() === "iterable" ? "(Iterable) " : "", _el$6);
125
125
  web.insert(_el$5, () => subEntries().length, _el$6);
126
126
  web.insert(_el$5, () => subEntries().length > 1 ? `items` : `item`, null);
127
- web.effect((_p$) => {
127
+ solid.createRenderEffect((_p$) => {
128
128
  var _v$3 = styles().expandButton, _v$4 = styles().info;
129
129
  _v$3 !== _p$.e && web.className(_el$4, _p$.e = _v$3);
130
130
  _v$4 !== _p$.t && web.className(_el$5, _p$.t = _v$4);
@@ -134,10 +134,10 @@ function Explorer({
134
134
  t: void 0
135
135
  });
136
136
  return _el$4;
137
- })(), web.memo(() => web.memo(() => !!(expanded() ?? false))() ? web.memo(() => subEntryPages().length === 1)() ? (() => {
137
+ })(), solid.createMemo(() => solid.createMemo(() => !!(expanded() ?? false))() ? solid.createMemo(() => subEntryPages().length === 1)() ? (() => {
138
138
  var _el$7 = _tmpl$2();
139
139
  web.insert(_el$7, () => subEntries().map((entry, index) => handleEntry(entry)));
140
- web.effect(() => web.className(_el$7, styles().subEntries));
140
+ solid.createRenderEffect(() => web.className(_el$7, styles().subEntries));
141
141
  return _el$7;
142
142
  })() : (() => {
143
143
  var _el$8 = _tmpl$2();
@@ -146,7 +146,7 @@ function Explorer({
146
146
  var _el$9 = _tmpl$4(), _el$0 = _el$9.firstChild, _el$1 = _el$0.firstChild, _el$10 = _el$1.firstChild, _el$15 = _el$10.nextSibling, _el$12 = _el$15.nextSibling, _el$16 = _el$12.nextSibling;
147
147
  _el$16.nextSibling;
148
148
  _el$1.$$click = () => setExpandedPages((old) => old.includes(index) ? old.filter((d) => d !== index) : [...old, index]);
149
- web.insert(_el$1, web.createComponent(Expander, {
149
+ web.insert(_el$1, solid.createComponent(Expander, {
150
150
  get expanded() {
151
151
  return expandedPages().includes(index);
152
152
  }
@@ -154,15 +154,15 @@ function Explorer({
154
154
  web.insert(_el$1, index * pageSize, _el$15);
155
155
  web.insert(_el$1, index * pageSize + pageSize - 1, _el$16);
156
156
  web.insert(_el$0, (() => {
157
- var _c$3 = web.memo(() => !!expandedPages().includes(index));
157
+ var _c$3 = solid.createMemo(() => !!expandedPages().includes(index));
158
158
  return () => _c$3() ? (() => {
159
159
  var _el$17 = _tmpl$2();
160
160
  web.insert(_el$17, () => entries.map((entry) => handleEntry(entry)));
161
- web.effect(() => web.className(_el$17, styles().subEntries));
161
+ solid.createRenderEffect(() => web.className(_el$17, styles().subEntries));
162
162
  return _el$17;
163
163
  })() : null;
164
164
  })(), null);
165
- web.effect((_p$) => {
165
+ solid.createRenderEffect((_p$) => {
166
166
  var _v$5 = styles().entry, _v$6 = clsx.clsx(styles().labelButton, "labelButton");
167
167
  _v$5 !== _p$.e && web.className(_el$0, _p$.e = _v$5);
168
168
  _v$6 !== _p$.t && web.className(_el$1, _p$.t = _v$6);
@@ -174,17 +174,17 @@ function Explorer({
174
174
  return _el$9;
175
175
  })();
176
176
  }));
177
- web.effect(() => web.className(_el$8, styles().subEntries));
177
+ solid.createRenderEffect(() => web.className(_el$8, styles().subEntries));
178
178
  return _el$8;
179
179
  })() : null)] : (() => {
180
- var _c$2 = web.memo(() => type() === "function");
181
- return () => _c$2() ? web.createComponent(Explorer, {
180
+ var _c$2 = solid.createMemo(() => type() === "function");
181
+ return () => _c$2() ? solid.createComponent(Explorer, {
182
182
  get label() {
183
183
  return (() => {
184
184
  var _el$18 = _tmpl$5(), _el$19 = _el$18.firstChild;
185
185
  _el$18.$$click = refreshValueSnapshot;
186
186
  web.insert(_el$19, () => rest.label);
187
- web.effect(() => web.className(_el$18, styles().refreshValueBtn));
187
+ solid.createRenderEffect(() => web.className(_el$18, styles().refreshValueBtn));
188
188
  return _el$18;
189
189
  })();
190
190
  },
@@ -197,12 +197,12 @@ function Explorer({
197
197
  })(), " ", (() => {
198
198
  var _el$22 = _tmpl$7();
199
199
  web.insert(_el$22, () => utils.displayValue(value()));
200
- web.effect(() => web.className(_el$22, styles().value));
200
+ solid.createRenderEffect(() => web.className(_el$22, styles().value));
201
201
  return _el$22;
202
202
  })()];
203
203
  })();
204
204
  })());
205
- web.effect(() => web.className(_el$3, styles().entry));
205
+ solid.createRenderEffect(() => web.className(_el$3, styles().entry));
206
206
  return _el$3;
207
207
  })();
208
208
  }
@@ -296,8 +296,8 @@ const stylesFactory = (shadowDOMTarget) => {
296
296
  };
297
297
  };
298
298
  function useStyles() {
299
- const shadowDomTarget = solidJs.useContext(context.ShadowDomTargetContext);
300
- const [_styles] = solidJs.createSignal(stylesFactory(shadowDomTarget));
299
+ const shadowDomTarget = solid.useContext(context.ShadowDomTargetContext);
300
+ const [_styles] = solid.createSignal(stylesFactory(shadowDomTarget));
301
301
  return _styles;
302
302
  }
303
303
  web.delegateEvents(["click"]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Explorer.cjs","sources":["../../../../../src/Explorer.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport { clsx as cx } from 'clsx'\nimport * as goober from 'goober'\nimport { createMemo, createSignal, useContext } from 'solid-js'\nimport { tokens } from './tokens'\nimport { displayValue } from './utils'\nimport { ShadowDomTargetContext } from './context'\nimport type { Accessor, JSX } from 'solid-js'\n\ntype ExpanderProps = {\n expanded: boolean\n style?: JSX.CSSProperties\n}\n\nexport const Expander = ({ expanded, style = {} }: ExpanderProps) => {\n const styles = useStyles()\n return (\n <span class={styles().expander}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n class={cx(styles().expanderIcon(expanded))}\n >\n <path\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 18l6-6-6-6\"\n ></path>\n </svg>\n </span>\n )\n}\n\ntype Entry = {\n label: string\n}\n\ntype RendererProps = {\n handleEntry: HandleEntryFn\n label?: JSX.Element\n value: Accessor<unknown>\n subEntries: Array<Entry>\n subEntryPages: Array<Array<Entry>>\n type: string\n expanded: Accessor<boolean>\n toggleExpanded: () => void\n pageSize: number\n filterSubEntries?: (subEntries: Array<Property>) => Array<Property>\n}\n\n/**\n * Chunk elements in the array by size\n *\n * when the array cannot be chunked evenly by size, the last chunk will be\n * filled with the remaining elements\n *\n * @example\n * chunkArray(['a','b', 'c', 'd', 'e'], 2) // returns [['a','b'], ['c', 'd'], ['e']]\n */\nexport function chunkArray<T>(array: Array<T>, size: number): Array<Array<T>> {\n if (size < 1) return []\n let i = 0\n const result: Array<Array<T>> = []\n while (i < array.length) {\n result.push(array.slice(i, i + size))\n i = i + size\n }\n return result\n}\n\ntype HandleEntryFn = (entry: Entry) => JSX.Element\n\ntype ExplorerProps = Partial<RendererProps> & {\n defaultExpanded?: true | Record<string, boolean>\n value: Accessor<unknown>\n}\n\ntype Property = {\n defaultExpanded?: boolean | Record<string, boolean>\n label: string\n value: unknown\n}\n\nfunction isIterable(x: any): x is Iterable<unknown> {\n return Symbol.iterator in x\n}\n\nexport function Explorer({\n value,\n defaultExpanded,\n pageSize = 100,\n filterSubEntries,\n ...rest\n}: ExplorerProps) {\n const [expanded, setExpanded] = createSignal(Boolean(defaultExpanded))\n const toggleExpanded = () => setExpanded((old) => !old)\n\n const type = createMemo(() => typeof value())\n const subEntries = createMemo(() => {\n let entries: Array<Property> = []\n\n const makeProperty = (sub: { label: string; value: unknown }): Property => {\n const subDefaultExpanded =\n defaultExpanded === true\n ? { [sub.label]: true }\n : defaultExpanded?.[sub.label]\n return {\n ...sub,\n value: () => sub.value,\n defaultExpanded: subDefaultExpanded,\n }\n }\n\n if (Array.isArray(value())) {\n // any[]\n entries = (value() as Array<any>).map((d, i) =>\n makeProperty({\n label: i.toString(),\n value: d,\n }),\n )\n } else if (\n value() !== null &&\n typeof value() === 'object' &&\n isIterable(value()) &&\n typeof (value() as Iterable<unknown>)[Symbol.iterator] === 'function'\n ) {\n // Iterable<unknown>\n entries = Array.from(value() as Iterable<unknown>, (val, i) =>\n makeProperty({\n label: i.toString(),\n value: val,\n }),\n )\n } else if (typeof value() === 'object' && value() !== null) {\n // object\n entries = Object.entries(value() as object).map(([key, val]) =>\n makeProperty({\n label: key,\n value: val,\n }),\n )\n }\n\n return filterSubEntries ? filterSubEntries(entries) : entries\n })\n\n const subEntryPages = createMemo(() => chunkArray(subEntries(), pageSize))\n\n const [expandedPages, setExpandedPages] = createSignal<Array<number>>([])\n const [valueSnapshot, setValueSnapshot] = createSignal(undefined)\n const styles = useStyles()\n\n const refreshValueSnapshot = () => {\n setValueSnapshot((value() as () => any)())\n }\n\n const handleEntry = (entry: Entry) => (\n <Explorer\n value={value}\n filterSubEntries={filterSubEntries}\n {...rest}\n {...entry}\n />\n )\n\n return (\n <div class={styles().entry}>\n {subEntryPages().length ? (\n <>\n <button\n class={styles().expandButton}\n onClick={() => toggleExpanded()}\n >\n <Expander expanded={expanded() ?? false} />\n {rest.label}\n <span class={styles().info}>\n {String(type).toLowerCase() === 'iterable' ? '(Iterable) ' : ''}\n {subEntries().length} {subEntries().length > 1 ? `items` : `item`}\n </span>\n </button>\n {(expanded() ?? false) ? (\n subEntryPages().length === 1 ? (\n <div class={styles().subEntries}>\n {subEntries().map((entry, index) => handleEntry(entry))}\n </div>\n ) : (\n <div class={styles().subEntries}>\n {subEntryPages().map((entries, index) => {\n return (\n <div>\n <div class={styles().entry}>\n <button\n class={cx(styles().labelButton, 'labelButton')}\n onClick={() =>\n setExpandedPages((old) =>\n old.includes(index)\n ? old.filter((d) => d !== index)\n : [...old, index],\n )\n }\n >\n <Expander\n expanded={expandedPages().includes(index)}\n />{' '}\n [{index * pageSize} ...{' '}\n {index * pageSize + pageSize - 1}]\n </button>\n {expandedPages().includes(index) ? (\n <div class={styles().subEntries}>\n {entries.map((entry) => handleEntry(entry))}\n </div>\n ) : null}\n </div>\n </div>\n )\n })}\n </div>\n )\n ) : null}\n </>\n ) : type() === 'function' ? (\n <>\n <Explorer\n label={\n <button\n onClick={refreshValueSnapshot}\n class={styles().refreshValueBtn}\n >\n <span>{rest.label}</span> 🔄{' '}\n </button>\n }\n value={valueSnapshot}\n defaultExpanded={{}}\n />\n </>\n ) : (\n <>\n <span>{rest.label}:</span>{' '}\n <span class={styles().value}>{displayValue(value())}</span>\n </>\n )}\n </div>\n )\n}\n\nconst stylesFactory = (shadowDOMTarget?: ShadowRoot) => {\n const { colors, font, size, alpha, shadow, border } = tokens\n const { fontFamily, lineHeight, size: fontSize } = font\n const css = shadowDOMTarget\n ? goober.css.bind({ target: shadowDOMTarget })\n : goober.css\n\n return {\n entry: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n line-height: ${lineHeight.sm};\n outline: none;\n word-break: break-word;\n `,\n labelButton: css`\n cursor: pointer;\n color: inherit;\n font: inherit;\n outline: inherit;\n background: transparent;\n border: none;\n padding: 0;\n `,\n expander: css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${size[3]};\n height: ${size[3]};\n padding-left: 3px;\n box-sizing: content-box;\n `,\n expanderIcon: (expanded: boolean) => {\n if (expanded) {\n return css`\n transform: rotate(90deg);\n transition: transform 0.1s ease;\n `\n }\n return css`\n transform: rotate(0deg);\n transition: transform 0.1s ease;\n `\n },\n expandButton: css`\n display: flex;\n gap: ${size[1]};\n align-items: center;\n cursor: pointer;\n color: inherit;\n font: inherit;\n outline: inherit;\n background: transparent;\n border: none;\n padding: 0;\n `,\n value: css`\n color: ${colors.purple[400]};\n `,\n subEntries: css`\n margin-left: ${size[2]};\n padding-left: ${size[2]};\n border-left: 2px solid ${colors.darkGray[400]};\n `,\n info: css`\n color: ${colors.gray[500]};\n font-size: ${fontSize['2xs']};\n padding-left: ${size[1]};\n `,\n refreshValueBtn: css`\n appearance: none;\n border: 0;\n cursor: pointer;\n background: transparent;\n color: inherit;\n padding: 0;\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n `,\n }\n}\n\nfunction useStyles() {\n const shadowDomTarget = useContext(ShadowDomTargetContext)\n const [_styles] = createSignal(stylesFactory(shadowDomTarget))\n return _styles\n}\n"],"names":["Expander","expanded","style","styles","useStyles","_el$","_tmpl$","_el$2","firstChild","_$effect","_p$","_v$","expander","_v$2","cx","expanderIcon","e","_$className","t","_$setAttribute","undefined","chunkArray","array","size","i","result","length","push","slice","isIterable","x","Symbol","iterator","Explorer","value","defaultExpanded","pageSize","filterSubEntries","rest","setExpanded","createSignal","Boolean","toggleExpanded","old","type","createMemo","subEntries","entries","makeProperty","sub","subDefaultExpanded","label","Array","isArray","map","d","toString","from","val","Object","key","subEntryPages","expandedPages","setExpandedPages","valueSnapshot","setValueSnapshot","refreshValueSnapshot","handleEntry","entry","_$createComponent","_$mergeProps","_el$3","_tmpl$2","_$insert","_c$","_$memo","_el$4","_tmpl$3","_el$5","_el$6","$$click","String","toLowerCase","_v$3","expandButton","_v$4","info","_el$7","index","_el$8","_el$9","_tmpl$4","_el$0","_el$1","_el$10","_el$15","nextSibling","_el$12","_el$16","includes","filter","_c$3","_el$17","_v$5","_v$6","labelButton","_c$2","_el$18","_tmpl$5","_el$19","refreshValueBtn","_el$20","_tmpl$6","_el$21","_el$22","_tmpl$7","displayValue","stylesFactory","shadowDOMTarget","colors","font","tokens","fontFamily","lineHeight","fontSize","css","goober","bind","target","mono","xs","sm","purple","darkGray","gray","shadowDomTarget","useContext","ShadowDomTargetContext","_styles","_$delegateEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,WAAWA,CAAC;AAAA,EAAEC;AAAAA,EAAUC,QAAQ,CAAA;AAAkB,MAAM;AACnE,QAAMC,SAASC,UAAAA;AACf,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA,GAAAC,QAAAF,KAAAG;AAAAC,UAAAA,mBAAAC,CAAAA,QAAA;AAAA,UAAAC,MACeR,OAAAA,EAASS,UAAQC,OAOnBC,KAAAA,KAAGX,OAAAA,EAASY,aAAad,QAAQ,CAAC;AAACU,cAAAD,IAAAM,KAAAC,IAAAA,UAAAZ,MAAAK,IAAAM,IAAAL,GAAA;AAAAE,eAAAH,IAAAQ,KAAAC,IAAAA,aAAAZ,OAAA,SAAAG,IAAAQ,IAAAL,IAAA;AAAA,aAAAH;AAAAA,IAAA,GAAA;AAAA,MAAAM,GAAAI;AAAAA,MAAAF,GAAAE;AAAAA,IAAAA,CAAA;AAAA,WAAAf;AAAAA,EAAA,GAAA;AAYlD;AA4BO,SAASgB,WAAcC,OAAiBC,MAA+B;AAC5E,MAAIA,OAAO,EAAG,QAAO,CAAA;AACrB,MAAIC,IAAI;AACR,QAAMC,SAA0B,CAAA;AAChC,SAAOD,IAAIF,MAAMI,QAAQ;AACvBD,WAAOE,KAAKL,MAAMM,MAAMJ,GAAGA,IAAID,IAAI,CAAC;AACpCC,QAAIA,IAAID;AAAAA,EACV;AACA,SAAOE;AACT;AAeA,SAASI,WAAWC,GAAgC;AAClD,SAAOC,OAAOC,YAAYF;AAC5B;AAEO,SAASG,SAAS;AAAA,EACvBC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC;AAAAA,EACA,GAAGC;AACU,GAAG;AAChB,QAAM,CAACrC,UAAUsC,WAAW,IAAIC,MAAAA,aAAaC,QAAQN,eAAe,CAAC;AACrE,QAAMO,iBAAiBA,MAAMH,YAAaI,CAAAA,QAAQ,CAACA,GAAG;AAEtD,QAAMC,OAAOC,MAAAA,WAAW,MAAM,OAAOX,OAAO;AAC5C,QAAMY,aAAaD,MAAAA,WAAW,MAAM;AAClC,QAAIE,UAA2B,CAAA;AAE/B,UAAMC,eAAeA,CAACC,QAAqD;AACzE,YAAMC,qBACJf,oBAAoB,OAChB;AAAA,QAAE,CAACc,IAAIE,KAAK,GAAG;AAAA,MAAA,IACfhB,kBAAkBc,IAAIE,KAAK;AACjC,aAAO;AAAA,QACL,GAAGF;AAAAA,QACHf,OAAOA,MAAMe,IAAIf;AAAAA,QACjBC,iBAAiBe;AAAAA,MAAAA;AAAAA,IAErB;AAEA,QAAIE,MAAMC,QAAQnB,MAAAA,CAAO,GAAG;AAE1Ba,gBAAWb,QAAuBoB,IAAI,CAACC,GAAG/B,MACxCwB,aAAa;AAAA,QACXG,OAAO3B,EAAEgC,SAAAA;AAAAA,QACTtB,OAAOqB;AAAAA,MAAAA,CACR,CACH;AAAA,IACF,WACErB,MAAAA,MAAY,QACZ,OAAOA,MAAAA,MAAY,YACnBL,WAAWK,MAAAA,CAAO,KAClB,OAAQA,MAAAA,EAA8BH,OAAOC,QAAQ,MAAM,YAC3D;AAEAe,gBAAUK,MAAMK,KAAKvB,MAAAA,GAA8B,CAACwB,KAAKlC,MACvDwB,aAAa;AAAA,QACXG,OAAO3B,EAAEgC,SAAAA;AAAAA,QACTtB,OAAOwB;AAAAA,MAAAA,CACR,CACH;AAAA,IACF,WAAW,OAAOxB,MAAAA,MAAY,YAAYA,MAAAA,MAAY,MAAM;AAE1Da,gBAAUY,OAAOZ,QAAQb,OAAiB,EAAEoB,IAAI,CAAC,CAACM,KAAKF,GAAG,MACxDV,aAAa;AAAA,QACXG,OAAOS;AAAAA,QACP1B,OAAOwB;AAAAA,MAAAA,CACR,CACH;AAAA,IACF;AAEA,WAAOrB,mBAAmBA,iBAAiBU,OAAO,IAAIA;AAAAA,EACxD,CAAC;AAED,QAAMc,gBAAgBhB,MAAAA,WAAW,MAAMxB,WAAWyB,WAAAA,GAAcV,QAAQ,CAAC;AAEzE,QAAM,CAAC0B,eAAeC,gBAAgB,IAAIvB,MAAAA,aAA4B,CAAA,CAAE;AACxE,QAAM,CAACwB,eAAeC,gBAAgB,IAAIzB,MAAAA,aAAapB,MAAS;AAChE,QAAMjB,SAASC,UAAAA;AAEf,QAAM8D,uBAAuBA,MAAM;AACjCD,qBAAkB/B,MAAAA,GAAuB;AAAA,EAC3C;AAEA,QAAMiC,cAAcA,CAACC,UAAYC,MAAAA,gBAC9BpC,UAAQqC,MAAAA,WAAA;AAAA,IACPpC;AAAAA,IACAG;AAAAA,EAAAA,GACIC,MACA8B,KAAK,CAAA;AAIb,UAAA,MAAA;AAAA,QAAAG,QAAAC,QAAAA;AAAAC,QAAAA,OAAAF,QAAA,MAAA;AAAA,UAAAG,MAAAC,MAAAA,WAAA,MAAA,CAAA,CAEKd,cAAAA,EAAgBnC,MAAM;AAAA,aAAA,MAAtBgD,QAAA,EAAA,MAAA;AAAA,YAAAE,QAAAC,QAAAA,GAAAC,QAAAF,MAAApE,YAAAuE,QAAAD,MAAAtE;AAAAoE,cAAAI,UAIc,MAAMtC,eAAAA;AAAgB+B,mBAAAG,OAAAP,MAAAA,gBAE9BrE,UAAQ;AAAA,UAAA,IAACC,WAAQ;AAAA,mBAAEA,cAAc;AAAA,UAAK;AAAA,QAAA,CAAA,GAAA6E,KAAA;AAAAL,YAAAA,OAAAG,OAAA,MACtCtC,KAAKa,OAAK2B,KAAA;AAAAL,YAAAA,OAAAK,OAAA,MAERG,OAAOrC,IAAI,EAAEsC,kBAAkB,aAAa,gBAAgB,IAAEH,KAAA;AAAAN,YAAAA,OAAAK,OAAA,MAC9DhC,WAAAA,EAAapB,QAAMqD,KAAA;AAAAN,YAAAA,OAAAK,OAAA,MAAGhC,WAAAA,EAAapB,SAAS,IAAI,UAAU,QAAM,IAAA;AAAAjB,cAAAA,mBAAAC,CAAAA,QAAA;AAAA,cAAAyE,OAP5DhF,OAAAA,EAASiF,cAAYC,OAKflF,SAASmF;AAAIH,mBAAAzE,IAAAM,KAAAC,IAAAA,UAAA2D,OAAAlE,IAAAM,IAAAmE,IAAA;AAAAE,mBAAA3E,IAAAQ,KAAAD,IAAAA,UAAA6D,OAAApE,IAAAQ,IAAAmE,IAAA;AAAA,iBAAA3E;AAAAA,QAAA,GAAA;AAAA,UAAAM,GAAAI;AAAAA,UAAAF,GAAAE;AAAAA,QAAAA,CAAA;AAAA,eAAAwD;AAAAA,MAAA,GAAA,GAAAD,MAAAA,WAAA,MAK3BA,MAAAA,oBAAC1E,SAAAA,KAAc,MAAK,EAAA,IACnB0E,MAAAA,iBAAAd,cAAAA,EAAgBnC,WAAW,CAAC,EAAA,KAAA,MAAA;AAAA,YAAA6D,QAAAf,QAAAA;AAAAC,YAAAA,OAAAc,OAAA,MAEvBzC,WAAAA,EAAaQ,IAAI,CAACc,OAAOoB,UAAUrB,YAAYC,KAAK,CAAC,CAAC;AAAA3D,cAAAA,mBAAA,MAAAQ,IAAAA,UAAAsE,OAD7CpF,OAAAA,EAAS2C,UAAU,CAAA;AAAA,eAAAyC;AAAAA,MAAA,GAAA,KAAA,MAAA;AAAA,YAAAE,QAAAjB,QAAAA;AAAAC,YAAAA,OAAAgB,OAAA,MAK5B5B,cAAAA,EAAgBP,IAAI,CAACP,SAASyC,UAAU;AACvC,kBAAA,MAAA;AAAA,gBAAAE,QAAAC,WAAAC,QAAAF,MAAAlF,YAAAqF,QAAAD,MAAApF,YAAAsF,SAAAD,MAAArF,YAAAuF,SAAAD,OAAAE,aAAAC,SAAAF,OAAAC,aAAAE,SAAAD,OAAAD;AAAAE,mBAAAF;AAAAH,kBAAAb,UAKiB,MACPjB,iBAAkBpB,SAChBA,IAAIwD,SAASX,KAAK,IACd7C,IAAIyD,OAAQ7C,CAAAA,MAAMA,MAAMiC,KAAK,IAC7B,CAAC,GAAG7C,KAAK6C,KAAK,CACpB;AAACf,uBAAAoB,OAAAxB,MAAAA,gBAGFrE,UAAQ;AAAA,cAAA,IACPC,WAAQ;AAAA,uBAAE6D,cAAAA,EAAgBqC,SAASX,KAAK;AAAA,cAAC;AAAA,YAAA,CAAA,GAAAM,MAAA;AAAArB,gBAAAA,OAAAoB,OAEzCL,QAAQpD,UAAQ2D,MAAA;AAAAtB,gBAAAA,OAAAoB,OACjBL,QAAQpD,WAAWA,WAAW,GAAC8D,MAAA;AAAAzB,gBAAAA,OAAAmB,QAAA,MAAA;AAAA,kBAAAS,OAAA1B,MAAAA,WAAA,MAAA,CAAA,CAEjCb,gBAAgBqC,SAASX,KAAK,CAAC;AAAA,qBAAA,MAA/Ba,KAAAA,KAAA,MAAA;AAAA,oBAAAC,SAAA9B,QAAAA;AAAAC,2BAAA6B,QAAA,MAEIvD,QAAQO,IAAKc,WAAUD,YAAYC,KAAK,CAAC,CAAC;AAAA3D,sBAAAA,mBAAA,MAAAQ,IAAAA,UAAAqF,QADjCnG,OAAAA,EAAS2C,UAAU,CAAA;AAAA,uBAAAwD;AAAAA,cAAA,OAG7B;AAAA,YAAI,GAAA,GAAA,IAAA;AAAA7F,kBAAAA,mBAAAC,CAAAA,QAAA;AAAA,kBAAA6F,OArBEpG,SAASiE,OAAKoC,OAEf1F,KAAAA,KAAGX,OAAAA,EAASsG,aAAa,aAAa;AAACF,uBAAA7F,IAAAM,KAAAC,IAAAA,UAAA2E,OAAAlF,IAAAM,IAAAuF,IAAA;AAAAC,uBAAA9F,IAAAQ,KAAAD,IAAAA,UAAA4E,OAAAnF,IAAAQ,IAAAsF,IAAA;AAAA,qBAAA9F;AAAAA,YAAA,GAAA;AAAA,cAAAM,GAAAI;AAAAA,cAAAF,GAAAE;AAAAA,YAAAA,CAAA;AAAA,mBAAAsE;AAAAA,UAAA,GAAA;AAAA,QAuBxD,CAAC,CAAC;AAAAjF,cAAAA,mBAAA,MAAAQ,IAAAA,UAAAwE,OA7BQtF,OAAAA,EAAS2C,UAAU,CAAA;AAAA,eAAA2C;AAAAA,MAAA,OAgC/B,IAAI,CAAA,KAAA,MAAA;AAAA,YAAAiB,OAAA/B,MAAAA,WAAA,MAER/B,KAAAA,MAAW,UAAU;AAAA,eAAA,MAArB8D,KAAAA,IAAArC,MAAAA,gBAECpC,UAAQ;AAAA,UAAA,IACPkB,QAAK;AAAA,oBAAA,MAAA;AAAA,kBAAAwD,SAAAC,QAAAA,GAAAC,SAAAF,OAAAnG;AAAAmG,qBAAA3B,UAEQd;AAAoBO,kBAAAA,OAAAoC,QAAA,MAGtBvE,KAAKa,KAAK;AAAA1C,oBAAAA,mBAAA,MAAAQ,IAAAA,UAAA0F,QAFVxG,OAAAA,EAAS2G,eAAe,CAAA;AAAA,qBAAAH;AAAAA,YAAA,GAAA;AAAA,UAAA;AAAA,UAKnCzE,OAAO8B;AAAAA,UACP7B,iBAAiB,CAAA;AAAA,QAAC,CAAC,IAAA,EAAA,MAAA;AAAA,cAAA4E,SAAAC,QAAAA,GAAAC,SAAAF,OAAAvG;AAAAiE,cAAAA,OAAAsC,QAAA,MAKdzE,KAAKa,OAAK8D,MAAA;AAAA,iBAAAF;AAAAA,QAAA,GAAA,GAAU,MAAG,MAAA;AAAA,cAAAG,SAAAC,QAAAA;AAAA1C,cAAAA,OAAAyC,QAAA,MACAE,mBAAalF,MAAAA,CAAO,CAAC;AAAAzB,gBAAAA,mBAAA,MAAAQ,IAAAA,UAAAiG,QAAtC/G,OAAAA,EAAS+B,KAAK,CAAA;AAAA,iBAAAgF;AAAAA,QAAA,IAAA;AAAA,MAE9B,GAAA;AAAA,IAAA,IAAA;AAAAzG,UAAAA,mBAAA,MAAAQ,IAAAA,UAAAsD,OA1ESpE,OAAAA,EAASiE,KAAK,CAAA;AAAA,WAAAG;AAAAA,EAAA,GAAA;AA6E9B;AAEA,MAAM8C,gBAAgBA,CAACC,oBAAiC;AACtD,QAAM;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,IAAMjG;AAAAA,EAA4B,IAAIkG,OAAAA;AACtD,QAAM;AAAA,IAAEC;AAAAA,IAAYC;AAAAA,IAAYpG,MAAMqG;AAAAA,EAAAA,IAAaJ;AACnD,QAAMK,MAAMP,kBACRQ,kBAAOD,IAAIE,KAAK;AAAA,IAAEC,QAAQV;AAAAA,EAAAA,CAAiB,IAC3CQ,kBAAOD;AAEX,SAAO;AAAA,IACLzD,OAAOyD;AAAAA,qBACUH,WAAWO,IAAI;AAAA,mBACjBL,SAASM,EAAE;AAAA,qBACTP,WAAWQ,EAAE;AAAA;AAAA;AAAA;AAAA,IAI9B1B,aAAaoB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IASbjH,UAAUiH;AAAAA;AAAAA;AAAAA;AAAAA,eAICtG,KAAK,CAAC,CAAC;AAAA,gBACNA,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,IAInBR,cAAcA,CAACd,aAAsB;AACnC,UAAIA,UAAU;AACZ,eAAO4H;AAAAA;AAAAA;AAAAA;AAAAA,MAIT;AACA,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA,IAIT;AAAA,IACAzC,cAAcyC;AAAAA;AAAAA,aAELtG,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUhBW,OAAO2F;AAAAA,eACIN,OAAOa,OAAO,GAAG,CAAC;AAAA;AAAA,IAE7BtF,YAAY+E;AAAAA,qBACKtG,KAAK,CAAC,CAAC;AAAA,sBACNA,KAAK,CAAC,CAAC;AAAA,+BACEgG,OAAOc,SAAS,GAAG,CAAC;AAAA;AAAA,IAE/C/C,MAAMuC;AAAAA,eACKN,OAAOe,KAAK,GAAG,CAAC;AAAA,mBACZV,SAAS,KAAK,CAAC;AAAA,sBACZrG,KAAK,CAAC,CAAC;AAAA;AAAA,IAEzBuF,iBAAiBe;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qBAOAH,WAAWO,IAAI;AAAA,mBACjBL,SAASM,EAAE;AAAA;AAAA,EAAA;AAG9B;AAEA,SAAS9H,YAAY;AACnB,QAAMmI,kBAAkBC,MAAAA,WAAWC,8BAAsB;AACzD,QAAM,CAACC,OAAO,IAAIlG,MAAAA,aAAa6E,cAAckB,eAAe,CAAC;AAC7D,SAAOG;AACT;AAACC,IAAAA,eAAA,CAAA,OAAA,CAAA;;;;"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const web = require("solid-js/web");
3
+ const web = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs");
4
4
  const clsx = require("clsx");
5
- const solidJs = require("solid-js");
5
+ const solid = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs");
6
6
  const context = require("./context.cjs");
7
7
  const utils = require("./utils.cjs");
8
8
  const BaseTanStackRouterDevtoolsPanel = require("./BaseTanStackRouterDevtoolsPanel.cjs");
@@ -21,12 +21,12 @@ function FloatingTanStackRouterDevtools({
21
21
  routerState,
22
22
  shadowDOMTarget
23
23
  }) {
24
- const [rootEl, setRootEl] = solidJs.createSignal();
24
+ const [rootEl, setRootEl] = solid.createSignal();
25
25
  let panelRef = void 0;
26
26
  const [isOpen, setIsOpen] = useLocalStorage("tanstackRouterDevtoolsOpen", initialIsOpen);
27
27
  const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage("tanstackRouterDevtoolsHeight", null);
28
- const [isResolvedOpen, setIsResolvedOpen] = solidJs.createSignal(false);
29
- const [isResizing, setIsResizing] = solidJs.createSignal(false);
28
+ const [isResolvedOpen, setIsResolvedOpen] = solid.createSignal(false);
29
+ const [isResizing, setIsResizing] = solid.createSignal(false);
30
30
  const isMounted = utils.useIsMounted();
31
31
  const styles = useStyles.useStyles();
32
32
  const handleDragStart = (panelElement, startEvent) => {
@@ -55,10 +55,10 @@ function FloatingTanStackRouterDevtools({
55
55
  document.addEventListener("mouseup", unsub);
56
56
  };
57
57
  isOpen() ?? false;
58
- solidJs.createEffect(() => {
58
+ solid.createEffect(() => {
59
59
  setIsResolvedOpen(isOpen() ?? false);
60
60
  });
61
- solidJs.createEffect(() => {
61
+ solid.createEffect(() => {
62
62
  if (isResolvedOpen()) {
63
63
  const previousValue = rootEl()?.parentElement?.style.paddingBottom;
64
64
  const run = () => {
@@ -97,7 +97,7 @@ function FloatingTanStackRouterDevtools({
97
97
  }
98
98
  return;
99
99
  });
100
- solidJs.createEffect(() => {
100
+ solid.createEffect(() => {
101
101
  if (rootEl()) {
102
102
  const el = rootEl();
103
103
  const fontSize = getComputedStyle(el).fontSize;
@@ -119,32 +119,32 @@ function FloatingTanStackRouterDevtools({
119
119
  ...otherToggleButtonProps
120
120
  } = toggleButtonProps;
121
121
  if (!isMounted()) return null;
122
- const resolvedHeight = solidJs.createMemo(() => devtoolsHeight() ?? 500);
123
- const basePanelClass = solidJs.createMemo(() => {
122
+ const resolvedHeight = solid.createMemo(() => devtoolsHeight() ?? 500);
123
+ const basePanelClass = solid.createMemo(() => {
124
124
  return clsx.clsx(styles().devtoolsPanelContainer, styles().devtoolsPanelContainerVisibility(!!isOpen()), styles().devtoolsPanelContainerResizing(isResizing), styles().devtoolsPanelContainerAnimation(isResolvedOpen(), resolvedHeight() + 16));
125
125
  });
126
- const basePanelStyle = solidJs.createMemo(() => {
126
+ const basePanelStyle = solid.createMemo(() => {
127
127
  return {
128
128
  height: `${resolvedHeight()}px`,
129
129
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
130
130
  ...panelStyle || {}
131
131
  };
132
132
  });
133
- const buttonStyle = solidJs.createMemo(() => {
133
+ const buttonStyle = solid.createMemo(() => {
134
134
  return clsx.clsx(styles().mainCloseBtn, styles().mainCloseBtnPosition(position), styles().mainCloseBtnAnimation(!!isOpen()), toggleButtonClassName);
135
135
  });
136
- return web.createComponent(web.Dynamic, {
136
+ return solid.createComponent(web.Dynamic, {
137
137
  component: Container,
138
138
  ref: setRootEl,
139
139
  "class": "TanStackRouterDevtools",
140
140
  get children() {
141
- return [web.createComponent(context.DevtoolsOnCloseContext.Provider, {
141
+ return [solid.createComponent(context.DevtoolsOnCloseContext.Provider, {
142
142
  value: {
143
143
  onCloseClick: onCloseClick ?? (() => {
144
144
  })
145
145
  },
146
146
  get children() {
147
- return web.createComponent(BaseTanStackRouterDevtoolsPanel.BaseTanStackRouterDevtoolsPanel, web.mergeProps({
147
+ return solid.createComponent(BaseTanStackRouterDevtoolsPanel.BaseTanStackRouterDevtoolsPanel, solid.mergeProps({
148
148
  ref(r$) {
149
149
  var _ref$ = panelRef;
150
150
  typeof _ref$ === "function" ? _ref$(r$) : panelRef = r$;
@@ -164,7 +164,7 @@ function FloatingTanStackRouterDevtools({
164
164
  }
165
165
  }), (() => {
166
166
  var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$2.nextSibling, _el$6 = _el$5.nextSibling;
167
- web.spread(_el$, web.mergeProps(otherToggleButtonProps, {
167
+ web.spread(_el$, solid.mergeProps(otherToggleButtonProps, {
168
168
  "aria-label": "Open TanStack Router Devtools",
169
169
  "onClick": (e) => {
170
170
  setIsOpen(true);
@@ -174,9 +174,9 @@ function FloatingTanStackRouterDevtools({
174
174
  return buttonStyle();
175
175
  }
176
176
  }), false, true);
177
- web.insert(_el$3, web.createComponent(logo.TanStackLogo, {}));
178
- web.insert(_el$4, web.createComponent(logo.TanStackLogo, {}));
179
- web.effect((_p$) => {
177
+ web.insert(_el$3, solid.createComponent(logo.TanStackLogo, {}));
178
+ web.insert(_el$4, solid.createComponent(logo.TanStackLogo, {}));
179
+ solid.createRenderEffect((_p$) => {
180
180
  var _v$ = styles().mainCloseBtnIconContainer, _v$2 = styles().mainCloseBtnIconOuter, _v$3 = styles().mainCloseBtnIconInner, _v$4 = styles().mainCloseBtnDivider, _v$5 = styles().routerLogoCloseButton;
181
181
  _v$ !== _p$.e && web.className(_el$2, _p$.e = _v$);
182
182
  _v$2 !== _p$.t && web.className(_el$3, _p$.t = _v$2);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingTanStackRouterDevtools.cjs","sources":["../../../../../src/FloatingTanStackRouterDevtools.tsx"],"sourcesContent":["import { clsx as cx } from 'clsx'\n\nimport { createEffect, createMemo, createSignal } from 'solid-js'\nimport { Dynamic } from 'solid-js/web'\n\nimport { DevtoolsOnCloseContext } from './context'\nimport { useIsMounted } from './utils'\nimport { BaseTanStackRouterDevtoolsPanel } from './BaseTanStackRouterDevtoolsPanel'\nimport useLocalStorage from './useLocalStorage'\nimport { TanStackLogo } from './logo'\nimport { useStyles } from './useStyles'\nimport type { Accessor, JSX } from 'solid-js'\nimport type { AnyRouter } from '@tanstack/router-core'\n\nexport interface FloatingDevtoolsOptions {\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 class, style (merge and override default style), etc.\n */\n panelProps?: any & {\n ref?: any\n }\n /**\n * Use this to add props to the close button. For example, you can add class, style (merge and override default style), onClick (extend default handler), etc.\n */\n closeButtonProps?: any & {\n ref?: any\n }\n /**\n * Use this to add props to the toggle button. For example, you can add class, style (merge and override default style), onClick (extend default handler), etc.\n */\n toggleButtonProps?: any & {\n ref?: any\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: Accessor<AnyRouter>\n routerState: Accessor<any>\n /**\n * Use this to attach the devtool's styles to specific element in the DOM.\n */\n shadowDOMTarget?: ShadowRoot\n}\n\nexport function FloatingTanStackRouterDevtools({\n initialIsOpen,\n panelProps = {},\n closeButtonProps = {},\n toggleButtonProps = {},\n position = 'bottom-left',\n containerElement: Container = 'footer',\n router,\n routerState,\n shadowDOMTarget,\n}: FloatingDevtoolsOptions): JSX.Element | null {\n const [rootEl, setRootEl] = createSignal<HTMLDivElement>()\n\n // eslint-disable-next-line prefer-const\n let panelRef: HTMLDivElement | undefined = undefined\n\n const [isOpen, setIsOpen] = useLocalStorage(\n 'tanstackRouterDevtoolsOpen',\n initialIsOpen,\n )\n\n const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage<number | null>(\n 'tanstackRouterDevtoolsHeight',\n null,\n )\n\n const [isResolvedOpen, setIsResolvedOpen] = createSignal(false)\n const [isResizing, setIsResizing] = createSignal(false)\n const isMounted = useIsMounted()\n const styles = useStyles()\n\n const handleDragStart = (\n panelElement: HTMLDivElement | undefined,\n startEvent: any,\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 const isButtonClosed = isOpen() ?? false\n\n createEffect(() => {\n setIsResolvedOpen(isOpen() ?? false)\n })\n\n createEffect(() => {\n if (isResolvedOpen()) {\n const previousValue = rootEl()?.parentElement?.style.paddingBottom\n\n const run = () => {\n const containerHeight = panelRef!.getBoundingClientRect().height\n if (rootEl()?.parentElement) {\n setRootEl((prev) => {\n if (prev?.parentElement) {\n prev.parentElement.style.paddingBottom = `${containerHeight}px`\n }\n return prev\n })\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 (rootEl()?.parentElement && typeof previousValue === 'string') {\n setRootEl((prev) => {\n prev!.parentElement!.style.paddingBottom = previousValue\n return prev\n })\n }\n }\n }\n } else {\n // Reset padding when devtools are closed\n if (rootEl()?.parentElement) {\n setRootEl((prev) => {\n if (prev?.parentElement) {\n prev.parentElement.removeAttribute('style')\n }\n return prev\n })\n }\n }\n return\n })\n\n createEffect(() => {\n if (rootEl()) {\n const el = rootEl()\n const fontSize = getComputedStyle(el!).fontSize\n el?.style.setProperty('--tsrd-font-size', fontSize)\n }\n })\n\n const { style: panelStyle = {}, ...otherPanelProps } = panelProps as {\n style?: Record<string, any>\n }\n\n const {\n style: closeButtonStyle = {},\n onClick: onCloseClick,\n ...otherCloseButtonProps\n } = closeButtonProps\n\n const {\n onClick: onToggleClick,\n class: toggleButtonClassName,\n ...otherToggleButtonProps\n } = toggleButtonProps\n\n // Do not render on the server\n if (!isMounted()) return null\n\n const resolvedHeight = createMemo(() => devtoolsHeight() ?? 500)\n\n const basePanelClass = createMemo(() => {\n return cx(\n styles().devtoolsPanelContainer,\n styles().devtoolsPanelContainerVisibility(!!isOpen()),\n styles().devtoolsPanelContainerResizing(isResizing),\n styles().devtoolsPanelContainerAnimation(\n isResolvedOpen(),\n resolvedHeight() + 16,\n ),\n )\n })\n\n const basePanelStyle = createMemo(() => {\n return {\n height: `${resolvedHeight()}px`,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n ...(panelStyle || {}),\n }\n })\n\n const buttonStyle = createMemo(() => {\n return cx(\n styles().mainCloseBtn,\n styles().mainCloseBtnPosition(position),\n styles().mainCloseBtnAnimation(!!isOpen()),\n toggleButtonClassName,\n )\n })\n\n return (\n <Dynamic\n component={Container}\n ref={setRootEl}\n class=\"TanStackRouterDevtools\"\n >\n <DevtoolsOnCloseContext.Provider\n value={{\n onCloseClick: onCloseClick ?? (() => {}),\n }}\n >\n {/* {router() ? ( */}\n <BaseTanStackRouterDevtoolsPanel\n ref={panelRef as any}\n {...otherPanelProps}\n router={router}\n routerState={routerState}\n className={basePanelClass}\n style={basePanelStyle}\n isOpen={isResolvedOpen()}\n setIsOpen={setIsOpen}\n handleDragStart={(e) => handleDragStart(panelRef, e)}\n shadowDOMTarget={shadowDOMTarget}\n />\n {/* ) : (\n <p>No router</p>\n )} */}\n </DevtoolsOnCloseContext.Provider>\n\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 class={buttonStyle()}\n >\n <div class={styles().mainCloseBtnIconContainer}>\n <div class={styles().mainCloseBtnIconOuter}>\n <TanStackLogo />\n </div>\n <div class={styles().mainCloseBtnIconInner}>\n <TanStackLogo />\n </div>\n </div>\n <div class={styles().mainCloseBtnDivider}>-</div>\n <div class={styles().routerLogoCloseButton}>TanStack Router</div>\n </button>\n </Dynamic>\n )\n}\n\nexport default FloatingTanStackRouterDevtools\n"],"names":["FloatingTanStackRouterDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","router","routerState","shadowDOMTarget","rootEl","setRootEl","createSignal","panelRef","undefined","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","isResolvedOpen","setIsResolvedOpen","isResizing","setIsResizing","isMounted","useIsMounted","styles","useStyles","handleDragStart","panelElement","startEvent","button","dragInfo","originalHeight","getBoundingClientRect","height","pageY","run","moveEvent","delta","newHeight","unsub","document","removeEventListener","addEventListener","createEffect","previousValue","parentElement","style","paddingBottom","containerHeight","prev","window","removeAttribute","el","fontSize","getComputedStyle","setProperty","panelStyle","otherPanelProps","closeButtonStyle","onClick","onCloseClick","otherCloseButtonProps","onToggleClick","class","toggleButtonClassName","otherToggleButtonProps","resolvedHeight","createMemo","basePanelClass","cx","devtoolsPanelContainer","devtoolsPanelContainerVisibility","devtoolsPanelContainerResizing","devtoolsPanelContainerAnimation","basePanelStyle","buttonStyle","mainCloseBtn","mainCloseBtnPosition","mainCloseBtnAnimation","_$createComponent","Dynamic","component","ref","children","DevtoolsOnCloseContext","Provider","value","BaseTanStackRouterDevtoolsPanel","_$mergeProps","r$","_ref$","className","e","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","nextSibling","_el$5","_el$6","_$spread","_$insert","TanStackLogo","_$effect","_p$","_v$","mainCloseBtnIconContainer","_v$2","mainCloseBtnIconOuter","_v$3","mainCloseBtnIconInner","_v$4","mainCloseBtnDivider","_v$5","routerLogoCloseButton","_$className","t","a","o","i"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
3
+ const web = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs");
4
4
  const useStyles = require("./useStyles.cjs");
5
+ const solid = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs");
5
6
  var _tmpl$ = /* @__PURE__ */ web.template(`<button type=button>➔`);
6
7
  function NavigateButton({
7
8
  to,
@@ -21,7 +22,7 @@ function NavigateButton({
21
22
  });
22
23
  };
23
24
  web.setAttribute(_el$, "title", `Navigate to ${to}`);
24
- web.effect(() => web.className(_el$, styles().navigateButton));
25
+ solid.createRenderEffect(() => web.className(_el$, styles().navigateButton));
25
26
  return _el$;
26
27
  })();
27
28
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigateButton.cjs","sources":["../../../../../src/NavigateButton.tsx"],"sourcesContent":["import { useStyles } from './useStyles'\nimport type { AnyRouter, NavigateOptions } from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\ninterface Props extends NavigateOptions {\n router: Accessor<AnyRouter>\n}\n\nexport function NavigateButton({ to, params, search, router }: Props) {\n const styles = useStyles()\n\n return (\n <button\n type=\"button\"\n title={`Navigate to ${to}`}\n class={styles().navigateButton}\n onClick={(e) => {\n e.stopPropagation()\n router().navigate({ to, params, search })\n }}\n >\n ➔\n </button>\n )\n}\n"],"names":["NavigateButton","to","params","search","router","styles","useStyles","_el$","_tmpl$","$$click","e","stopPropagation","navigate","_$setAttribute","_$effect","_$className","navigateButton","_$delegateEvents"],"mappings":";;;;;;AAQO,SAASA,eAAe;AAAA,EAAEC;AAAAA,EAAIC;AAAAA,EAAQC;AAAAA,EAAQC;AAAc,GAAG;AACpE,QAAMC,SAASC,UAAAA,UAAAA;AAEf,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAD,SAAAE,UAKcC,CAAAA,MAAM;AACdA,QAAEC,gBAAAA;AACFP,aAAAA,EAASQ,SAAS;AAAA,QAAEX;AAAAA,QAAIC;AAAAA,QAAQC;AAAAA,MAAAA,CAAQ;AAAA,IAC1C;AAACU,QAAAA,aAAAN,MAAA,SALM,eAAeN,EAAE,EAAE;AAAAa,UAAAA,mBAAA,MAAAC,IAAAA,UAAAR,MACnBF,OAAAA,EAASW,cAAc,CAAA;AAAA,WAAAT;AAAAA,EAAA,GAAA;AASpC;AAACU,IAAAA,eAAA,CAAA,OAAA,CAAA;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const solidJs = require("solid-js");
3
+ const web = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs");
4
+ const solid = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs");
5
5
  const context = require("./context.cjs");
6
6
  class TanStackRouterDevtoolsCore {
7
7
  #router;
@@ -17,8 +17,8 @@ class TanStackRouterDevtoolsCore {
17
17
  #Component;
18
18
  #dispose;
19
19
  constructor(config) {
20
- this.#router = solidJs.createSignal(config.router);
21
- this.#routerState = solidJs.createSignal(config.routerState);
20
+ this.#router = solid.createSignal(config.router);
21
+ this.#routerState = solid.createSignal(config.routerState);
22
22
  this.#position = config.position ?? "bottom-left";
23
23
  this.#initialIsOpen = config.initialIsOpen ?? false;
24
24
  this.#shadowDOMTarget = config.shadowDOMTarget;
@@ -45,13 +45,13 @@ class TanStackRouterDevtoolsCore {
45
45
  if (this.#Component) {
46
46
  Devtools = this.#Component;
47
47
  } else {
48
- Devtools = solidJs.lazy(() => Promise.resolve().then(() => require("./FloatingTanStackRouterDevtools.cjs")));
48
+ Devtools = solid.lazy(() => Promise.resolve().then(() => require("./FloatingTanStackRouterDevtools.cjs")));
49
49
  this.#Component = Devtools;
50
50
  }
51
- return web.createComponent(context.ShadowDomTargetContext.Provider, {
51
+ return solid.createComponent(context.ShadowDomTargetContext.Provider, {
52
52
  value: shadowDOMTarget,
53
53
  get children() {
54
- return web.createComponent(Devtools, {
54
+ return solid.createComponent(Devtools, {
55
55
  position,
56
56
  initialIsOpen,
57
57
  router,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TanStackRouterDevtoolsCore.cjs","sources":["../../../../../src/TanStackRouterDevtoolsCore.tsx"],"sourcesContent":["import { createSignal, lazy } from 'solid-js'\nimport { render } from 'solid-js/web'\nimport { ShadowDomTargetContext } from './context'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type { Signal } from 'solid-js'\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 class, style (merge and override default style), etc.\n */\n panelProps?: any & {\n ref?: any\n }\n /**\n * Use this to add props to the close button. For example, you can add class, style (merge and override default style), onClick (extend default handler), etc.\n */\n closeButtonProps?: any & {\n ref?: any\n }\n /**\n * Use this to add props to the toggle button. For example, you can add class, style (merge and override default style), onClick (extend default handler), etc.\n */\n toggleButtonProps?: any & {\n ref?: any\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 routerState: any\n /**\n * Use this to attach the devtool's styles to specific element in the DOM.\n */\n shadowDOMTarget?: ShadowRoot\n}\n\nclass TanStackRouterDevtoolsCore {\n #router: Signal<AnyRouter>\n #routerState: Signal<any>\n #position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n #initialIsOpen: boolean\n #shadowDOMTarget?: ShadowRoot\n\n #panelProps: any\n #closeButtonProps: any\n #toggleButtonProps: any\n #containerElement?: string | any\n\n #isMounted = false\n #Component: any\n #dispose?: () => void\n\n constructor(config: DevtoolsOptions) {\n this.#router = createSignal(config.router)\n this.#routerState = createSignal(config.routerState)\n this.#position = config.position ?? 'bottom-left'\n this.#initialIsOpen = config.initialIsOpen ?? false\n this.#shadowDOMTarget = config.shadowDOMTarget\n\n this.#panelProps = config.panelProps\n this.#closeButtonProps = config.closeButtonProps\n this.#toggleButtonProps = config.toggleButtonProps\n this.#containerElement = config.containerElement\n }\n\n mount<T extends HTMLElement>(el: T) {\n if (this.#isMounted) {\n throw new Error('Devtools is already mounted')\n }\n\n const dispose = render(() => {\n const [router] = this.#router\n const [routerState] = this.#routerState\n const position = this.#position\n const initialIsOpen = this.#initialIsOpen\n const shadowDOMTarget = this.#shadowDOMTarget\n\n const panelProps = this.#panelProps\n const closeButtonProps = this.#closeButtonProps\n const toggleButtonProps = this.#toggleButtonProps\n const containerElement = this.#containerElement\n\n let Devtools\n\n if (this.#Component) {\n Devtools = this.#Component\n } else {\n Devtools = lazy(() => import('./FloatingTanStackRouterDevtools'))\n this.#Component = Devtools\n }\n\n return (\n <ShadowDomTargetContext.Provider value={shadowDOMTarget}>\n <Devtools\n position={position}\n initialIsOpen={initialIsOpen}\n router={router}\n routerState={routerState}\n shadowDOMTarget={shadowDOMTarget}\n panelProps={panelProps}\n closeButtonProps={closeButtonProps}\n toggleButtonProps={toggleButtonProps}\n containerElement={containerElement}\n />\n </ShadowDomTargetContext.Provider>\n )\n }, el)\n\n this.#isMounted = true\n this.#dispose = dispose\n }\n\n unmount() {\n if (!this.#isMounted) {\n throw new Error('Devtools is not mounted')\n }\n this.#dispose?.()\n this.#isMounted = false\n }\n\n setRouter(router: AnyRouter) {\n this.#router[1](router)\n }\n\n setRouterState(routerState: any) {\n this.#routerState[1](routerState)\n }\n\n setOptions(options: Partial<DevtoolsOptions>) {\n if (options.position !== undefined) {\n this.#position = options.position\n }\n\n if (options.initialIsOpen !== undefined) {\n this.#initialIsOpen = options.initialIsOpen\n }\n\n if (options.shadowDOMTarget !== undefined) {\n this.#shadowDOMTarget = options.shadowDOMTarget\n }\n\n if (options.containerElement !== undefined) {\n this.#containerElement = options.containerElement\n }\n }\n}\n\nexport { TanStackRouterDevtoolsCore }\n"],"names":["TanStackRouterDevtoolsCore","constructor","config","createSignal","router","routerState","position","initialIsOpen","shadowDOMTarget","panelProps","closeButtonProps","toggleButtonProps","containerElement","mount","el","Error","dispose","render","Devtools","lazy","_$createComponent","ShadowDomTargetContext","Provider","value","children","unmount","setRouter","setRouterState","setOptions","options","undefined"],"mappings":";;;;;AAmDA,MAAMA,2BAA2B;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EAEAC,YAAYC,QAAyB;AACnC,SAAK,UAAUC,mBAAaD,OAAOE,MAAM;AACzC,SAAK,eAAeD,mBAAaD,OAAOG,WAAW;AACnD,SAAK,YAAYH,OAAOI,YAAY;AACpC,SAAK,iBAAiBJ,OAAOK,iBAAiB;AAC9C,SAAK,mBAAmBL,OAAOM;AAE/B,SAAK,cAAcN,OAAOO;AAC1B,SAAK,oBAAoBP,OAAOQ;AAChC,SAAK,qBAAqBR,OAAOS;AACjC,SAAK,oBAAoBT,OAAOU;AAAAA,EAClC;AAAA,EAEAC,MAA6BC,IAAO;AAClC,QAAI,KAAK,YAAY;AACnB,YAAM,IAAIC,MAAM,6BAA6B;AAAA,IAC/C;AAEA,UAAMC,UAAUC,IAAAA,OAAO,MAAM;AAC3B,YAAM,CAACb,MAAM,IAAI,KAAK;AACtB,YAAM,CAACC,WAAW,IAAI,KAAK;AAC3B,YAAMC,WAAW,KAAK;AACtB,YAAMC,gBAAgB,KAAK;AAC3B,YAAMC,kBAAkB,KAAK;AAE7B,YAAMC,aAAa,KAAK;AACxB,YAAMC,mBAAmB,KAAK;AAC9B,YAAMC,oBAAoB,KAAK;AAC/B,YAAMC,mBAAmB,KAAK;AAE9B,UAAIM;AAEJ,UAAI,KAAK,YAAY;AACnBA,mBAAW,KAAK;AAAA,MAClB,OAAO;AACLA,mBAAWC,MAAAA,KAAK,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,sCAAkC,EAAC;AAChE,aAAK,aAAaD;AAAAA,MACpB;AAEA,aAAAE,MAAAA,gBACGC,QAAAA,uBAAuBC,UAAQ;AAAA,QAACC,OAAOf;AAAAA,QAAe,IAAAgB,WAAA;AAAA,iBAAAJ,MAAAA,gBACpDF,UAAQ;AAAA,YACPZ;AAAAA,YACAC;AAAAA,YACAH;AAAAA,YACAC;AAAAA,YACAG;AAAAA,YACAC;AAAAA,YACAC;AAAAA,YACAC;AAAAA,YACAC;AAAAA,UAAAA,CAAkC;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAI1C,GAAGE,EAAE;AAEL,SAAK,aAAa;AAClB,SAAK,WAAWE;AAAAA,EAClB;AAAA,EAEAS,UAAU;AACR,QAAI,CAAC,KAAK,YAAY;AACpB,YAAM,IAAIV,MAAM,yBAAyB;AAAA,IAC3C;AACA,SAAK,WAAA;AACL,SAAK,aAAa;AAAA,EACpB;AAAA,EAEAW,UAAUtB,QAAmB;AAC3B,SAAK,QAAQ,CAAC,EAAEA,MAAM;AAAA,EACxB;AAAA,EAEAuB,eAAetB,aAAkB;AAC/B,SAAK,aAAa,CAAC,EAAEA,WAAW;AAAA,EAClC;AAAA,EAEAuB,WAAWC,SAAmC;AAC5C,QAAIA,QAAQvB,aAAawB,QAAW;AAClC,WAAK,YAAYD,QAAQvB;AAAAA,IAC3B;AAEA,QAAIuB,QAAQtB,kBAAkBuB,QAAW;AACvC,WAAK,iBAAiBD,QAAQtB;AAAAA,IAChC;AAEA,QAAIsB,QAAQrB,oBAAoBsB,QAAW;AACzC,WAAK,mBAAmBD,QAAQrB;AAAAA,IAClC;AAEA,QAAIqB,QAAQjB,qBAAqBkB,QAAW;AAC1C,WAAK,oBAAoBD,QAAQjB;AAAAA,IACnC;AAAA,EACF;AACF;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const solidJs = require("solid-js");
3
+ const web = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/web/dist/web.cjs");
4
+ const solid = require("../../../node_modules/.pnpm/solid-js@1.9.5/node_modules/solid-js/dist/solid.cjs");
5
5
  const context = require("./context.cjs");
6
6
  class TanStackRouterDevtoolsPanelCore {
7
7
  #router;
@@ -22,10 +22,10 @@ class TanStackRouterDevtoolsPanelCore {
22
22
  style,
23
23
  className
24
24
  } = config;
25
- this.#router = solidJs.createSignal(router);
26
- this.#routerState = solidJs.createSignal(routerState);
27
- this.#style = solidJs.createSignal(style);
28
- this.#className = solidJs.createSignal(className);
25
+ this.#router = solid.createSignal(router);
26
+ this.#routerState = solid.createSignal(routerState);
27
+ this.#style = solid.createSignal(style);
28
+ this.#className = solid.createSignal(className);
29
29
  this.#shadowDOMTarget = shadowDOMTarget;
30
30
  this.#setIsOpen = setIsOpen;
31
31
  }
@@ -44,19 +44,19 @@ class TanStackRouterDevtoolsPanelCore {
44
44
  if (this.#Component) {
45
45
  BaseTanStackRouterDevtoolsPanel = this.#Component;
46
46
  } else {
47
- BaseTanStackRouterDevtoolsPanel = solidJs.lazy(() => Promise.resolve().then(() => require("./BaseTanStackRouterDevtoolsPanel.cjs")));
47
+ BaseTanStackRouterDevtoolsPanel = solid.lazy(() => Promise.resolve().then(() => require("./BaseTanStackRouterDevtoolsPanel.cjs")));
48
48
  this.#Component = BaseTanStackRouterDevtoolsPanel;
49
49
  }
50
- return web.createComponent(context.ShadowDomTargetContext.Provider, {
50
+ return solid.createComponent(context.ShadowDomTargetContext.Provider, {
51
51
  value: shadowDOMTarget,
52
52
  get children() {
53
- return web.createComponent(context.DevtoolsOnCloseContext.Provider, {
53
+ return solid.createComponent(context.DevtoolsOnCloseContext.Provider, {
54
54
  value: {
55
55
  onCloseClick: () => {
56
56
  }
57
57
  },
58
58
  get children() {
59
- return web.createComponent(BaseTanStackRouterDevtoolsPanel, {
59
+ return solid.createComponent(BaseTanStackRouterDevtoolsPanel, {
60
60
  router,
61
61
  routerState,
62
62
  shadowDOMTarget,