appos 0.3.5-0 → 0.3.6-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 (281) hide show
  1. package/dist/bin/main.mjs +2 -2
  2. package/dist/exports/api/adapter-C2mMJKvG.mjs +1504 -0
  3. package/dist/exports/api/{auth-schema.mjs → auth-schema-CON4yFFY.mjs} +2 -3
  4. package/dist/exports/api/bun-sqlite-dialect-CPpPZa23.mjs +155 -0
  5. package/dist/exports/{cli/_virtual/rolldown_runtime.mjs → api/chunk-CyXqrcp_.mjs} +14 -1
  6. package/dist/exports/api/conditions-DjBAWfiK.mjs +116 -0
  7. package/dist/exports/api/dialect-CUUD24Ge.mjs +72 -0
  8. package/dist/exports/api/env-CwT3zhez.mjs +1 -0
  9. package/dist/exports/api/esm-_hkVMulx.mjs +15816 -0
  10. package/dist/exports/api/event-BHFSE6hY.mjs +20983 -0
  11. package/dist/exports/api/extract-blob-metadata-BMgUEPcW.mjs +4 -0
  12. package/dist/exports/api/extract-blob-metadata-_9RUEwoU.mjs +9818 -0
  13. package/dist/exports/api/generate-image-variant-DOIzj1wJ.mjs +4 -0
  14. package/dist/exports/api/generate-image-variant-DxOPoGAk.mjs +118 -0
  15. package/dist/exports/api/generate-preview-CvTFuq58.mjs +160 -0
  16. package/dist/exports/api/generate-preview-Dk3coswZ.mjs +4 -0
  17. package/dist/exports/api/index.d.mts +7347 -20
  18. package/dist/exports/api/index.mjs +146856 -18
  19. package/dist/exports/api/kysely-adapter-CmP2TbkS.mjs +296 -0
  20. package/dist/exports/api/memory-adapter-BzhRhLFK.mjs +212 -0
  21. package/dist/exports/api/node-sqlite-dialect-Bl5suBxl.mjs +155 -0
  22. package/dist/exports/api/orm-CMqufD21.mjs +153690 -0
  23. package/dist/exports/api/orm-DXqYuKvB.d.mts +11 -0
  24. package/dist/exports/api/orm.d.mts +2 -11
  25. package/dist/exports/api/orm.mjs +4 -42
  26. package/dist/exports/api/pdf-YxB2Hm1p.mjs +25822 -0
  27. package/dist/exports/api/purge-attachment-Cf6KH2Jv.mjs +34 -0
  28. package/dist/exports/api/purge-attachment-DIuil7ps.mjs +4 -0
  29. package/dist/exports/{cli/api/workflows/purge-audit-logs.mjs → api/purge-audit-logs-z6j_Pu47.mjs} +3 -3
  30. package/dist/exports/{cli/api/workflows/purge-unattached-blobs.mjs → api/purge-unattached-blobs-B0TfY5Hk.mjs} +1 -1
  31. package/dist/exports/api/react-BYhV5bYt.mjs +1131 -0
  32. package/dist/exports/api/server.node-DyVrQ6cz.mjs +19298 -0
  33. package/dist/exports/api/table-6bTIEqON.mjs +2636 -0
  34. package/dist/exports/api/{workflows/track-db-changes.mjs → track-db-changes-BysaV6nN.mjs} +14 -14
  35. package/dist/exports/api/{workflow.mjs → workflow-BuSWHcX-.mjs} +121 -10
  36. package/dist/exports/api/workflows/auth-schema-BFve3hgZ.mjs +2813 -0
  37. package/dist/exports/api/{_virtual/rolldown_runtime.mjs → workflows/chunk-B36mNPO4.mjs} +5 -1
  38. package/dist/exports/api/workflows/extract-blob-metadata-BcWKvY2K.mjs +9818 -0
  39. package/dist/exports/api/workflows/{generate-image-variant.mjs → generate-image-variant-BAFvL_zV.mjs} +20 -20
  40. package/dist/exports/{cli/api/workflows/generate-preview.mjs → api/workflows/generate-preview-BjlIVYYp.mjs} +6 -6
  41. package/dist/exports/api/workflows/index.d.mts +2011 -1
  42. package/dist/exports/api/workflows/index.mjs +2 -1
  43. package/dist/exports/api/workflows/pdf-DUB8zyIc.mjs +25822 -0
  44. package/dist/exports/{cli/api/workflows/purge-attachment.mjs → api/workflows/purge-attachment-k_sdxTPY.mjs} +3 -3
  45. package/dist/exports/api/workflows/{purge-audit-logs.mjs → purge-audit-logs-zCyWj4Mw.mjs} +12 -3
  46. package/dist/exports/api/workflows/{purge-unattached-blobs.mjs → purge-unattached-blobs-CdsuFAeW.mjs} +1 -1
  47. package/dist/exports/api/workflows/track-db-changes-CiKaI9gT.mjs +20943 -0
  48. package/dist/exports/api/workflows/track-db-changes-DEWQYryO.mjs +4 -0
  49. package/dist/exports/{cli/api/workflow.mjs → api/workflows/workflow-BjM2xCa6.mjs} +23 -3
  50. package/dist/exports/api/workflows/zod-Br0enFWK.mjs +12333 -0
  51. package/dist/exports/api/zod-CdrJdBtV.mjs +12571 -0
  52. package/dist/exports/cli/auth-schema-CNuOqPi-.mjs +2813 -0
  53. package/dist/exports/{api/workflows/_virtual/rolldown_runtime.mjs → cli/chunk-B36mNPO4.mjs} +5 -1
  54. package/dist/exports/cli/extract-blob-metadata-CV1Ke90d.mjs +9818 -0
  55. package/dist/exports/cli/{api/workflows/generate-image-variant.mjs → generate-image-variant-CM1BrVvZ.mjs} +20 -20
  56. package/dist/exports/{api/workflows/generate-preview.mjs → cli/generate-preview-DdHQ3ukz.mjs} +6 -6
  57. package/dist/exports/cli/index.d.mts +2142 -2
  58. package/dist/exports/cli/index.mjs +41 -1
  59. package/dist/exports/cli/pdf-CLUPEIdT.mjs +25822 -0
  60. package/dist/exports/{api/workflows/purge-attachment.mjs → cli/purge-attachment-Dc_J74dG.mjs} +3 -3
  61. package/dist/exports/cli/purge-audit-logs-DFhWh-Bx.mjs +56 -0
  62. package/dist/exports/cli/purge-unattached-blobs-C1MRlM_2.mjs +46 -0
  63. package/dist/exports/cli/track-db-changes-CfneOF2_.mjs +20943 -0
  64. package/dist/exports/{api/workflows/api/workflow.mjs → cli/workflow-DSbbXBMt.mjs} +23 -3
  65. package/dist/exports/cli/zod-7q0_Mtnn.mjs +12333 -0
  66. package/dist/exports/devtools/BaseTanStackRouterDevtoolsPanel-BBz1qLry-DUwdvyLv.js +2090 -0
  67. package/dist/exports/devtools/EIDV623S-B7f6114d.js +2497 -0
  68. package/dist/exports/devtools/FloatingTanStackRouterDevtools-DymJEvfG-BHuQHiRR.js +237 -0
  69. package/dist/exports/devtools/MIMHJGAX-Cb3wf11F.js +10903 -0
  70. package/dist/exports/devtools/Q7LWSL4U-BoEO3rNq.js +37 -0
  71. package/dist/exports/devtools/VLTTJS3N-CIyRc84e.js +44 -0
  72. package/dist/exports/devtools/index.js +1724 -3
  73. package/dist/exports/devtools/utils-YRTCpRgb.js +1670 -0
  74. package/dist/exports/tests/api.d.mts +7354 -5
  75. package/dist/exports/tests/api.mjs +79 -1
  76. package/dist/exports/tests/auth-schema-DUCJw-_2.mjs +1 -0
  77. package/dist/exports/tests/chunk-Cii4FAhs.mjs +1 -0
  78. package/dist/exports/tests/conditions-B0ffVJ5E.mjs +1 -0
  79. package/dist/exports/tests/constants-DHjjg05J.mjs +1 -0
  80. package/dist/exports/tests/dist-D6vgKv3t.mjs +7 -0
  81. package/dist/exports/tests/dist-EfrRkq5c.mjs +296 -0
  82. package/dist/exports/tests/extract-blob-metadata-Dv343Vcn.mjs +169 -0
  83. package/dist/exports/tests/generate-image-variant-cQc8q0kh.mjs +1 -0
  84. package/dist/exports/tests/generate-preview-HaTMd2hS.mjs +1 -0
  85. package/dist/exports/tests/magic-string.es-D6VRmdiF.mjs +14 -0
  86. package/dist/exports/tests/mock-BvkO5nlm.mjs +1 -0
  87. package/dist/exports/tests/mock.mjs +1 -1
  88. package/dist/exports/tests/pdf-BDsS3vjF.mjs +13 -0
  89. package/dist/exports/tests/purge-attachment-D4uOzHRi.mjs +1 -0
  90. package/dist/exports/tests/purge-audit-logs-DiPcc09d.mjs +1 -0
  91. package/dist/exports/tests/purge-unattached-blobs-CqW6tlIC.mjs +1 -0
  92. package/dist/exports/tests/react.mjs +6 -1
  93. package/dist/exports/tests/setup.d.mts +1 -1
  94. package/dist/exports/tests/setup.mjs +34 -1
  95. package/dist/exports/tests/table-CbU04119.mjs +1 -0
  96. package/dist/exports/tests/track-db-changes-Bd4W-P1q.mjs +1 -0
  97. package/dist/exports/tests/vi.2VT5v0um-Cme1b0Dl.mjs +348 -0
  98. package/dist/exports/tests/{api/workflow.mjs → workflow-DwZxTqdH.mjs} +1 -1
  99. package/dist/exports/tests/zod-DcpxsMPz.mjs +23 -0
  100. package/dist/exports/vendors/date.js +13236 -1
  101. package/dist/exports/vendors/toolkit.js +2206 -1
  102. package/dist/exports/vendors/zod.js +12344 -1
  103. package/dist/exports/vite/api-DGRU_RdM.mjs +27 -0
  104. package/dist/exports/vite/build-CxJAu2Bn.mjs +1 -0
  105. package/dist/exports/vite/build2-BMK0OFVt.mjs +16 -0
  106. package/dist/exports/vite/chunk-CxnlK1Zi.mjs +1 -0
  107. package/dist/exports/vite/chunk-PtveFMYu.mjs +1 -0
  108. package/dist/exports/vite/dist-Bxp8DqWh.mjs +114 -0
  109. package/dist/exports/vite/dist-CX51FKbX.mjs +1 -0
  110. package/dist/exports/vite/dist-DcyNr-KR.mjs +1 -0
  111. package/dist/exports/vite/dist-j3-Khlzt.mjs +1 -0
  112. package/dist/exports/vite/experimental-index-3KsfmUbz.mjs +1 -0
  113. package/dist/exports/vite/false-BNJbUKYT.mjs +1 -0
  114. package/dist/exports/vite/false-BvrPEDU6.mjs +1 -0
  115. package/dist/exports/vite/index.d.mts +1 -1
  116. package/dist/exports/vite/index.mjs +26 -1
  117. package/dist/exports/vite/internal-C5cVwRiK.mjs +1 -0
  118. package/dist/exports/vite/jiti-BjSPrFvg.mjs +9 -0
  119. package/dist/exports/vite/lexer-DQCqS3nf-C6xCDOEQ.mjs +3 -0
  120. package/dist/exports/vite/lib-CMv7Sfwa.mjs +1 -0
  121. package/dist/exports/vite/lib-D9TnS-7w.mjs +1 -0
  122. package/dist/exports/vite/lib-DuBRr9dH.mjs +382 -0
  123. package/dist/exports/vite/node-DI8AnY_i.mjs +437 -0
  124. package/dist/exports/vite/postcss-BtmDpj-c.mjs +32 -0
  125. package/dist/exports/vite/postcss-import-Bk_ZCd6c.mjs +5 -0
  126. package/dist/exports/vite/rolldown-build-CNW2eye_-CJNfyXdF.mjs +13 -0
  127. package/dist/exports/vitest/api-CPv6lnxG.mjs +27 -0
  128. package/dist/exports/vitest/build2-28i3OiJ3.mjs +16 -0
  129. package/dist/exports/vitest/chunk-_e2jlDPK.mjs +1 -0
  130. package/dist/exports/vitest/chunk-jwDkFoXW.mjs +1 -0
  131. package/dist/exports/vitest/config.mjs +77 -1
  132. package/dist/exports/vitest/dist-L-OpshPJ.mjs +114 -0
  133. package/dist/exports/vitest/index.mjs +348 -1
  134. package/dist/exports/vitest/jiti-eNGOyHIo.mjs +9 -0
  135. package/dist/exports/vitest/lexer-DQCqS3nf-TWLyIqlY.mjs +3 -0
  136. package/dist/exports/vitest/lib-C3G64csm.mjs +1 -0
  137. package/dist/exports/vitest/magic-string.es-CxM5Ubyl.mjs +14 -0
  138. package/dist/exports/vitest/module-runner-DsF4L04D.mjs +1 -0
  139. package/dist/exports/vitest/postcss-BxLp_Too.mjs +32 -0
  140. package/dist/exports/vitest/postcss-import-5pKj3f5q.mjs +5 -0
  141. package/dist/exports/web/browser-ponyfill-DxTJMXNq.js +443 -0
  142. package/dist/exports/web/chunk-DksrlJLg.js +49 -0
  143. package/dist/exports/web/index.d.ts +2546 -2
  144. package/dist/exports/web/index.js +9295 -6
  145. package/dist/exports/web/plugin-DqTFWG7p.js +250 -0
  146. package/package.json +1 -1
  147. package/dist/exports/api/app-context.d.mts +0 -115
  148. package/dist/exports/api/app-context.mjs +0 -24
  149. package/dist/exports/api/auth-schema.d.mts +0 -4248
  150. package/dist/exports/api/auth.d.mts +0 -402
  151. package/dist/exports/api/auth.mjs +0 -188
  152. package/dist/exports/api/cache.d.mts +0 -44
  153. package/dist/exports/api/cache.mjs +0 -28
  154. package/dist/exports/api/config.d.mts +0 -28
  155. package/dist/exports/api/config.mjs +0 -72
  156. package/dist/exports/api/constants.mjs +0 -92
  157. package/dist/exports/api/container.d.mts +0 -210
  158. package/dist/exports/api/container.mjs +0 -49
  159. package/dist/exports/api/database.d.mts +0 -101
  160. package/dist/exports/api/database.mjs +0 -219
  161. package/dist/exports/api/event.d.mts +0 -235
  162. package/dist/exports/api/event.mjs +0 -236
  163. package/dist/exports/api/i18n.d.mts +0 -34
  164. package/dist/exports/api/i18n.mjs +0 -45
  165. package/dist/exports/api/instrumentation.d.mts +0 -7
  166. package/dist/exports/api/instrumentation.mjs +0 -40
  167. package/dist/exports/api/logger.d.mts +0 -21
  168. package/dist/exports/api/logger.mjs +0 -26
  169. package/dist/exports/api/mailer.d.mts +0 -70
  170. package/dist/exports/api/mailer.mjs +0 -37
  171. package/dist/exports/api/middleware/request-logger.d.mts +0 -24
  172. package/dist/exports/api/middleware.d.mts +0 -39
  173. package/dist/exports/api/middleware.mjs +0 -73
  174. package/dist/exports/api/openapi.d.mts +0 -271
  175. package/dist/exports/api/openapi.mjs +0 -507
  176. package/dist/exports/api/otel.d.mts +0 -40
  177. package/dist/exports/api/otel.mjs +0 -56
  178. package/dist/exports/api/redis.d.mts +0 -34
  179. package/dist/exports/api/redis.mjs +0 -41
  180. package/dist/exports/api/storage-schema.d.mts +0 -707
  181. package/dist/exports/api/storage-schema.mjs +0 -72
  182. package/dist/exports/api/storage.d.mts +0 -506
  183. package/dist/exports/api/storage.mjs +0 -833
  184. package/dist/exports/api/web/auth.mjs +0 -17
  185. package/dist/exports/api/workflow.d.mts +0 -250
  186. package/dist/exports/api/workflows/api/auth-schema.mjs +0 -373
  187. package/dist/exports/api/workflows/api/auth.d.mts +0 -379
  188. package/dist/exports/api/workflows/api/cache.d.mts +0 -44
  189. package/dist/exports/api/workflows/api/config.d.mts +0 -18
  190. package/dist/exports/api/workflows/api/container.d.mts +0 -167
  191. package/dist/exports/api/workflows/api/database.d.mts +0 -47
  192. package/dist/exports/api/workflows/api/event.d.mts +0 -68
  193. package/dist/exports/api/workflows/api/event.mjs +0 -126
  194. package/dist/exports/api/workflows/api/logger.d.mts +0 -21
  195. package/dist/exports/api/workflows/api/mailer.d.mts +0 -70
  196. package/dist/exports/api/workflows/api/orm.d.mts +0 -13
  197. package/dist/exports/api/workflows/api/redis.mjs +0 -3
  198. package/dist/exports/api/workflows/api/storage-schema.d.mts +0 -699
  199. package/dist/exports/api/workflows/api/storage.d.mts +0 -396
  200. package/dist/exports/api/workflows/api/workflow.d.mts +0 -24
  201. package/dist/exports/api/workflows/constants.mjs +0 -23
  202. package/dist/exports/api/workflows/extract-blob-metadata.mjs +0 -132
  203. package/dist/exports/api/workflows/generate-image-variant.d.mts +0 -63
  204. package/dist/exports/api/workflows/track-db-changes.d.mts +0 -72
  205. package/dist/exports/cli/api/auth-schema.mjs +0 -373
  206. package/dist/exports/cli/api/auth.d.mts +0 -379
  207. package/dist/exports/cli/api/cache.d.mts +0 -44
  208. package/dist/exports/cli/api/config.d.mts +0 -18
  209. package/dist/exports/cli/api/container.d.mts +0 -167
  210. package/dist/exports/cli/api/database.d.mts +0 -47
  211. package/dist/exports/cli/api/event.d.mts +0 -68
  212. package/dist/exports/cli/api/event.mjs +0 -126
  213. package/dist/exports/cli/api/logger.d.mts +0 -21
  214. package/dist/exports/cli/api/mailer.d.mts +0 -70
  215. package/dist/exports/cli/api/orm.d.mts +0 -13
  216. package/dist/exports/cli/api/redis.mjs +0 -3
  217. package/dist/exports/cli/api/storage-schema.d.mts +0 -699
  218. package/dist/exports/cli/api/storage.d.mts +0 -396
  219. package/dist/exports/cli/api/workflow.d.mts +0 -2
  220. package/dist/exports/cli/api/workflows/extract-blob-metadata.mjs +0 -132
  221. package/dist/exports/cli/api/workflows/generate-image-variant.d.mts +0 -63
  222. package/dist/exports/cli/api/workflows/track-db-changes.mjs +0 -110
  223. package/dist/exports/cli/command.d.mts +0 -56
  224. package/dist/exports/cli/command.mjs +0 -43
  225. package/dist/exports/cli/constants.mjs +0 -23
  226. package/dist/exports/cli/context.d.mts +0 -170
  227. package/dist/exports/tests/_virtual/rolldown_runtime.mjs +0 -1
  228. package/dist/exports/tests/api/app-context.d.mts +0 -115
  229. package/dist/exports/tests/api/app-context.mjs +0 -1
  230. package/dist/exports/tests/api/auth-schema.d.mts +0 -4248
  231. package/dist/exports/tests/api/auth-schema.mjs +0 -1
  232. package/dist/exports/tests/api/auth.d.mts +0 -402
  233. package/dist/exports/tests/api/cache.d.mts +0 -44
  234. package/dist/exports/tests/api/config.d.mts +0 -28
  235. package/dist/exports/tests/api/container.d.mts +0 -210
  236. package/dist/exports/tests/api/database.d.mts +0 -101
  237. package/dist/exports/tests/api/database.mjs +0 -1
  238. package/dist/exports/tests/api/event.d.mts +0 -235
  239. package/dist/exports/tests/api/event.mjs +0 -1
  240. package/dist/exports/tests/api/i18n.d.mts +0 -34
  241. package/dist/exports/tests/api/index.d.mts +0 -26
  242. package/dist/exports/tests/api/logger.d.mts +0 -21
  243. package/dist/exports/tests/api/mailer.d.mts +0 -70
  244. package/dist/exports/tests/api/middleware/error-handler.mjs +0 -1
  245. package/dist/exports/tests/api/middleware/health.mjs +0 -1
  246. package/dist/exports/tests/api/middleware/i18n.mjs +0 -1
  247. package/dist/exports/tests/api/middleware/request-logger.d.mts +0 -24
  248. package/dist/exports/tests/api/middleware/request-logger.mjs +0 -1
  249. package/dist/exports/tests/api/middleware/shutdown.mjs +0 -1
  250. package/dist/exports/tests/api/middleware/timeout.mjs +0 -1
  251. package/dist/exports/tests/api/middleware.d.mts +0 -39
  252. package/dist/exports/tests/api/middleware.mjs +0 -1
  253. package/dist/exports/tests/api/openapi.d.mts +0 -271
  254. package/dist/exports/tests/api/openapi.mjs +0 -1
  255. package/dist/exports/tests/api/orm.d.mts +0 -13
  256. package/dist/exports/tests/api/otel.d.mts +0 -40
  257. package/dist/exports/tests/api/redis.d.mts +0 -34
  258. package/dist/exports/tests/api/redis.mjs +0 -1
  259. package/dist/exports/tests/api/server.mjs +0 -1
  260. package/dist/exports/tests/api/storage-schema.d.mts +0 -707
  261. package/dist/exports/tests/api/storage.d.mts +0 -506
  262. package/dist/exports/tests/api/workflow.d.mts +0 -250
  263. package/dist/exports/tests/api/workflows/extract-blob-metadata.mjs +0 -1
  264. package/dist/exports/tests/api/workflows/generate-image-variant.d.mts +0 -63
  265. package/dist/exports/tests/api/workflows/generate-image-variant.mjs +0 -1
  266. package/dist/exports/tests/api/workflows/generate-preview.mjs +0 -1
  267. package/dist/exports/tests/api/workflows/purge-attachment.mjs +0 -1
  268. package/dist/exports/tests/api/workflows/purge-audit-logs.mjs +0 -1
  269. package/dist/exports/tests/api/workflows/purge-unattached-blobs.mjs +0 -1
  270. package/dist/exports/tests/api/workflows/track-db-changes.mjs +0 -1
  271. package/dist/exports/tests/constants.mjs +0 -1
  272. package/dist/exports/tests/instrumentation.d.mts +0 -7
  273. package/dist/exports/tests/instrumentation.mjs +0 -1
  274. package/dist/exports/web/api/auth.d.ts +0 -125
  275. package/dist/exports/web/api/database.d.ts +0 -4
  276. package/dist/exports/web/api/logger.d.ts +0 -1
  277. package/dist/exports/web/auth.d.ts +0 -2388
  278. package/dist/exports/web/auth.js +0 -75
  279. package/dist/exports/web/i18n.d.ts +0 -42
  280. package/dist/exports/web/i18n.js +0 -45
  281. /package/dist/exports/tests/{api/middleware/youch-handler.mjs → youch-handler-Ch5yf6im.mjs} +0 -0
@@ -0,0 +1,2090 @@
1
+ import { C as setAttribute, D as useContext, E as untrack, O as useDevtoolsOnClose, S as onCleanup, T as template, a as Match, b as memo, c as Switch, d as className, f as createComponent, g as createSignal, h as createRenderEffect, i as For, m as createMemo, o as ShadowDomTargetContext, p as createEffect, s as Show, u as addEventListener, v as delegateEvents, w as spread, x as mergeProps, y as insert } from "./utils-YRTCpRgb.js";
2
+
3
+ //#region ../../node_modules/.bun/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js
4
+ var isProduction = false;
5
+ var prefix = "Invariant failed";
6
+ function invariant(condition, message) {
7
+ if (condition) return;
8
+ if (isProduction) throw new Error(prefix);
9
+ var provided = typeof message === "function" ? message() : message;
10
+ var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
11
+ throw new Error(value);
12
+ }
13
+
14
+ //#endregion
15
+ //#region ../../node_modules/.bun/@tanstack+router-core@1.141.6/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js
16
+ const SEGMENT_TYPE_PATHNAME = 0;
17
+ const SEGMENT_TYPE_PARAM = 1;
18
+ const SEGMENT_TYPE_WILDCARD = 2;
19
+ const SEGMENT_TYPE_OPTIONAL_PARAM = 3;
20
+ const PARAM_W_CURLY_BRACES_RE = /^([^{]*)\{\$([a-zA-Z_$][a-zA-Z0-9_$]*)\}([^}]*)$/;
21
+ const OPTIONAL_PARAM_W_CURLY_BRACES_RE = /^([^{]*)\{-\$([a-zA-Z_$][a-zA-Z0-9_$]*)\}([^}]*)$/;
22
+ const WILDCARD_W_CURLY_BRACES_RE = /^([^{]*)\{\$\}([^}]*)$/;
23
+ function parseSegment(path, start, output = new Uint16Array(6)) {
24
+ const next = path.indexOf("/", start);
25
+ const end = next === -1 ? path.length : next;
26
+ const part = path.substring(start, end);
27
+ if (!part || !part.includes("$")) {
28
+ output[0] = SEGMENT_TYPE_PATHNAME;
29
+ output[1] = start;
30
+ output[2] = start;
31
+ output[3] = end;
32
+ output[4] = end;
33
+ output[5] = end;
34
+ return output;
35
+ }
36
+ if (part === "$") {
37
+ const total = path.length;
38
+ output[0] = SEGMENT_TYPE_WILDCARD;
39
+ output[1] = start;
40
+ output[2] = start;
41
+ output[3] = total;
42
+ output[4] = total;
43
+ output[5] = total;
44
+ return output;
45
+ }
46
+ if (part.charCodeAt(0) === 36) {
47
+ output[0] = SEGMENT_TYPE_PARAM;
48
+ output[1] = start;
49
+ output[2] = start + 1;
50
+ output[3] = end;
51
+ output[4] = end;
52
+ output[5] = end;
53
+ return output;
54
+ }
55
+ const wildcardBracesMatch = part.match(WILDCARD_W_CURLY_BRACES_RE);
56
+ if (wildcardBracesMatch) {
57
+ const pLength = wildcardBracesMatch[1].length;
58
+ output[0] = SEGMENT_TYPE_WILDCARD;
59
+ output[1] = start + pLength;
60
+ output[2] = start + pLength + 1;
61
+ output[3] = start + pLength + 2;
62
+ output[4] = start + pLength + 3;
63
+ output[5] = path.length;
64
+ return output;
65
+ }
66
+ const optionalParamBracesMatch = part.match(OPTIONAL_PARAM_W_CURLY_BRACES_RE);
67
+ if (optionalParamBracesMatch) {
68
+ const prefix$1 = optionalParamBracesMatch[1];
69
+ const paramName = optionalParamBracesMatch[2];
70
+ const suffix = optionalParamBracesMatch[3];
71
+ const pLength = prefix$1.length;
72
+ output[0] = SEGMENT_TYPE_OPTIONAL_PARAM;
73
+ output[1] = start + pLength;
74
+ output[2] = start + pLength + 3;
75
+ output[3] = start + pLength + 3 + paramName.length;
76
+ output[4] = end - suffix.length;
77
+ output[5] = end;
78
+ return output;
79
+ }
80
+ const paramBracesMatch = part.match(PARAM_W_CURLY_BRACES_RE);
81
+ if (paramBracesMatch) {
82
+ const prefix$1 = paramBracesMatch[1];
83
+ const paramName = paramBracesMatch[2];
84
+ const suffix = paramBracesMatch[3];
85
+ const pLength = prefix$1.length;
86
+ output[0] = SEGMENT_TYPE_PARAM;
87
+ output[1] = start + pLength;
88
+ output[2] = start + pLength + 2;
89
+ output[3] = start + pLength + 2 + paramName.length;
90
+ output[4] = end - suffix.length;
91
+ output[5] = end;
92
+ return output;
93
+ }
94
+ output[0] = SEGMENT_TYPE_PATHNAME;
95
+ output[1] = start;
96
+ output[2] = start;
97
+ output[3] = end;
98
+ output[4] = end;
99
+ output[5] = end;
100
+ return output;
101
+ }
102
+
103
+ //#endregion
104
+ //#region ../../node_modules/.bun/@tanstack+router-core@1.141.6/node_modules/@tanstack/router-core/dist/esm/path.js
105
+ function trimPathLeft(path) {
106
+ return path === "/" ? path : path.replace(/^\/{1,}/, "");
107
+ }
108
+ function trimPathRight(path) {
109
+ const len = path.length;
110
+ return len > 1 && path[len - 1] === "/" ? path.replace(/\/{1,}$/, "") : path;
111
+ }
112
+ function trimPath(path) {
113
+ return trimPathRight(trimPathLeft(path));
114
+ }
115
+ function encodeParam(key, params, decodeCharMap) {
116
+ const value = params[key];
117
+ if (typeof value !== "string") return value;
118
+ if (key === "_splat") return encodeURI(value);
119
+ else return encodePathParam(value, decodeCharMap);
120
+ }
121
+ function interpolatePath({ path, params, decodeCharMap }) {
122
+ let isMissingParams = false;
123
+ const usedParams = {};
124
+ if (!path || path === "/") return {
125
+ interpolatedPath: "/",
126
+ usedParams,
127
+ isMissingParams
128
+ };
129
+ if (!path.includes("$")) return {
130
+ interpolatedPath: path,
131
+ usedParams,
132
+ isMissingParams
133
+ };
134
+ const length = path.length;
135
+ let cursor = 0;
136
+ let segment;
137
+ let joined = "";
138
+ while (cursor < length) {
139
+ const start = cursor;
140
+ segment = parseSegment(path, start, segment);
141
+ const end = segment[5];
142
+ cursor = end + 1;
143
+ if (start === end) continue;
144
+ const kind = segment[0];
145
+ if (kind === SEGMENT_TYPE_PATHNAME) {
146
+ joined += "/" + path.substring(start, end);
147
+ continue;
148
+ }
149
+ if (kind === SEGMENT_TYPE_WILDCARD) {
150
+ const splat = params._splat;
151
+ usedParams._splat = splat;
152
+ usedParams["*"] = splat;
153
+ const prefix$1 = path.substring(start, segment[1]);
154
+ const suffix = path.substring(segment[4], end);
155
+ if (!splat) {
156
+ isMissingParams = true;
157
+ if (prefix$1 || suffix) joined += "/" + prefix$1 + suffix;
158
+ continue;
159
+ }
160
+ const value = encodeParam("_splat", params, decodeCharMap);
161
+ joined += "/" + prefix$1 + value + suffix;
162
+ continue;
163
+ }
164
+ if (kind === SEGMENT_TYPE_PARAM) {
165
+ const key = path.substring(segment[2], segment[3]);
166
+ if (!isMissingParams && !(key in params)) isMissingParams = true;
167
+ usedParams[key] = params[key];
168
+ const prefix$1 = path.substring(start, segment[1]);
169
+ const suffix = path.substring(segment[4], end);
170
+ const value = encodeParam(key, params, decodeCharMap) ?? "undefined";
171
+ joined += "/" + prefix$1 + value + suffix;
172
+ continue;
173
+ }
174
+ if (kind === SEGMENT_TYPE_OPTIONAL_PARAM) {
175
+ const key = path.substring(segment[2], segment[3]);
176
+ const valueRaw = params[key];
177
+ if (valueRaw == null) continue;
178
+ usedParams[key] = valueRaw;
179
+ const prefix$1 = path.substring(start, segment[1]);
180
+ const suffix = path.substring(segment[4], end);
181
+ const value = encodeParam(key, params, decodeCharMap) ?? "";
182
+ joined += "/" + prefix$1 + value + suffix;
183
+ continue;
184
+ }
185
+ }
186
+ if (path.endsWith("/")) joined += "/";
187
+ return {
188
+ usedParams,
189
+ interpolatedPath: joined || "/",
190
+ isMissingParams
191
+ };
192
+ }
193
+ function encodePathParam(value, decodeCharMap) {
194
+ let encoded = encodeURIComponent(value);
195
+ if (decodeCharMap) for (const [encodedChar, char] of decodeCharMap) encoded = encoded.replaceAll(encodedChar, char);
196
+ return encoded;
197
+ }
198
+
199
+ //#endregion
200
+ //#region ../../node_modules/.bun/@tanstack+router-core@1.141.6/node_modules/@tanstack/router-core/dist/esm/root.js
201
+ const rootRouteId = "__root__";
202
+
203
+ //#endregion
204
+ //#region ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
205
+ function r$1(e$1) {
206
+ var t$1, f$1, n$1 = "";
207
+ if ("string" == typeof e$1 || "number" == typeof e$1) n$1 += e$1;
208
+ else if ("object" == typeof e$1) if (Array.isArray(e$1)) {
209
+ var o$1 = e$1.length;
210
+ for (t$1 = 0; t$1 < o$1; t$1++) e$1[t$1] && (f$1 = r$1(e$1[t$1])) && (n$1 && (n$1 += " "), n$1 += f$1);
211
+ } else for (f$1 in e$1) e$1[f$1] && (n$1 && (n$1 += " "), n$1 += f$1);
212
+ return n$1;
213
+ }
214
+ function clsx() {
215
+ for (var e$1, t$1, f$1 = 0, n$1 = "", o$1 = arguments.length; f$1 < o$1; f$1++) (e$1 = arguments[f$1]) && (t$1 = r$1(e$1)) && (n$1 && (n$1 += " "), n$1 += t$1);
216
+ return n$1;
217
+ }
218
+
219
+ //#endregion
220
+ //#region ../../node_modules/.bun/goober@2.1.18+0f41441494533184/node_modules/goober/dist/goober.modern.js
221
+ let e = { data: "" }, t = (t$1) => {
222
+ if ("object" == typeof window) {
223
+ let e$1 = (t$1 ? t$1.querySelector("#_goober") : window._goober) || Object.assign(document.createElement("style"), {
224
+ innerHTML: " ",
225
+ id: "_goober"
226
+ });
227
+ return e$1.nonce = window.__nonce__, e$1.parentNode || (t$1 || document.head).appendChild(e$1), e$1.firstChild;
228
+ }
229
+ return t$1 || e;
230
+ }, r = (e$1) => {
231
+ let r$2 = t(e$1), l$1 = r$2.data;
232
+ return r$2.data = "", l$1;
233
+ }, l = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, a = /\/\*[^]*?\*\/| +/g, n = /\n+/g, o = (e$1, t$1) => {
234
+ let r$2 = "", l$1 = "", a$1 = "";
235
+ for (let n$1 in e$1) {
236
+ let c$1 = e$1[n$1];
237
+ "@" == n$1[0] ? "i" == n$1[1] ? r$2 = n$1 + " " + c$1 + ";" : l$1 += "f" == n$1[1] ? o(c$1, n$1) : n$1 + "{" + o(c$1, "k" == n$1[1] ? "" : t$1) + "}" : "object" == typeof c$1 ? l$1 += o(c$1, t$1 ? t$1.replace(/([^,])+/g, (e$2) => n$1.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (t$2) => /&/.test(t$2) ? t$2.replace(/&/g, e$2) : e$2 ? e$2 + " " + t$2 : t$2)) : n$1) : null != c$1 && (n$1 = /^--/.test(n$1) ? n$1 : n$1.replace(/[A-Z]/g, "-$&").toLowerCase(), a$1 += o.p ? o.p(n$1, c$1) : n$1 + ":" + c$1 + ";");
238
+ }
239
+ return r$2 + (t$1 && a$1 ? t$1 + "{" + a$1 + "}" : a$1) + l$1;
240
+ }, c = {}, s = (e$1) => {
241
+ if ("object" == typeof e$1) {
242
+ let t$1 = "";
243
+ for (let r$2 in e$1) t$1 += r$2 + s(e$1[r$2]);
244
+ return t$1;
245
+ }
246
+ return e$1;
247
+ }, i = (e$1, t$1, r$2, i$1, p$1) => {
248
+ let u$1 = s(e$1), d$1 = c[u$1] || (c[u$1] = ((e$2) => {
249
+ let t$2 = 0, r$3 = 11;
250
+ for (; t$2 < e$2.length;) r$3 = 101 * r$3 + e$2.charCodeAt(t$2++) >>> 0;
251
+ return "go" + r$3;
252
+ })(u$1));
253
+ if (!c[d$1]) {
254
+ let t$2 = u$1 !== e$1 ? e$1 : ((e$2) => {
255
+ let t$3, r$3, o$1 = [{}];
256
+ for (; t$3 = l.exec(e$2.replace(a, ""));) t$3[4] ? o$1.shift() : t$3[3] ? (r$3 = t$3[3].replace(n, " ").trim(), o$1.unshift(o$1[0][r$3] = o$1[0][r$3] || {})) : o$1[0][t$3[1]] = t$3[2].replace(n, " ").trim();
257
+ return o$1[0];
258
+ })(e$1);
259
+ c[d$1] = o(p$1 ? { ["@keyframes " + d$1]: t$2 } : t$2, r$2 ? "" : "." + d$1);
260
+ }
261
+ let f$1 = r$2 && c.g ? c.g : null;
262
+ return r$2 && (c.g = c[d$1]), ((e$2, t$2, r$3, l$1) => {
263
+ l$1 ? t$2.data = t$2.data.replace(l$1, e$2) : -1 === t$2.data.indexOf(e$2) && (t$2.data = r$3 ? e$2 + t$2.data : t$2.data + e$2);
264
+ })(c[d$1], t$1, i$1, f$1), d$1;
265
+ }, p = (e$1, t$1, r$2) => e$1.reduce((e$2, l$1, a$1) => {
266
+ let n$1 = t$1[a$1];
267
+ if (n$1 && n$1.call) {
268
+ let e$3 = n$1(r$2), t$2 = e$3 && e$3.props && e$3.props.className || /^go/.test(e$3) && e$3;
269
+ n$1 = t$2 ? "." + t$2 : e$3 && "object" == typeof e$3 ? e$3.props ? "" : o(e$3, "") : !1 === e$3 ? "" : e$3;
270
+ }
271
+ return e$2 + l$1 + (null == n$1 ? "" : n$1);
272
+ }, "");
273
+ function u(e$1) {
274
+ let r$2 = this || {}, l$1 = e$1.call ? e$1(r$2.p) : e$1;
275
+ return i(l$1.unshift ? l$1.raw ? p(l$1, [].slice.call(arguments, 1), r$2.p) : l$1.reduce((e$2, t$1) => Object.assign(e$2, t$1 && t$1.call ? t$1(r$2.p) : t$1), {}) : l$1, t(r$2.target), r$2.g, r$2.o, r$2.k);
276
+ }
277
+ let d, f, g, b = u.bind({ g: 1 }), h = u.bind({ k: 1 });
278
+
279
+ //#endregion
280
+ //#region ../../node_modules/.bun/@tanstack+router-devtools-core@1.141.6+2acfa48c1cd83bfa/node_modules/@tanstack/router-devtools-core/dist/BaseTanStackRouterDevtoolsPanel-BBz1qLry.js
281
+ const isServer = typeof window === "undefined";
282
+ function getStatusColor(match) {
283
+ return match.isFetching && match.status === "success" ? match.isFetching === "beforeLoad" ? "purple" : "blue" : {
284
+ pending: "yellow",
285
+ success: "green",
286
+ error: "red",
287
+ notFound: "purple",
288
+ redirected: "gray"
289
+ }[match.status];
290
+ }
291
+ function getRouteStatusColor(matches, route) {
292
+ const found = matches.find((d$1) => d$1.routeId === route.id);
293
+ if (!found) return "gray";
294
+ return getStatusColor(found);
295
+ }
296
+ function useIsMounted() {
297
+ const [isMounted, setIsMounted] = createSignal(false);
298
+ (isServer ? createEffect : createRenderEffect)(() => {
299
+ setIsMounted(true);
300
+ });
301
+ return isMounted;
302
+ }
303
+ const displayValue = (value) => {
304
+ const name = Object.getOwnPropertyNames(Object(value));
305
+ const newValue = typeof value === "bigint" ? `${value.toString()}n` : value;
306
+ try {
307
+ return JSON.stringify(newValue, name);
308
+ } catch (e$1) {
309
+ return `unable to stringify`;
310
+ }
311
+ };
312
+ function multiSortBy(arr, accessors = [(d$1) => d$1]) {
313
+ return arr.map((d$1, i$1) => [d$1, i$1]).sort(([a$1, ai], [b$1, bi]) => {
314
+ for (const accessor of accessors) {
315
+ const ao = accessor(a$1);
316
+ const bo = accessor(b$1);
317
+ if (typeof ao === "undefined") {
318
+ if (typeof bo === "undefined") continue;
319
+ return 1;
320
+ }
321
+ if (ao === bo) continue;
322
+ return ao > bo ? 1 : -1;
323
+ }
324
+ return ai - bi;
325
+ }).map(([d$1]) => d$1);
326
+ }
327
+ const tokens = {
328
+ colors: {
329
+ inherit: "inherit",
330
+ current: "currentColor",
331
+ transparent: "transparent",
332
+ black: "#000000",
333
+ white: "#ffffff",
334
+ neutral: {
335
+ 50: "#f9fafb",
336
+ 100: "#f2f4f7",
337
+ 200: "#eaecf0",
338
+ 300: "#d0d5dd",
339
+ 400: "#98a2b3",
340
+ 500: "#667085",
341
+ 600: "#475467",
342
+ 700: "#344054",
343
+ 800: "#1d2939",
344
+ 900: "#101828"
345
+ },
346
+ darkGray: {
347
+ 50: "#525c7a",
348
+ 100: "#49536e",
349
+ 200: "#414962",
350
+ 300: "#394056",
351
+ 400: "#313749",
352
+ 500: "#292e3d",
353
+ 600: "#212530",
354
+ 700: "#191c24",
355
+ 800: "#111318",
356
+ 900: "#0b0d10"
357
+ },
358
+ gray: {
359
+ 50: "#f9fafb",
360
+ 100: "#f2f4f7",
361
+ 200: "#eaecf0",
362
+ 300: "#d0d5dd",
363
+ 400: "#98a2b3",
364
+ 500: "#667085",
365
+ 600: "#475467",
366
+ 700: "#344054",
367
+ 800: "#1d2939",
368
+ 900: "#101828"
369
+ },
370
+ blue: {
371
+ 25: "#F5FAFF",
372
+ 50: "#EFF8FF",
373
+ 100: "#D1E9FF",
374
+ 200: "#B2DDFF",
375
+ 300: "#84CAFF",
376
+ 400: "#53B1FD",
377
+ 500: "#2E90FA",
378
+ 600: "#1570EF",
379
+ 700: "#175CD3",
380
+ 800: "#1849A9",
381
+ 900: "#194185"
382
+ },
383
+ green: {
384
+ 25: "#F6FEF9",
385
+ 50: "#ECFDF3",
386
+ 100: "#D1FADF",
387
+ 200: "#A6F4C5",
388
+ 300: "#6CE9A6",
389
+ 400: "#32D583",
390
+ 500: "#12B76A",
391
+ 600: "#039855",
392
+ 700: "#027A48",
393
+ 800: "#05603A",
394
+ 900: "#054F31"
395
+ },
396
+ red: {
397
+ 50: "#fef2f2",
398
+ 100: "#fee2e2",
399
+ 200: "#fecaca",
400
+ 300: "#fca5a5",
401
+ 400: "#f87171",
402
+ 500: "#ef4444",
403
+ 600: "#dc2626",
404
+ 700: "#b91c1c",
405
+ 800: "#991b1b",
406
+ 900: "#7f1d1d",
407
+ 950: "#450a0a"
408
+ },
409
+ yellow: {
410
+ 25: "#FFFCF5",
411
+ 50: "#FFFAEB",
412
+ 100: "#FEF0C7",
413
+ 200: "#FEDF89",
414
+ 300: "#FEC84B",
415
+ 400: "#FDB022",
416
+ 500: "#F79009",
417
+ 600: "#DC6803",
418
+ 700: "#B54708",
419
+ 800: "#93370D",
420
+ 900: "#7A2E0E"
421
+ },
422
+ purple: {
423
+ 25: "#FAFAFF",
424
+ 50: "#F4F3FF",
425
+ 100: "#EBE9FE",
426
+ 200: "#D9D6FE",
427
+ 300: "#BDB4FE",
428
+ 400: "#9B8AFB",
429
+ 500: "#7A5AF8",
430
+ 600: "#6938EF",
431
+ 700: "#5925DC",
432
+ 800: "#4A1FB8",
433
+ 900: "#3E1C96"
434
+ },
435
+ teal: {
436
+ 25: "#F6FEFC",
437
+ 50: "#F0FDF9",
438
+ 100: "#CCFBEF",
439
+ 200: "#99F6E0",
440
+ 300: "#5FE9D0",
441
+ 400: "#2ED3B7",
442
+ 500: "#15B79E",
443
+ 600: "#0E9384",
444
+ 700: "#107569",
445
+ 800: "#125D56",
446
+ 900: "#134E48"
447
+ },
448
+ pink: {
449
+ 25: "#fdf2f8",
450
+ 50: "#fce7f3",
451
+ 100: "#fbcfe8",
452
+ 200: "#f9a8d4",
453
+ 300: "#f472b6",
454
+ 400: "#ec4899",
455
+ 500: "#db2777",
456
+ 600: "#be185d",
457
+ 700: "#9d174d",
458
+ 800: "#831843",
459
+ 900: "#500724"
460
+ },
461
+ cyan: {
462
+ 25: "#ecfeff",
463
+ 50: "#cffafe",
464
+ 100: "#a5f3fc",
465
+ 200: "#67e8f9",
466
+ 300: "#22d3ee",
467
+ 400: "#06b6d4",
468
+ 500: "#0891b2",
469
+ 600: "#0e7490",
470
+ 700: "#155e75",
471
+ 800: "#164e63",
472
+ 900: "#083344"
473
+ }
474
+ },
475
+ alpha: {
476
+ 90: "e5",
477
+ 70: "b3",
478
+ 20: "33"
479
+ },
480
+ font: {
481
+ size: {
482
+ "2xs": "calc(var(--tsrd-font-size) * 0.625)",
483
+ xs: "calc(var(--tsrd-font-size) * 0.75)",
484
+ sm: "calc(var(--tsrd-font-size) * 0.875)",
485
+ md: "var(--tsrd-font-size)"
486
+ },
487
+ lineHeight: {
488
+ xs: "calc(var(--tsrd-font-size) * 1)",
489
+ sm: "calc(var(--tsrd-font-size) * 1.25)"
490
+ },
491
+ weight: {
492
+ normal: "400",
493
+ medium: "500",
494
+ semibold: "600",
495
+ bold: "700"
496
+ },
497
+ fontFamily: {
498
+ sans: "ui-sans-serif, Inter, system-ui, sans-serif, sans-serif",
499
+ mono: `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace`
500
+ }
501
+ },
502
+ border: { radius: {
503
+ xs: "calc(var(--tsrd-font-size) * 0.125)",
504
+ sm: "calc(var(--tsrd-font-size) * 0.25)",
505
+ md: "calc(var(--tsrd-font-size) * 0.375)",
506
+ full: "9999px"
507
+ } },
508
+ size: {
509
+ 0: "0px",
510
+ .5: "calc(var(--tsrd-font-size) * 0.125)",
511
+ 1: "calc(var(--tsrd-font-size) * 0.25)",
512
+ 1.5: "calc(var(--tsrd-font-size) * 0.375)",
513
+ 2: "calc(var(--tsrd-font-size) * 0.5)",
514
+ 2.5: "calc(var(--tsrd-font-size) * 0.625)",
515
+ 3: "calc(var(--tsrd-font-size) * 0.75)",
516
+ 3.5: "calc(var(--tsrd-font-size) * 0.875)",
517
+ 4: "calc(var(--tsrd-font-size) * 1)",
518
+ 5: "calc(var(--tsrd-font-size) * 1.25)",
519
+ 8: "calc(var(--tsrd-font-size) * 2)"
520
+ }
521
+ };
522
+ const stylesFactory$1 = (shadowDOMTarget) => {
523
+ const { colors, font, size, alpha, border } = tokens;
524
+ const { fontFamily, lineHeight, size: fontSize } = font;
525
+ const css = shadowDOMTarget ? u.bind({ target: shadowDOMTarget }) : u;
526
+ return {
527
+ devtoolsPanelContainer: css`
528
+ direction: ltr;
529
+ position: fixed;
530
+ bottom: 0;
531
+ right: 0;
532
+ z-index: 99999;
533
+ width: 100%;
534
+ max-height: 90%;
535
+ border-top: 1px solid ${colors.gray[700]};
536
+ transform-origin: top;
537
+ `,
538
+ devtoolsPanelContainerVisibility: (isOpen) => {
539
+ return css`
540
+ visibility: ${isOpen ? "visible" : "hidden"};
541
+ `;
542
+ },
543
+ devtoolsPanelContainerResizing: (isResizing) => {
544
+ if (isResizing()) return css`
545
+ transition: none;
546
+ `;
547
+ return css`
548
+ transition: all 0.4s ease;
549
+ `;
550
+ },
551
+ devtoolsPanelContainerAnimation: (isOpen, height) => {
552
+ if (isOpen) return css`
553
+ pointer-events: auto;
554
+ transform: translateY(0);
555
+ `;
556
+ return css`
557
+ pointer-events: none;
558
+ transform: translateY(${height}px);
559
+ `;
560
+ },
561
+ logo: css`
562
+ cursor: pointer;
563
+ display: flex;
564
+ flex-direction: column;
565
+ background-color: transparent;
566
+ border: none;
567
+ font-family: ${fontFamily.sans};
568
+ gap: ${tokens.size[.5]};
569
+ padding: 0px;
570
+ &:hover {
571
+ opacity: 0.7;
572
+ }
573
+ &:focus-visible {
574
+ outline-offset: 4px;
575
+ border-radius: ${border.radius.xs};
576
+ outline: 2px solid ${colors.blue[800]};
577
+ }
578
+ `,
579
+ tanstackLogo: css`
580
+ font-size: ${font.size.md};
581
+ font-weight: ${font.weight.bold};
582
+ line-height: ${font.lineHeight.xs};
583
+ white-space: nowrap;
584
+ color: ${colors.gray[300]};
585
+ `,
586
+ routerLogo: css`
587
+ font-weight: ${font.weight.semibold};
588
+ font-size: ${font.size.xs};
589
+ background: linear-gradient(to right, #84cc16, #10b981);
590
+ background-clip: text;
591
+ -webkit-background-clip: text;
592
+ line-height: 1;
593
+ -webkit-text-fill-color: transparent;
594
+ white-space: nowrap;
595
+ `,
596
+ devtoolsPanel: css`
597
+ display: flex;
598
+ font-size: ${fontSize.sm};
599
+ font-family: ${fontFamily.sans};
600
+ background-color: ${colors.darkGray[700]};
601
+ color: ${colors.gray[300]};
602
+
603
+ @media (max-width: 700px) {
604
+ flex-direction: column;
605
+ }
606
+ @media (max-width: 600px) {
607
+ font-size: ${fontSize.xs};
608
+ }
609
+ `,
610
+ dragHandle: css`
611
+ position: absolute;
612
+ left: 0;
613
+ top: 0;
614
+ width: 100%;
615
+ height: 4px;
616
+ cursor: row-resize;
617
+ z-index: 100000;
618
+ &:hover {
619
+ background-color: ${colors.purple[400]}${alpha[90]};
620
+ }
621
+ `,
622
+ firstContainer: css`
623
+ flex: 1 1 500px;
624
+ min-height: 40%;
625
+ max-height: 100%;
626
+ overflow: auto;
627
+ border-right: 1px solid ${colors.gray[700]};
628
+ display: flex;
629
+ flex-direction: column;
630
+ `,
631
+ routerExplorerContainer: css`
632
+ overflow-y: auto;
633
+ flex: 1;
634
+ `,
635
+ routerExplorer: css`
636
+ padding: ${tokens.size[2]};
637
+ `,
638
+ row: css`
639
+ display: flex;
640
+ align-items: center;
641
+ padding: ${tokens.size[2]} ${tokens.size[2.5]};
642
+ gap: ${tokens.size[2.5]};
643
+ border-bottom: ${colors.darkGray[500]} 1px solid;
644
+ align-items: center;
645
+ `,
646
+ detailsHeader: css`
647
+ font-family: ui-sans-serif, Inter, system-ui, sans-serif, sans-serif;
648
+ position: sticky;
649
+ top: 0;
650
+ z-index: 2;
651
+ background-color: ${colors.darkGray[600]};
652
+ padding: 0px ${tokens.size[2]};
653
+ font-weight: ${font.weight.medium};
654
+ font-size: ${font.size.xs};
655
+ min-height: ${tokens.size[8]};
656
+ line-height: ${font.lineHeight.xs};
657
+ text-align: left;
658
+ display: flex;
659
+ align-items: center;
660
+ `,
661
+ maskedBadge: css`
662
+ background: ${colors.yellow[900]}${alpha[70]};
663
+ color: ${colors.yellow[300]};
664
+ display: inline-block;
665
+ padding: ${tokens.size[0]} ${tokens.size[2.5]};
666
+ border-radius: ${border.radius.full};
667
+ font-size: ${font.size.xs};
668
+ font-weight: ${font.weight.normal};
669
+ border: 1px solid ${colors.yellow[300]};
670
+ `,
671
+ maskedLocation: css`
672
+ color: ${colors.yellow[300]};
673
+ `,
674
+ detailsContent: css`
675
+ padding: ${tokens.size[1.5]} ${tokens.size[2]};
676
+ display: flex;
677
+ align-items: center;
678
+ justify-content: space-between;
679
+ font-size: ${font.size.xs};
680
+ `,
681
+ routeMatchesToggle: css`
682
+ display: flex;
683
+ align-items: center;
684
+ border: 1px solid ${colors.gray[500]};
685
+ border-radius: ${border.radius.sm};
686
+ overflow: hidden;
687
+ `,
688
+ routeMatchesToggleBtn: (active, showBorder) => {
689
+ const classes = [css`
690
+ appearance: none;
691
+ border: none;
692
+ font-size: 12px;
693
+ padding: 4px 8px;
694
+ background: transparent;
695
+ cursor: pointer;
696
+ font-family: ${fontFamily.sans};
697
+ font-weight: ${font.weight.medium};
698
+ `];
699
+ if (active) {
700
+ const activeStyles = css`
701
+ background: ${colors.darkGray[400]};
702
+ color: ${colors.gray[300]};
703
+ `;
704
+ classes.push(activeStyles);
705
+ } else {
706
+ const inactiveStyles = css`
707
+ color: ${colors.gray[500]};
708
+ background: ${colors.darkGray[800]}${alpha[20]};
709
+ `;
710
+ classes.push(inactiveStyles);
711
+ }
712
+ if (showBorder) classes.push(css`
713
+ border-right: 1px solid ${tokens.colors.gray[500]};
714
+ `);
715
+ return classes;
716
+ },
717
+ detailsHeaderInfo: css`
718
+ flex: 1;
719
+ justify-content: flex-end;
720
+ display: flex;
721
+ align-items: center;
722
+ font-weight: ${font.weight.normal};
723
+ color: ${colors.gray[400]};
724
+ `,
725
+ matchRow: (active) => {
726
+ const classes = [css`
727
+ display: flex;
728
+ border-bottom: 1px solid ${colors.darkGray[400]};
729
+ cursor: pointer;
730
+ align-items: center;
731
+ padding: ${size[1]} ${size[2]};
732
+ gap: ${size[2]};
733
+ font-size: ${fontSize.xs};
734
+ color: ${colors.gray[300]};
735
+ `];
736
+ if (active) {
737
+ const activeStyles = css`
738
+ background: ${colors.darkGray[500]};
739
+ `;
740
+ classes.push(activeStyles);
741
+ }
742
+ return classes;
743
+ },
744
+ matchIndicator: (color) => {
745
+ const classes = [css`
746
+ flex: 0 0 auto;
747
+ width: ${size[3]};
748
+ height: ${size[3]};
749
+ background: ${colors[color][900]};
750
+ border: 1px solid ${colors[color][500]};
751
+ border-radius: ${border.radius.full};
752
+ transition: all 0.25s ease-out;
753
+ box-sizing: border-box;
754
+ `];
755
+ if (color === "gray") {
756
+ const grayStyles = css`
757
+ background: ${colors.gray[700]};
758
+ border-color: ${colors.gray[400]};
759
+ `;
760
+ classes.push(grayStyles);
761
+ }
762
+ return classes;
763
+ },
764
+ matchID: css`
765
+ flex: 1;
766
+ line-height: ${lineHeight["xs"]};
767
+ `,
768
+ ageTicker: (showWarning) => {
769
+ const classes = [css`
770
+ display: flex;
771
+ gap: ${size[1]};
772
+ font-size: ${fontSize.xs};
773
+ color: ${colors.gray[400]};
774
+ font-variant-numeric: tabular-nums;
775
+ line-height: ${lineHeight["xs"]};
776
+ `];
777
+ if (showWarning) {
778
+ const warningStyles = css`
779
+ color: ${colors.yellow[400]};
780
+ `;
781
+ classes.push(warningStyles);
782
+ }
783
+ return classes;
784
+ },
785
+ secondContainer: css`
786
+ flex: 1 1 500px;
787
+ min-height: 40%;
788
+ max-height: 100%;
789
+ overflow: auto;
790
+ border-right: 1px solid ${colors.gray[700]};
791
+ display: flex;
792
+ flex-direction: column;
793
+ `,
794
+ thirdContainer: css`
795
+ flex: 1 1 500px;
796
+ overflow: auto;
797
+ display: flex;
798
+ flex-direction: column;
799
+ height: 100%;
800
+ border-right: 1px solid ${colors.gray[700]};
801
+
802
+ @media (max-width: 700px) {
803
+ border-top: 2px solid ${colors.gray[700]};
804
+ }
805
+ `,
806
+ fourthContainer: css`
807
+ flex: 1 1 500px;
808
+ min-height: 40%;
809
+ max-height: 100%;
810
+ overflow: auto;
811
+ display: flex;
812
+ flex-direction: column;
813
+ `,
814
+ routesContainer: css`
815
+ overflow-x: auto;
816
+ overflow-y: visible;
817
+ `,
818
+ routesRowContainer: (active, isMatch) => {
819
+ const classes = [css`
820
+ display: flex;
821
+ border-bottom: 1px solid ${colors.darkGray[400]};
822
+ align-items: center;
823
+ padding: ${size[1]} ${size[2]};
824
+ gap: ${size[2]};
825
+ font-size: ${fontSize.xs};
826
+ color: ${colors.gray[300]};
827
+ cursor: ${isMatch ? "pointer" : "default"};
828
+ line-height: ${lineHeight["xs"]};
829
+ `];
830
+ if (active) {
831
+ const activeStyles = css`
832
+ background: ${colors.darkGray[500]};
833
+ `;
834
+ classes.push(activeStyles);
835
+ }
836
+ return classes;
837
+ },
838
+ routesRow: (isMatch) => {
839
+ const classes = [css`
840
+ flex: 1 0 auto;
841
+ display: flex;
842
+ justify-content: space-between;
843
+ align-items: center;
844
+ font-size: ${fontSize.xs};
845
+ line-height: ${lineHeight["xs"]};
846
+ `];
847
+ if (!isMatch) {
848
+ const matchStyles = css`
849
+ color: ${colors.gray[400]};
850
+ `;
851
+ classes.push(matchStyles);
852
+ }
853
+ return classes;
854
+ },
855
+ routesRowInner: css`
856
+ display: 'flex';
857
+ align-items: 'center';
858
+ flex-grow: 1;
859
+ min-width: 0;
860
+ `,
861
+ routeParamInfo: css`
862
+ color: ${colors.gray[400]};
863
+ font-size: ${fontSize.xs};
864
+ line-height: ${lineHeight["xs"]};
865
+ `,
866
+ nestedRouteRow: (isRoot) => {
867
+ return css`
868
+ margin-left: ${isRoot ? 0 : size[3.5]};
869
+ border-left: ${isRoot ? "" : `solid 1px ${colors.gray[700]}`};
870
+ `;
871
+ },
872
+ code: css`
873
+ font-size: ${fontSize.xs};
874
+ line-height: ${lineHeight["xs"]};
875
+ white-space: nowrap;
876
+ overflow: hidden;
877
+ text-overflow: ellipsis;
878
+ `,
879
+ matchesContainer: css`
880
+ flex: 1 1 auto;
881
+ overflow-y: auto;
882
+ `,
883
+ cachedMatchesContainer: css`
884
+ flex: 1 1 auto;
885
+ overflow-y: auto;
886
+ max-height: 50%;
887
+ `,
888
+ historyContainer: css`
889
+ display: flex;
890
+ flex: 1 1 auto;
891
+ overflow-y: auto;
892
+ max-height: 50%;
893
+ `,
894
+ historyOverflowContainer: css`
895
+ padding: ${size[1]} ${size[2]};
896
+ font-size: ${tokens.font.size.xs};
897
+ `,
898
+ maskedBadgeContainer: css`
899
+ flex: 1;
900
+ justify-content: flex-end;
901
+ display: flex;
902
+ `,
903
+ matchDetails: css`
904
+ display: flex;
905
+ flex-direction: column;
906
+ padding: ${tokens.size[2]};
907
+ font-size: ${tokens.font.size.xs};
908
+ color: ${tokens.colors.gray[300]};
909
+ line-height: ${tokens.font.lineHeight.sm};
910
+ `,
911
+ matchStatus: (status, isFetching) => {
912
+ const color = isFetching && status === "success" ? isFetching === "beforeLoad" ? "purple" : "blue" : {
913
+ pending: "yellow",
914
+ success: "green",
915
+ error: "red",
916
+ notFound: "purple",
917
+ redirected: "gray"
918
+ }[status];
919
+ return css`
920
+ display: flex;
921
+ justify-content: center;
922
+ align-items: center;
923
+ height: 40px;
924
+ border-radius: ${tokens.border.radius.sm};
925
+ font-weight: ${tokens.font.weight.normal};
926
+ background-color: ${tokens.colors[color][900]}${tokens.alpha[90]};
927
+ color: ${tokens.colors[color][300]};
928
+ border: 1px solid ${tokens.colors[color][600]};
929
+ margin-bottom: ${tokens.size[2]};
930
+ transition: all 0.25s ease-out;
931
+ `;
932
+ },
933
+ matchDetailsInfo: css`
934
+ display: flex;
935
+ justify-content: flex-end;
936
+ flex: 1;
937
+ `,
938
+ matchDetailsInfoLabel: css`
939
+ display: flex;
940
+ `,
941
+ mainCloseBtn: css`
942
+ background: ${colors.darkGray[700]};
943
+ padding: ${size[1]} ${size[2]} ${size[1]} ${size[1.5]};
944
+ border-radius: ${border.radius.md};
945
+ position: fixed;
946
+ z-index: 99999;
947
+ display: inline-flex;
948
+ width: fit-content;
949
+ cursor: pointer;
950
+ appearance: none;
951
+ border: 0;
952
+ gap: 8px;
953
+ align-items: center;
954
+ border: 1px solid ${colors.gray[500]};
955
+ font-size: ${font.size.xs};
956
+ cursor: pointer;
957
+ transition: all 0.25s ease-out;
958
+
959
+ &:hover {
960
+ background: ${colors.darkGray[500]};
961
+ }
962
+ `,
963
+ mainCloseBtnPosition: (position) => {
964
+ return css`
965
+ ${position === "top-left" ? `top: ${size[2]}; left: ${size[2]};` : ""}
966
+ ${position === "top-right" ? `top: ${size[2]}; right: ${size[2]};` : ""}
967
+ ${position === "bottom-left" ? `bottom: ${size[2]}; left: ${size[2]};` : ""}
968
+ ${position === "bottom-right" ? `bottom: ${size[2]}; right: ${size[2]};` : ""}
969
+ `;
970
+ },
971
+ mainCloseBtnAnimation: (isOpen) => {
972
+ if (!isOpen) return css`
973
+ opacity: 1;
974
+ pointer-events: auto;
975
+ visibility: visible;
976
+ `;
977
+ return css`
978
+ opacity: 0;
979
+ pointer-events: none;
980
+ visibility: hidden;
981
+ `;
982
+ },
983
+ routerLogoCloseButton: css`
984
+ font-weight: ${font.weight.semibold};
985
+ font-size: ${font.size.xs};
986
+ background: linear-gradient(to right, #98f30c, #00f4a3);
987
+ background-clip: text;
988
+ -webkit-background-clip: text;
989
+ line-height: 1;
990
+ -webkit-text-fill-color: transparent;
991
+ white-space: nowrap;
992
+ `,
993
+ mainCloseBtnDivider: css`
994
+ width: 1px;
995
+ background: ${tokens.colors.gray[600]};
996
+ height: 100%;
997
+ border-radius: 999999px;
998
+ color: transparent;
999
+ `,
1000
+ mainCloseBtnIconContainer: css`
1001
+ position: relative;
1002
+ width: ${size[5]};
1003
+ height: ${size[5]};
1004
+ background: pink;
1005
+ border-radius: 999999px;
1006
+ overflow: hidden;
1007
+ `,
1008
+ mainCloseBtnIconOuter: css`
1009
+ width: ${size[5]};
1010
+ height: ${size[5]};
1011
+ position: absolute;
1012
+ top: 50%;
1013
+ left: 50%;
1014
+ transform: translate(-50%, -50%);
1015
+ filter: blur(3px) saturate(1.8) contrast(2);
1016
+ `,
1017
+ mainCloseBtnIconInner: css`
1018
+ width: ${size[4]};
1019
+ height: ${size[4]};
1020
+ position: absolute;
1021
+ top: 50%;
1022
+ left: 50%;
1023
+ transform: translate(-50%, -50%);
1024
+ `,
1025
+ panelCloseBtn: css`
1026
+ position: absolute;
1027
+ cursor: pointer;
1028
+ z-index: 100001;
1029
+ display: flex;
1030
+ align-items: center;
1031
+ justify-content: center;
1032
+ outline: none;
1033
+ background-color: ${colors.darkGray[700]};
1034
+ &:hover {
1035
+ background-color: ${colors.darkGray[500]};
1036
+ }
1037
+
1038
+ top: 0;
1039
+ right: ${size[2]};
1040
+ transform: translate(0, -100%);
1041
+ border-right: ${colors.darkGray[300]} 1px solid;
1042
+ border-left: ${colors.darkGray[300]} 1px solid;
1043
+ border-top: ${colors.darkGray[300]} 1px solid;
1044
+ border-bottom: none;
1045
+ border-radius: ${border.radius.sm} ${border.radius.sm} 0px 0px;
1046
+ padding: ${size[1]} ${size[1.5]} ${size[.5]} ${size[1.5]};
1047
+
1048
+ &::after {
1049
+ content: ' ';
1050
+ position: absolute;
1051
+ top: 100%;
1052
+ left: -${size[2.5]};
1053
+ height: ${size[1.5]};
1054
+ width: calc(100% + ${size[5]});
1055
+ }
1056
+ `,
1057
+ panelCloseBtnIcon: css`
1058
+ color: ${colors.gray[400]};
1059
+ width: ${size[2]};
1060
+ height: ${size[2]};
1061
+ `,
1062
+ navigateButton: css`
1063
+ background: none;
1064
+ border: none;
1065
+ padding: 0 0 0 4px;
1066
+ margin: 0;
1067
+ color: ${colors.gray[400]};
1068
+ font-size: ${fontSize.md};
1069
+ cursor: pointer;
1070
+ line-height: 1;
1071
+ vertical-align: middle;
1072
+ margin-right: 0.5ch;
1073
+ flex-shrink: 0;
1074
+ &:hover {
1075
+ color: ${colors.blue[300]};
1076
+ }
1077
+ `
1078
+ };
1079
+ };
1080
+ function useStyles$1() {
1081
+ const [_styles] = createSignal(stylesFactory$1(useContext(ShadowDomTargetContext)));
1082
+ return _styles;
1083
+ }
1084
+ const getItem = (key) => {
1085
+ try {
1086
+ const itemValue = localStorage.getItem(key);
1087
+ if (typeof itemValue === "string") return JSON.parse(itemValue);
1088
+ return;
1089
+ } catch {
1090
+ return;
1091
+ }
1092
+ };
1093
+ function useLocalStorage(key, defaultValue) {
1094
+ const [value, setValue] = createSignal();
1095
+ createEffect(() => {
1096
+ const initialValue = getItem(key);
1097
+ if (typeof initialValue === "undefined" || initialValue === null) setValue(typeof defaultValue === "function" ? defaultValue() : defaultValue);
1098
+ else setValue(initialValue);
1099
+ });
1100
+ const setter = (updater) => {
1101
+ setValue((old) => {
1102
+ let newVal = updater;
1103
+ if (typeof updater == "function") newVal = updater(old);
1104
+ try {
1105
+ localStorage.setItem(key, JSON.stringify(newVal));
1106
+ } catch {}
1107
+ return newVal;
1108
+ });
1109
+ };
1110
+ return [value, setter];
1111
+ }
1112
+ var _tmpl$$3 = /* @__PURE__ */ template(`<span><svg xmlns=http://www.w3.org/2000/svg width=12 height=12 fill=none viewBox="0 0 24 24"><path stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 18l6-6-6-6">`), _tmpl$2$1 = /* @__PURE__ */ template(`<div>`), _tmpl$3$1 = /* @__PURE__ */ template(`<button><span> `), _tmpl$4$1 = /* @__PURE__ */ template(`<div><div><button> [<!> ... <!>]`), _tmpl$5$1 = /* @__PURE__ */ template(`<button><span></span> 🔄 `), _tmpl$6$1 = /* @__PURE__ */ template(`<span>:`), _tmpl$7$1 = /* @__PURE__ */ template(`<span>`);
1113
+ const Expander = ({ expanded, style = {} }) => {
1114
+ const styles = useStyles();
1115
+ return (() => {
1116
+ var _el$ = _tmpl$$3(), _el$2 = _el$.firstChild;
1117
+ createRenderEffect((_p$) => {
1118
+ var _v$ = styles().expander, _v$2 = clsx(styles().expanderIcon(expanded));
1119
+ _v$ !== _p$.e && className(_el$, _p$.e = _v$);
1120
+ _v$2 !== _p$.t && setAttribute(_el$2, "class", _p$.t = _v$2);
1121
+ return _p$;
1122
+ }, {
1123
+ e: void 0,
1124
+ t: void 0
1125
+ });
1126
+ return _el$;
1127
+ })();
1128
+ };
1129
+ function chunkArray(array, size) {
1130
+ if (size < 1) return [];
1131
+ let i$1 = 0;
1132
+ const result = [];
1133
+ while (i$1 < array.length) {
1134
+ result.push(array.slice(i$1, i$1 + size));
1135
+ i$1 = i$1 + size;
1136
+ }
1137
+ return result;
1138
+ }
1139
+ function isIterable(x) {
1140
+ return Symbol.iterator in x;
1141
+ }
1142
+ function Explorer({ value, defaultExpanded, pageSize = 100, filterSubEntries, ...rest }) {
1143
+ const [expanded, setExpanded] = createSignal(Boolean(defaultExpanded));
1144
+ const toggleExpanded = () => setExpanded((old) => !old);
1145
+ const type = createMemo(() => typeof value());
1146
+ const subEntries = createMemo(() => {
1147
+ let entries = [];
1148
+ const makeProperty = (sub) => {
1149
+ const subDefaultExpanded = defaultExpanded === true ? { [sub.label]: true } : defaultExpanded?.[sub.label];
1150
+ return {
1151
+ ...sub,
1152
+ value: () => sub.value,
1153
+ defaultExpanded: subDefaultExpanded
1154
+ };
1155
+ };
1156
+ if (Array.isArray(value())) entries = value().map((d$1, i$1) => makeProperty({
1157
+ label: i$1.toString(),
1158
+ value: d$1
1159
+ }));
1160
+ else if (value() !== null && typeof value() === "object" && isIterable(value()) && typeof value()[Symbol.iterator] === "function") entries = Array.from(value(), (val, i$1) => makeProperty({
1161
+ label: i$1.toString(),
1162
+ value: val
1163
+ }));
1164
+ else if (typeof value() === "object" && value() !== null) entries = Object.entries(value()).map(([key, val]) => makeProperty({
1165
+ label: key,
1166
+ value: val
1167
+ }));
1168
+ return filterSubEntries ? filterSubEntries(entries) : entries;
1169
+ });
1170
+ const subEntryPages = createMemo(() => chunkArray(subEntries(), pageSize));
1171
+ const [expandedPages, setExpandedPages] = createSignal([]);
1172
+ const [valueSnapshot, setValueSnapshot] = createSignal(void 0);
1173
+ const styles = useStyles();
1174
+ const refreshValueSnapshot = () => {
1175
+ setValueSnapshot(value()());
1176
+ };
1177
+ const handleEntry = (entry) => createComponent(Explorer, mergeProps({
1178
+ value,
1179
+ filterSubEntries
1180
+ }, rest, entry));
1181
+ return (() => {
1182
+ var _el$3 = _tmpl$2$1();
1183
+ insert(_el$3, (() => {
1184
+ var _c$ = memo(() => !!subEntryPages().length);
1185
+ return () => _c$() ? [(() => {
1186
+ var _el$4 = _tmpl$3$1(), _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild;
1187
+ _el$4.$$click = () => toggleExpanded();
1188
+ insert(_el$4, createComponent(Expander, { get expanded() {
1189
+ return expanded() ?? false;
1190
+ } }), _el$5);
1191
+ insert(_el$4, () => rest.label, _el$5);
1192
+ insert(_el$5, () => String(type).toLowerCase() === "iterable" ? "(Iterable) " : "", _el$6);
1193
+ insert(_el$5, () => subEntries().length, _el$6);
1194
+ insert(_el$5, () => subEntries().length > 1 ? `items` : `item`, null);
1195
+ createRenderEffect((_p$) => {
1196
+ var _v$3 = styles().expandButton, _v$4 = styles().info;
1197
+ _v$3 !== _p$.e && className(_el$4, _p$.e = _v$3);
1198
+ _v$4 !== _p$.t && className(_el$5, _p$.t = _v$4);
1199
+ return _p$;
1200
+ }, {
1201
+ e: void 0,
1202
+ t: void 0
1203
+ });
1204
+ return _el$4;
1205
+ })(), memo(() => memo(() => !!(expanded() ?? false))() ? memo(() => subEntryPages().length === 1)() ? (() => {
1206
+ var _el$7 = _tmpl$2$1();
1207
+ insert(_el$7, () => subEntries().map((entry, index) => handleEntry(entry)));
1208
+ createRenderEffect(() => className(_el$7, styles().subEntries));
1209
+ return _el$7;
1210
+ })() : (() => {
1211
+ var _el$8 = _tmpl$2$1();
1212
+ insert(_el$8, () => subEntryPages().map((entries, index) => {
1213
+ return (() => {
1214
+ var _el$9 = _tmpl$4$1(), _el$0 = _el$9.firstChild, _el$1 = _el$0.firstChild, _el$10 = _el$1.firstChild, _el$15 = _el$10.nextSibling, _el$16 = _el$15.nextSibling.nextSibling;
1215
+ _el$16.nextSibling;
1216
+ _el$1.$$click = () => setExpandedPages((old) => old.includes(index) ? old.filter((d$1) => d$1 !== index) : [...old, index]);
1217
+ insert(_el$1, createComponent(Expander, { get expanded() {
1218
+ return expandedPages().includes(index);
1219
+ } }), _el$10);
1220
+ insert(_el$1, index * pageSize, _el$15);
1221
+ insert(_el$1, index * pageSize + pageSize - 1, _el$16);
1222
+ insert(_el$0, (() => {
1223
+ var _c$2 = memo(() => !!expandedPages().includes(index));
1224
+ return () => _c$2() ? (() => {
1225
+ var _el$17 = _tmpl$2$1();
1226
+ insert(_el$17, () => entries.map((entry) => handleEntry(entry)));
1227
+ createRenderEffect(() => className(_el$17, styles().subEntries));
1228
+ return _el$17;
1229
+ })() : null;
1230
+ })(), null);
1231
+ createRenderEffect((_p$) => {
1232
+ var _v$5 = styles().entry, _v$6 = clsx(styles().labelButton, "labelButton");
1233
+ _v$5 !== _p$.e && className(_el$0, _p$.e = _v$5);
1234
+ _v$6 !== _p$.t && className(_el$1, _p$.t = _v$6);
1235
+ return _p$;
1236
+ }, {
1237
+ e: void 0,
1238
+ t: void 0
1239
+ });
1240
+ return _el$9;
1241
+ })();
1242
+ }));
1243
+ createRenderEffect(() => className(_el$8, styles().subEntries));
1244
+ return _el$8;
1245
+ })() : null)] : memo(() => type() === "function")() ? createComponent(Explorer, {
1246
+ get label() {
1247
+ return (() => {
1248
+ var _el$18 = _tmpl$5$1(), _el$19 = _el$18.firstChild;
1249
+ _el$18.$$click = refreshValueSnapshot;
1250
+ insert(_el$19, () => rest.label);
1251
+ createRenderEffect(() => className(_el$18, styles().refreshValueBtn));
1252
+ return _el$18;
1253
+ })();
1254
+ },
1255
+ value: valueSnapshot,
1256
+ defaultExpanded: {}
1257
+ }) : [
1258
+ (() => {
1259
+ var _el$20 = _tmpl$6$1(), _el$21 = _el$20.firstChild;
1260
+ insert(_el$20, () => rest.label, _el$21);
1261
+ return _el$20;
1262
+ })(),
1263
+ " ",
1264
+ (() => {
1265
+ var _el$22 = _tmpl$7$1();
1266
+ insert(_el$22, () => displayValue(value()));
1267
+ createRenderEffect(() => className(_el$22, styles().value));
1268
+ return _el$22;
1269
+ })()
1270
+ ];
1271
+ })());
1272
+ createRenderEffect(() => className(_el$3, styles().entry));
1273
+ return _el$3;
1274
+ })();
1275
+ }
1276
+ const stylesFactory = (shadowDOMTarget) => {
1277
+ const { colors, font, size } = tokens;
1278
+ const { fontFamily, lineHeight, size: fontSize } = font;
1279
+ const css = shadowDOMTarget ? u.bind({ target: shadowDOMTarget }) : u;
1280
+ return {
1281
+ entry: css`
1282
+ font-family: ${fontFamily.mono};
1283
+ font-size: ${fontSize.xs};
1284
+ line-height: ${lineHeight.sm};
1285
+ outline: none;
1286
+ word-break: break-word;
1287
+ `,
1288
+ labelButton: css`
1289
+ cursor: pointer;
1290
+ color: inherit;
1291
+ font: inherit;
1292
+ outline: inherit;
1293
+ background: transparent;
1294
+ border: none;
1295
+ padding: 0;
1296
+ `,
1297
+ expander: css`
1298
+ display: inline-flex;
1299
+ align-items: center;
1300
+ justify-content: center;
1301
+ width: ${size[3]};
1302
+ height: ${size[3]};
1303
+ padding-left: 3px;
1304
+ box-sizing: content-box;
1305
+ `,
1306
+ expanderIcon: (expanded) => {
1307
+ if (expanded) return css`
1308
+ transform: rotate(90deg);
1309
+ transition: transform 0.1s ease;
1310
+ `;
1311
+ return css`
1312
+ transform: rotate(0deg);
1313
+ transition: transform 0.1s ease;
1314
+ `;
1315
+ },
1316
+ expandButton: css`
1317
+ display: flex;
1318
+ gap: ${size[1]};
1319
+ align-items: center;
1320
+ cursor: pointer;
1321
+ color: inherit;
1322
+ font: inherit;
1323
+ outline: inherit;
1324
+ background: transparent;
1325
+ border: none;
1326
+ padding: 0;
1327
+ `,
1328
+ value: css`
1329
+ color: ${colors.purple[400]};
1330
+ `,
1331
+ subEntries: css`
1332
+ margin-left: ${size[2]};
1333
+ padding-left: ${size[2]};
1334
+ border-left: 2px solid ${colors.darkGray[400]};
1335
+ `,
1336
+ info: css`
1337
+ color: ${colors.gray[500]};
1338
+ font-size: ${fontSize["2xs"]};
1339
+ padding-left: ${size[1]};
1340
+ `,
1341
+ refreshValueBtn: css`
1342
+ appearance: none;
1343
+ border: 0;
1344
+ cursor: pointer;
1345
+ background: transparent;
1346
+ color: inherit;
1347
+ padding: 0;
1348
+ font-family: ${fontFamily.mono};
1349
+ font-size: ${fontSize.xs};
1350
+ `
1351
+ };
1352
+ };
1353
+ function useStyles() {
1354
+ const [_styles] = createSignal(stylesFactory(useContext(ShadowDomTargetContext)));
1355
+ return _styles;
1356
+ }
1357
+ delegateEvents(["click"]);
1358
+ var _tmpl$$2 = /* @__PURE__ */ template(`<div><div></div><div>/</div><div></div><div>/</div><div>`);
1359
+ function formatTime(ms) {
1360
+ const units = [
1361
+ "s",
1362
+ "min",
1363
+ "h",
1364
+ "d"
1365
+ ];
1366
+ const values = [
1367
+ ms / 1e3,
1368
+ ms / 6e4,
1369
+ ms / 36e5,
1370
+ ms / 864e5
1371
+ ];
1372
+ let chosenUnitIndex = 0;
1373
+ for (let i$1 = 1; i$1 < values.length; i$1++) {
1374
+ if (values[i$1] < 1) break;
1375
+ chosenUnitIndex = i$1;
1376
+ }
1377
+ return new Intl.NumberFormat(navigator.language, {
1378
+ compactDisplay: "short",
1379
+ notation: "compact",
1380
+ maximumFractionDigits: 0
1381
+ }).format(values[chosenUnitIndex]) + units[chosenUnitIndex];
1382
+ }
1383
+ function AgeTicker({ match, router }) {
1384
+ const styles = useStyles$1();
1385
+ if (!match) return null;
1386
+ const route = router().looseRoutesById[match.routeId];
1387
+ if (!route.options.loader) return null;
1388
+ const age = Date.now() - match.updatedAt;
1389
+ const staleTime = route.options.staleTime ?? router().options.defaultStaleTime ?? 0;
1390
+ const gcTime = route.options.gcTime ?? router().options.defaultGcTime ?? 1800 * 1e3;
1391
+ return (() => {
1392
+ var _el$ = _tmpl$$2(), _el$2 = _el$.firstChild, _el$4 = _el$2.nextSibling.nextSibling, _el$6 = _el$4.nextSibling.nextSibling;
1393
+ insert(_el$2, () => formatTime(age));
1394
+ insert(_el$4, () => formatTime(staleTime));
1395
+ insert(_el$6, () => formatTime(gcTime));
1396
+ createRenderEffect(() => className(_el$, clsx(styles().ageTicker(age > staleTime))));
1397
+ return _el$;
1398
+ })();
1399
+ }
1400
+ var _tmpl$$1 = /* @__PURE__ */ template(`<button type=button>➔`);
1401
+ function NavigateButton({ to, params, search, router }) {
1402
+ const styles = useStyles$1();
1403
+ return (() => {
1404
+ var _el$ = _tmpl$$1();
1405
+ _el$.$$click = (e$1) => {
1406
+ e$1.stopPropagation();
1407
+ router().navigate({
1408
+ to,
1409
+ params,
1410
+ search
1411
+ });
1412
+ };
1413
+ setAttribute(_el$, "title", `Navigate to ${to}`);
1414
+ createRenderEffect(() => className(_el$, styles().navigateButton));
1415
+ return _el$;
1416
+ })();
1417
+ }
1418
+ delegateEvents(["click"]);
1419
+ var _tmpl$ = /* @__PURE__ */ template(`<button><div>TANSTACK</div><div>TanStack Router v1`), _tmpl$2 = /* @__PURE__ */ template(`<div style=display:flex;align-items:center;width:100%><div style=flex-grow:1;min-width:0>`), _tmpl$3 = /* @__PURE__ */ template(`<code> `), _tmpl$4 = /* @__PURE__ */ template(`<code>`), _tmpl$5 = /* @__PURE__ */ template(`<div><div role=button><div>`), _tmpl$6 = /* @__PURE__ */ template(`<div>`), _tmpl$7 = /* @__PURE__ */ template(`<div><ul>`), _tmpl$8 = /* @__PURE__ */ template(`<div><button><svg xmlns=http://www.w3.org/2000/svg width=10 height=6 fill=none viewBox="0 0 10 6"><path stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=1.667 d="M1 1l4 4 4-4"></path></svg></button><div><div></div><div><div></div></div></div><div><div><div><span>Pathname</span></div><div><code></code></div><div><div><button type=button>Routes</button><button type=button>Matches</button><button type=button>History</button></div><div><div>age / staleTime / gcTime</div></div></div><div>`), _tmpl$9 = /* @__PURE__ */ template(`<div><span>masked`), _tmpl$0 = /* @__PURE__ */ template(`<div role=button><div>`), _tmpl$1 = /* @__PURE__ */ template(`<li><div>`), _tmpl$10 = /* @__PURE__ */ template(`<li>This panel displays the most recent 15 navigations.`), _tmpl$11 = /* @__PURE__ */ template(`<div><div><div>Cached Matches</div><div>age / staleTime / gcTime</div></div><div>`), _tmpl$12 = /* @__PURE__ */ template(`<div><div>Match Details</div><div><div><div><div></div></div><div><div>ID:</div><div><code></code></div></div><div><div>State:</div><div></div></div><div><div>Last Updated:</div><div></div></div></div></div><div>Explorer</div><div>`), _tmpl$13 = /* @__PURE__ */ template(`<div>Loader Data`), _tmpl$14 = /* @__PURE__ */ template(`<div><div><span>Search Params</span></div><div>`), _tmpl$15 = /* @__PURE__ */ template(`<span style=margin-left:0.5rem>`), _tmpl$16 = /* @__PURE__ */ template(`<button type=button aria-label="Copy value to clipboard"style=cursor:pointer>`);
1420
+ const HISTORY_LIMIT = 15;
1421
+ function Logo(props) {
1422
+ const { className: className$1, ...rest } = props;
1423
+ const styles = useStyles$1();
1424
+ return (() => {
1425
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
1426
+ spread(_el$, mergeProps(rest, { get ["class"]() {
1427
+ return clsx(styles().logo, className$1 ? className$1() : "");
1428
+ } }), false, true);
1429
+ createRenderEffect((_p$) => {
1430
+ var _v$ = styles().tanstackLogo, _v$2 = styles().routerLogo;
1431
+ _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
1432
+ _v$2 !== _p$.t && className(_el$3, _p$.t = _v$2);
1433
+ return _p$;
1434
+ }, {
1435
+ e: void 0,
1436
+ t: void 0
1437
+ });
1438
+ return _el$;
1439
+ })();
1440
+ }
1441
+ function NavigateLink(props) {
1442
+ return (() => {
1443
+ var _el$4 = _tmpl$2(), _el$5 = _el$4.firstChild;
1444
+ insert(_el$4, () => props.left, _el$5);
1445
+ insert(_el$5, () => props.children);
1446
+ insert(_el$4, () => props.right, null);
1447
+ createRenderEffect(() => className(_el$4, props.class));
1448
+ return _el$4;
1449
+ })();
1450
+ }
1451
+ function RouteComp({ routerState, router, route, isRoot, activeId, setActiveId }) {
1452
+ const styles = useStyles$1();
1453
+ const matches = createMemo(() => routerState().pendingMatches || routerState().matches);
1454
+ const match = createMemo(() => routerState().matches.find((d$1) => d$1.routeId === route.id));
1455
+ const param = createMemo(() => {
1456
+ try {
1457
+ if (match()?.params) {
1458
+ const p$1 = match()?.params;
1459
+ const r$2 = route.path || trimPath(route.id);
1460
+ if (r$2.startsWith("$")) {
1461
+ const trimmed = r$2.slice(1);
1462
+ if (p$1[trimmed]) return `(${p$1[trimmed]})`;
1463
+ }
1464
+ }
1465
+ return "";
1466
+ } catch (error) {
1467
+ return "";
1468
+ }
1469
+ });
1470
+ const navigationTarget = createMemo(() => {
1471
+ if (isRoot) return void 0;
1472
+ if (!route.path) return void 0;
1473
+ const allParams = Object.assign({}, ...matches().map((m) => m.params));
1474
+ const interpolated = interpolatePath({
1475
+ path: route.fullPath,
1476
+ params: allParams,
1477
+ decodeCharMap: router().pathParamsDecodeCharMap
1478
+ });
1479
+ return !interpolated.isMissingParams ? interpolated.interpolatedPath : void 0;
1480
+ });
1481
+ return (() => {
1482
+ var _el$6 = _tmpl$5(), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild;
1483
+ _el$7.$$click = () => {
1484
+ if (match()) setActiveId(activeId() === route.id ? "" : route.id);
1485
+ };
1486
+ insert(_el$7, createComponent(NavigateLink, {
1487
+ get ["class"]() {
1488
+ return clsx(styles().routesRow(!!match()));
1489
+ },
1490
+ get left() {
1491
+ return createComponent(Show, {
1492
+ get when() {
1493
+ return navigationTarget();
1494
+ },
1495
+ children: (navigate) => createComponent(NavigateButton, {
1496
+ get to() {
1497
+ return navigate();
1498
+ },
1499
+ router
1500
+ })
1501
+ });
1502
+ },
1503
+ get right() {
1504
+ return createComponent(AgeTicker, {
1505
+ get match() {
1506
+ return match();
1507
+ },
1508
+ router
1509
+ });
1510
+ },
1511
+ get children() {
1512
+ return [(() => {
1513
+ var _el$9 = _tmpl$3(), _el$0 = _el$9.firstChild;
1514
+ insert(_el$9, () => isRoot ? rootRouteId : route.path || trimPath(route.id), _el$0);
1515
+ createRenderEffect(() => className(_el$9, styles().code));
1516
+ return _el$9;
1517
+ })(), (() => {
1518
+ var _el$1 = _tmpl$4();
1519
+ insert(_el$1, param);
1520
+ createRenderEffect(() => className(_el$1, styles().routeParamInfo));
1521
+ return _el$1;
1522
+ })()];
1523
+ }
1524
+ }), null);
1525
+ insert(_el$6, (() => {
1526
+ var _c$ = memo(() => !!route.children?.length);
1527
+ return () => _c$() ? (() => {
1528
+ var _el$10 = _tmpl$6();
1529
+ insert(_el$10, () => [...route.children].sort((a$1, b$1) => {
1530
+ return a$1.rank - b$1.rank;
1531
+ }).map((r$2) => createComponent(RouteComp, {
1532
+ routerState,
1533
+ router,
1534
+ route: r$2,
1535
+ activeId,
1536
+ setActiveId
1537
+ })));
1538
+ createRenderEffect(() => className(_el$10, styles().nestedRouteRow(!!isRoot)));
1539
+ return _el$10;
1540
+ })() : null;
1541
+ })(), null);
1542
+ createRenderEffect((_p$) => {
1543
+ var _v$3 = `Open match details for ${route.id}`, _v$4 = clsx(styles().routesRowContainer(route.id === activeId(), !!match())), _v$5 = clsx(styles().matchIndicator(getRouteStatusColor(matches(), route)));
1544
+ _v$3 !== _p$.e && setAttribute(_el$7, "aria-label", _p$.e = _v$3);
1545
+ _v$4 !== _p$.t && className(_el$7, _p$.t = _v$4);
1546
+ _v$5 !== _p$.a && className(_el$8, _p$.a = _v$5);
1547
+ return _p$;
1548
+ }, {
1549
+ e: void 0,
1550
+ t: void 0,
1551
+ a: void 0
1552
+ });
1553
+ return _el$6;
1554
+ })();
1555
+ }
1556
+ const BaseTanStackRouterDevtoolsPanel = function BaseTanStackRouterDevtoolsPanel2({ ...props }) {
1557
+ const { isOpen = true, setIsOpen, handleDragStart, router, routerState, shadowDOMTarget, ...panelProps } = props;
1558
+ const { onCloseClick } = useDevtoolsOnClose();
1559
+ const styles = useStyles$1();
1560
+ const { className: className$1, style, ...otherPanelProps } = panelProps;
1561
+ invariant(router, "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.");
1562
+ const [currentTab, setCurrentTab] = useLocalStorage("tanstackRouterDevtoolsActiveTab", "routes");
1563
+ const [activeId, setActiveId] = useLocalStorage("tanstackRouterDevtoolsActiveRouteId", "");
1564
+ const [history, setHistory] = createSignal([]);
1565
+ const [hasHistoryOverflowed, setHasHistoryOverflowed] = createSignal(false);
1566
+ createEffect(() => {
1567
+ const matches = routerState().matches;
1568
+ const currentMatch = matches[matches.length - 1];
1569
+ if (!currentMatch) return;
1570
+ const historyUntracked = untrack(() => history());
1571
+ const lastMatch = historyUntracked[0];
1572
+ const sameLocation = lastMatch && lastMatch.pathname === currentMatch.pathname && JSON.stringify(lastMatch.search ?? {}) === JSON.stringify(currentMatch.search ?? {});
1573
+ if (!lastMatch || !sameLocation) {
1574
+ if (historyUntracked.length >= HISTORY_LIMIT) setHasHistoryOverflowed(true);
1575
+ setHistory((prev) => {
1576
+ const newHistory = [currentMatch, ...prev];
1577
+ newHistory.splice(HISTORY_LIMIT);
1578
+ return newHistory;
1579
+ });
1580
+ }
1581
+ });
1582
+ const activeMatch = createMemo(() => {
1583
+ return [
1584
+ ...routerState().pendingMatches ?? [],
1585
+ ...routerState().matches,
1586
+ ...routerState().cachedMatches
1587
+ ].find((d$1) => d$1.routeId === activeId() || d$1.id === activeId());
1588
+ });
1589
+ const hasSearch = createMemo(() => Object.keys(routerState().location.search).length);
1590
+ const explorerState = createMemo(() => {
1591
+ return {
1592
+ ...router(),
1593
+ state: routerState()
1594
+ };
1595
+ });
1596
+ const routerExplorerValue = createMemo(() => Object.fromEntries(multiSortBy(Object.keys(explorerState()), [
1597
+ "state",
1598
+ "routesById",
1599
+ "routesByPath",
1600
+ "options",
1601
+ "manifest"
1602
+ ].map((d$1) => (dd) => dd !== d$1)).map((key) => [key, explorerState()[key]]).filter((d$1) => typeof d$1[1] !== "function" && ![
1603
+ "__store",
1604
+ "basepath",
1605
+ "injectedHtml",
1606
+ "subscribers",
1607
+ "latestLoadPromise",
1608
+ "navigateTimeout",
1609
+ "resetNextScroll",
1610
+ "tempLocationKey",
1611
+ "latestLocation",
1612
+ "routeTree",
1613
+ "history"
1614
+ ].includes(d$1[0]))));
1615
+ const activeMatchLoaderData = createMemo(() => activeMatch()?.loaderData);
1616
+ const activeMatchValue = createMemo(() => activeMatch());
1617
+ const locationSearchValue = createMemo(() => routerState().location.search);
1618
+ return (() => {
1619
+ var _el$11 = _tmpl$8(), _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$12.nextSibling, _el$15 = _el$14.firstChild, _el$16 = _el$15.nextSibling, _el$17 = _el$16.firstChild, _el$18 = _el$14.nextSibling, _el$19 = _el$18.firstChild, _el$20 = _el$19.firstChild;
1620
+ _el$20.firstChild;
1621
+ var _el$22 = _el$20.nextSibling, _el$23 = _el$22.firstChild, _el$24 = _el$22.nextSibling, _el$25 = _el$24.firstChild, _el$26 = _el$25.firstChild, _el$27 = _el$26.nextSibling, _el$28 = _el$27.nextSibling, _el$29 = _el$25.nextSibling, _el$30 = _el$24.nextSibling;
1622
+ spread(_el$11, mergeProps({
1623
+ get ["class"]() {
1624
+ return clsx(styles().devtoolsPanel, "TanStackRouterDevtoolsPanel", className$1 ? className$1() : "");
1625
+ },
1626
+ get style() {
1627
+ return style ? style() : "";
1628
+ }
1629
+ }, otherPanelProps), false, true);
1630
+ insert(_el$11, handleDragStart ? (() => {
1631
+ var _el$34 = _tmpl$6();
1632
+ addEventListener(_el$34, "mousedown", handleDragStart, true);
1633
+ createRenderEffect(() => className(_el$34, styles().dragHandle));
1634
+ return _el$34;
1635
+ })() : null, _el$12);
1636
+ _el$12.$$click = (e$1) => {
1637
+ if (setIsOpen) setIsOpen(false);
1638
+ onCloseClick(e$1);
1639
+ };
1640
+ insert(_el$15, createComponent(Logo, {
1641
+ "aria-hidden": true,
1642
+ onClick: (e$1) => {
1643
+ if (setIsOpen) setIsOpen(false);
1644
+ onCloseClick(e$1);
1645
+ }
1646
+ }));
1647
+ insert(_el$17, createComponent(Explorer, {
1648
+ label: "Router",
1649
+ value: routerExplorerValue,
1650
+ defaultExpanded: {
1651
+ state: {},
1652
+ context: {},
1653
+ options: {}
1654
+ },
1655
+ filterSubEntries: (subEntries) => {
1656
+ return subEntries.filter((d$1) => typeof d$1.value() !== "function");
1657
+ }
1658
+ }));
1659
+ insert(_el$20, (() => {
1660
+ var _c$2 = memo(() => !!routerState().location.maskedLocation);
1661
+ return () => _c$2() ? (() => {
1662
+ var _el$35 = _tmpl$9(), _el$36 = _el$35.firstChild;
1663
+ createRenderEffect((_p$) => {
1664
+ var _v$24 = styles().maskedBadgeContainer, _v$25 = styles().maskedBadge;
1665
+ _v$24 !== _p$.e && className(_el$35, _p$.e = _v$24);
1666
+ _v$25 !== _p$.t && className(_el$36, _p$.t = _v$25);
1667
+ return _p$;
1668
+ }, {
1669
+ e: void 0,
1670
+ t: void 0
1671
+ });
1672
+ return _el$35;
1673
+ })() : null;
1674
+ })(), null);
1675
+ insert(_el$23, () => routerState().location.pathname);
1676
+ insert(_el$22, (() => {
1677
+ var _c$3 = memo(() => !!routerState().location.maskedLocation);
1678
+ return () => _c$3() ? (() => {
1679
+ var _el$37 = _tmpl$4();
1680
+ insert(_el$37, () => routerState().location.maskedLocation?.pathname);
1681
+ createRenderEffect(() => className(_el$37, styles().maskedLocation));
1682
+ return _el$37;
1683
+ })() : null;
1684
+ })(), null);
1685
+ _el$26.$$click = () => {
1686
+ setCurrentTab("routes");
1687
+ };
1688
+ _el$27.$$click = () => {
1689
+ setCurrentTab("matches");
1690
+ };
1691
+ _el$28.$$click = () => {
1692
+ setCurrentTab("history");
1693
+ };
1694
+ insert(_el$30, createComponent(Switch, { get children() {
1695
+ return [
1696
+ createComponent(Match, {
1697
+ get when() {
1698
+ return currentTab() === "routes";
1699
+ },
1700
+ get children() {
1701
+ return createComponent(RouteComp, {
1702
+ routerState,
1703
+ router,
1704
+ get route() {
1705
+ return router().routeTree;
1706
+ },
1707
+ isRoot: true,
1708
+ activeId,
1709
+ setActiveId
1710
+ });
1711
+ }
1712
+ }),
1713
+ createComponent(Match, {
1714
+ get when() {
1715
+ return currentTab() === "matches";
1716
+ },
1717
+ get children() {
1718
+ var _el$31 = _tmpl$6();
1719
+ insert(_el$31, () => (routerState().pendingMatches?.length ? routerState().pendingMatches : routerState().matches)?.map((match, _i) => {
1720
+ return (() => {
1721
+ var _el$38 = _tmpl$0(), _el$39 = _el$38.firstChild;
1722
+ _el$38.$$click = () => setActiveId(activeId() === match.id ? "" : match.id);
1723
+ insert(_el$38, createComponent(NavigateLink, {
1724
+ get left() {
1725
+ return createComponent(NavigateButton, {
1726
+ get to() {
1727
+ return match.pathname;
1728
+ },
1729
+ get params() {
1730
+ return match.params;
1731
+ },
1732
+ get search() {
1733
+ return match.search;
1734
+ },
1735
+ router
1736
+ });
1737
+ },
1738
+ get right() {
1739
+ return createComponent(AgeTicker, {
1740
+ match,
1741
+ router
1742
+ });
1743
+ },
1744
+ get children() {
1745
+ var _el$40 = _tmpl$4();
1746
+ insert(_el$40, () => `${match.routeId === rootRouteId ? rootRouteId : match.pathname}`);
1747
+ createRenderEffect(() => className(_el$40, styles().matchID));
1748
+ return _el$40;
1749
+ }
1750
+ }), null);
1751
+ createRenderEffect((_p$) => {
1752
+ var _v$26 = `Open match details for ${match.id}`, _v$27 = clsx(styles().matchRow(match === activeMatch())), _v$28 = clsx(styles().matchIndicator(getStatusColor(match)));
1753
+ _v$26 !== _p$.e && setAttribute(_el$38, "aria-label", _p$.e = _v$26);
1754
+ _v$27 !== _p$.t && className(_el$38, _p$.t = _v$27);
1755
+ _v$28 !== _p$.a && className(_el$39, _p$.a = _v$28);
1756
+ return _p$;
1757
+ }, {
1758
+ e: void 0,
1759
+ t: void 0,
1760
+ a: void 0
1761
+ });
1762
+ return _el$38;
1763
+ })();
1764
+ }));
1765
+ return _el$31;
1766
+ }
1767
+ }),
1768
+ createComponent(Match, {
1769
+ get when() {
1770
+ return currentTab() === "history";
1771
+ },
1772
+ get children() {
1773
+ var _el$32 = _tmpl$7(), _el$33 = _el$32.firstChild;
1774
+ insert(_el$33, createComponent(For, {
1775
+ get each() {
1776
+ return history();
1777
+ },
1778
+ children: (match, index) => (() => {
1779
+ var _el$41 = _tmpl$1(), _el$42 = _el$41.firstChild;
1780
+ insert(_el$41, createComponent(NavigateLink, {
1781
+ get left() {
1782
+ return createComponent(NavigateButton, {
1783
+ get to() {
1784
+ return match.pathname;
1785
+ },
1786
+ get params() {
1787
+ return match.params;
1788
+ },
1789
+ get search() {
1790
+ return match.search;
1791
+ },
1792
+ router
1793
+ });
1794
+ },
1795
+ get right() {
1796
+ return createComponent(AgeTicker, {
1797
+ match,
1798
+ router
1799
+ });
1800
+ },
1801
+ get children() {
1802
+ var _el$43 = _tmpl$4();
1803
+ insert(_el$43, () => `${match.routeId === rootRouteId ? rootRouteId : match.pathname}`);
1804
+ createRenderEffect(() => className(_el$43, styles().matchID));
1805
+ return _el$43;
1806
+ }
1807
+ }), null);
1808
+ createRenderEffect((_p$) => {
1809
+ var _v$29 = clsx(styles().matchRow(match === activeMatch())), _v$30 = clsx(styles().matchIndicator(index() === 0 ? "green" : "gray"));
1810
+ _v$29 !== _p$.e && className(_el$41, _p$.e = _v$29);
1811
+ _v$30 !== _p$.t && className(_el$42, _p$.t = _v$30);
1812
+ return _p$;
1813
+ }, {
1814
+ e: void 0,
1815
+ t: void 0
1816
+ });
1817
+ return _el$41;
1818
+ })()
1819
+ }), null);
1820
+ insert(_el$33, (() => {
1821
+ var _c$4 = memo(() => !!hasHistoryOverflowed());
1822
+ return () => _c$4() ? (() => {
1823
+ var _el$44 = _tmpl$10();
1824
+ createRenderEffect(() => className(_el$44, styles().historyOverflowContainer));
1825
+ return _el$44;
1826
+ })() : null;
1827
+ })(), null);
1828
+ return _el$32;
1829
+ }
1830
+ })
1831
+ ];
1832
+ } }));
1833
+ insert(_el$18, (() => {
1834
+ var _c$5 = memo(() => !!routerState().cachedMatches.length);
1835
+ return () => _c$5() ? (() => {
1836
+ var _el$45 = _tmpl$11(), _el$46 = _el$45.firstChild, _el$48 = _el$46.firstChild.nextSibling, _el$49 = _el$46.nextSibling;
1837
+ insert(_el$49, () => routerState().cachedMatches.map((match) => {
1838
+ return (() => {
1839
+ var _el$50 = _tmpl$0(), _el$51 = _el$50.firstChild;
1840
+ _el$50.$$click = () => setActiveId(activeId() === match.id ? "" : match.id);
1841
+ insert(_el$50, createComponent(NavigateLink, {
1842
+ get left() {
1843
+ return createComponent(NavigateButton, {
1844
+ get to() {
1845
+ return match.pathname;
1846
+ },
1847
+ get params() {
1848
+ return match.params;
1849
+ },
1850
+ get search() {
1851
+ return match.search;
1852
+ },
1853
+ router
1854
+ });
1855
+ },
1856
+ get right() {
1857
+ return createComponent(AgeTicker, {
1858
+ match,
1859
+ router
1860
+ });
1861
+ },
1862
+ get children() {
1863
+ var _el$52 = _tmpl$4();
1864
+ insert(_el$52, () => `${match.id}`);
1865
+ createRenderEffect(() => className(_el$52, styles().matchID));
1866
+ return _el$52;
1867
+ }
1868
+ }), null);
1869
+ createRenderEffect((_p$) => {
1870
+ var _v$34 = `Open match details for ${match.id}`, _v$35 = clsx(styles().matchRow(match === activeMatch())), _v$36 = clsx(styles().matchIndicator(getStatusColor(match)));
1871
+ _v$34 !== _p$.e && setAttribute(_el$50, "aria-label", _p$.e = _v$34);
1872
+ _v$35 !== _p$.t && className(_el$50, _p$.t = _v$35);
1873
+ _v$36 !== _p$.a && className(_el$51, _p$.a = _v$36);
1874
+ return _p$;
1875
+ }, {
1876
+ e: void 0,
1877
+ t: void 0,
1878
+ a: void 0
1879
+ });
1880
+ return _el$50;
1881
+ })();
1882
+ }));
1883
+ createRenderEffect((_p$) => {
1884
+ var _v$31 = styles().cachedMatchesContainer, _v$32 = styles().detailsHeader, _v$33 = styles().detailsHeaderInfo;
1885
+ _v$31 !== _p$.e && className(_el$45, _p$.e = _v$31);
1886
+ _v$32 !== _p$.t && className(_el$46, _p$.t = _v$32);
1887
+ _v$33 !== _p$.a && className(_el$48, _p$.a = _v$33);
1888
+ return _p$;
1889
+ }, {
1890
+ e: void 0,
1891
+ t: void 0,
1892
+ a: void 0
1893
+ });
1894
+ return _el$45;
1895
+ })() : null;
1896
+ })(), null);
1897
+ insert(_el$11, (() => {
1898
+ var _c$6 = memo(() => !!(activeMatch() && activeMatch()?.status));
1899
+ return () => _c$6() ? (() => {
1900
+ var _el$53 = _tmpl$12(), _el$54 = _el$53.firstChild, _el$55 = _el$54.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$56.firstChild, _el$58 = _el$57.firstChild, _el$59 = _el$57.nextSibling, _el$61 = _el$59.firstChild.nextSibling, _el$62 = _el$61.firstChild, _el$63 = _el$59.nextSibling, _el$65 = _el$63.firstChild.nextSibling, _el$66 = _el$63.nextSibling, _el$68 = _el$66.firstChild.nextSibling, _el$69 = _el$55.nextSibling, _el$70 = _el$69.nextSibling;
1901
+ insert(_el$58, (() => {
1902
+ var _c$8 = memo(() => !!(activeMatch()?.status === "success" && activeMatch()?.isFetching));
1903
+ return () => _c$8() ? "fetching" : activeMatch()?.status;
1904
+ })());
1905
+ insert(_el$62, () => activeMatch()?.id);
1906
+ insert(_el$65, (() => {
1907
+ var _c$9 = memo(() => !!routerState().pendingMatches?.find((d$1) => d$1.id === activeMatch()?.id));
1908
+ return () => _c$9() ? "Pending" : routerState().matches.find((d$1) => d$1.id === activeMatch()?.id) ? "Active" : "Cached";
1909
+ })());
1910
+ insert(_el$68, (() => {
1911
+ var _c$0 = memo(() => !!activeMatch()?.updatedAt);
1912
+ return () => _c$0() ? new Date(activeMatch()?.updatedAt).toLocaleTimeString() : "N/A";
1913
+ })());
1914
+ insert(_el$53, (() => {
1915
+ var _c$1 = memo(() => !!activeMatchLoaderData());
1916
+ return () => _c$1() ? [(() => {
1917
+ var _el$71 = _tmpl$13();
1918
+ createRenderEffect(() => className(_el$71, styles().detailsHeader));
1919
+ return _el$71;
1920
+ })(), (() => {
1921
+ var _el$72 = _tmpl$6();
1922
+ insert(_el$72, createComponent(Explorer, {
1923
+ label: "loaderData",
1924
+ value: activeMatchLoaderData,
1925
+ defaultExpanded: {}
1926
+ }));
1927
+ createRenderEffect(() => className(_el$72, styles().detailsContent));
1928
+ return _el$72;
1929
+ })()] : null;
1930
+ })(), _el$69);
1931
+ insert(_el$70, createComponent(Explorer, {
1932
+ label: "Match",
1933
+ value: activeMatchValue,
1934
+ defaultExpanded: {}
1935
+ }));
1936
+ createRenderEffect((_p$) => {
1937
+ var _v$37 = styles().thirdContainer, _v$38 = styles().detailsHeader, _v$39 = styles().matchDetails, _v$40 = styles().matchStatus(activeMatch()?.status, activeMatch()?.isFetching), _v$41 = styles().matchDetailsInfoLabel, _v$42 = styles().matchDetailsInfo, _v$43 = styles().matchDetailsInfoLabel, _v$44 = styles().matchDetailsInfo, _v$45 = styles().matchDetailsInfoLabel, _v$46 = styles().matchDetailsInfo, _v$47 = styles().detailsHeader, _v$48 = styles().detailsContent;
1938
+ _v$37 !== _p$.e && className(_el$53, _p$.e = _v$37);
1939
+ _v$38 !== _p$.t && className(_el$54, _p$.t = _v$38);
1940
+ _v$39 !== _p$.a && className(_el$56, _p$.a = _v$39);
1941
+ _v$40 !== _p$.o && className(_el$57, _p$.o = _v$40);
1942
+ _v$41 !== _p$.i && className(_el$59, _p$.i = _v$41);
1943
+ _v$42 !== _p$.n && className(_el$61, _p$.n = _v$42);
1944
+ _v$43 !== _p$.s && className(_el$63, _p$.s = _v$43);
1945
+ _v$44 !== _p$.h && className(_el$65, _p$.h = _v$44);
1946
+ _v$45 !== _p$.r && className(_el$66, _p$.r = _v$45);
1947
+ _v$46 !== _p$.d && className(_el$68, _p$.d = _v$46);
1948
+ _v$47 !== _p$.l && className(_el$69, _p$.l = _v$47);
1949
+ _v$48 !== _p$.u && className(_el$70, _p$.u = _v$48);
1950
+ return _p$;
1951
+ }, {
1952
+ e: void 0,
1953
+ t: void 0,
1954
+ a: void 0,
1955
+ o: void 0,
1956
+ i: void 0,
1957
+ n: void 0,
1958
+ s: void 0,
1959
+ h: void 0,
1960
+ r: void 0,
1961
+ d: void 0,
1962
+ l: void 0,
1963
+ u: void 0
1964
+ });
1965
+ return _el$53;
1966
+ })() : null;
1967
+ })(), null);
1968
+ insert(_el$11, (() => {
1969
+ var _c$7 = memo(() => !!hasSearch());
1970
+ return () => _c$7() ? (() => {
1971
+ var _el$73 = _tmpl$14(), _el$74 = _el$73.firstChild;
1972
+ _el$74.firstChild;
1973
+ var _el$76 = _el$74.nextSibling;
1974
+ insert(_el$74, typeof navigator !== "undefined" ? (() => {
1975
+ var _el$77 = _tmpl$15();
1976
+ insert(_el$77, createComponent(CopyButton, { getValue: () => {
1977
+ const search = routerState().location.search;
1978
+ return JSON.stringify(search);
1979
+ } }));
1980
+ return _el$77;
1981
+ })() : null, null);
1982
+ insert(_el$76, createComponent(Explorer, {
1983
+ value: locationSearchValue,
1984
+ get defaultExpanded() {
1985
+ return Object.keys(routerState().location.search).reduce((obj, next) => {
1986
+ obj[next] = {};
1987
+ return obj;
1988
+ }, {});
1989
+ }
1990
+ }));
1991
+ createRenderEffect((_p$) => {
1992
+ var _v$49 = styles().fourthContainer, _v$50 = styles().detailsHeader, _v$51 = styles().detailsContent;
1993
+ _v$49 !== _p$.e && className(_el$73, _p$.e = _v$49);
1994
+ _v$50 !== _p$.t && className(_el$74, _p$.t = _v$50);
1995
+ _v$51 !== _p$.a && className(_el$76, _p$.a = _v$51);
1996
+ return _p$;
1997
+ }, {
1998
+ e: void 0,
1999
+ t: void 0,
2000
+ a: void 0
2001
+ });
2002
+ return _el$73;
2003
+ })() : null;
2004
+ })(), null);
2005
+ createRenderEffect((_p$) => {
2006
+ var _v$6 = styles().panelCloseBtn, _v$7 = styles().panelCloseBtnIcon, _v$8 = styles().firstContainer, _v$9 = styles().row, _v$0 = styles().routerExplorerContainer, _v$1 = styles().routerExplorer, _v$10 = styles().secondContainer, _v$11 = styles().matchesContainer, _v$12 = styles().detailsHeader, _v$13 = styles().detailsContent, _v$14 = styles().detailsHeader, _v$15 = styles().routeMatchesToggle, _v$16 = currentTab() === "routes", _v$17 = clsx(styles().routeMatchesToggleBtn(currentTab() === "routes", true)), _v$18 = currentTab() === "matches", _v$19 = clsx(styles().routeMatchesToggleBtn(currentTab() === "matches", true)), _v$20 = currentTab() === "history", _v$21 = clsx(styles().routeMatchesToggleBtn(currentTab() === "history", false)), _v$22 = styles().detailsHeaderInfo, _v$23 = clsx(styles().routesContainer);
2007
+ _v$6 !== _p$.e && className(_el$12, _p$.e = _v$6);
2008
+ _v$7 !== _p$.t && setAttribute(_el$13, "class", _p$.t = _v$7);
2009
+ _v$8 !== _p$.a && className(_el$14, _p$.a = _v$8);
2010
+ _v$9 !== _p$.o && className(_el$15, _p$.o = _v$9);
2011
+ _v$0 !== _p$.i && className(_el$16, _p$.i = _v$0);
2012
+ _v$1 !== _p$.n && className(_el$17, _p$.n = _v$1);
2013
+ _v$10 !== _p$.s && className(_el$18, _p$.s = _v$10);
2014
+ _v$11 !== _p$.h && className(_el$19, _p$.h = _v$11);
2015
+ _v$12 !== _p$.r && className(_el$20, _p$.r = _v$12);
2016
+ _v$13 !== _p$.d && className(_el$22, _p$.d = _v$13);
2017
+ _v$14 !== _p$.l && className(_el$24, _p$.l = _v$14);
2018
+ _v$15 !== _p$.u && className(_el$25, _p$.u = _v$15);
2019
+ _v$16 !== _p$.c && (_el$26.disabled = _p$.c = _v$16);
2020
+ _v$17 !== _p$.w && className(_el$26, _p$.w = _v$17);
2021
+ _v$18 !== _p$.m && (_el$27.disabled = _p$.m = _v$18);
2022
+ _v$19 !== _p$.f && className(_el$27, _p$.f = _v$19);
2023
+ _v$20 !== _p$.y && (_el$28.disabled = _p$.y = _v$20);
2024
+ _v$21 !== _p$.g && className(_el$28, _p$.g = _v$21);
2025
+ _v$22 !== _p$.p && className(_el$29, _p$.p = _v$22);
2026
+ _v$23 !== _p$.b && className(_el$30, _p$.b = _v$23);
2027
+ return _p$;
2028
+ }, {
2029
+ e: void 0,
2030
+ t: void 0,
2031
+ a: void 0,
2032
+ o: void 0,
2033
+ i: void 0,
2034
+ n: void 0,
2035
+ s: void 0,
2036
+ h: void 0,
2037
+ r: void 0,
2038
+ d: void 0,
2039
+ l: void 0,
2040
+ u: void 0,
2041
+ c: void 0,
2042
+ w: void 0,
2043
+ m: void 0,
2044
+ f: void 0,
2045
+ y: void 0,
2046
+ g: void 0,
2047
+ p: void 0,
2048
+ b: void 0
2049
+ });
2050
+ return _el$11;
2051
+ })();
2052
+ };
2053
+ function CopyButton({ getValue }) {
2054
+ const [copied, setCopied] = createSignal(false);
2055
+ let timeoutId = null;
2056
+ const handleCopy = async () => {
2057
+ if (typeof navigator === "undefined" || !navigator.clipboard?.writeText) {
2058
+ console.warn("TanStack Router Devtools: Clipboard API unavailable");
2059
+ return;
2060
+ }
2061
+ try {
2062
+ const value = getValue();
2063
+ await navigator.clipboard.writeText(value);
2064
+ setCopied(true);
2065
+ if (timeoutId) clearTimeout(timeoutId);
2066
+ timeoutId = setTimeout(() => setCopied(false), 2500);
2067
+ } catch (e$1) {
2068
+ console.error("TanStack Router Devtools: Failed to copy", e$1);
2069
+ }
2070
+ };
2071
+ onCleanup(() => {
2072
+ if (timeoutId) clearTimeout(timeoutId);
2073
+ });
2074
+ return (() => {
2075
+ var _el$78 = _tmpl$16();
2076
+ _el$78.$$click = handleCopy;
2077
+ insert(_el$78, () => copied() ? "✅" : "📋");
2078
+ createRenderEffect(() => setAttribute(_el$78, "title", copied() ? "Copied!" : "Copy"));
2079
+ return _el$78;
2080
+ })();
2081
+ }
2082
+ delegateEvents(["click", "mousedown"]);
2083
+ const BaseTanStackRouterDevtoolsPanel$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2084
+ __proto__: null,
2085
+ BaseTanStackRouterDevtoolsPanel,
2086
+ default: BaseTanStackRouterDevtoolsPanel
2087
+ }, Symbol.toStringTag, { value: "Module" }));
2088
+
2089
+ //#endregion
2090
+ export { BaseTanStackRouterDevtoolsPanel as B, useIsMounted as a, useStyles$1 as b, BaseTanStackRouterDevtoolsPanel$1 as c, clsx as t, useLocalStorage as u };