camox 0.44.0 → 0.46.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 (407) hide show
  1. package/dist/components/AuthGate.js +0 -6
  2. package/dist/components/DeviceSelector.js +96 -0
  3. package/dist/components/PlatformLabel.js +20 -24
  4. package/dist/core/components/lexical/HighlightNode.js +1 -1
  5. package/dist/core/components/lexical/InlineContentEditable.js +15 -19
  6. package/dist/core/components/lexical/InlineLexicalEditor.js +54 -74
  7. package/dist/core/components/lexical/InlineStylesPlugin.js +53 -53
  8. package/dist/core/components/lexical/MaxLengthPlugin.js +59 -0
  9. package/dist/core/components/lexical/SelectionBroadcaster.js +53 -54
  10. package/dist/core/components/lexical/SidebarLexicalEditor.js +322 -229
  11. package/dist/core/components/lexical/SummaryToggleGuard.js +42 -0
  12. package/dist/core/components/lexical/TextLinkPopover.js +169 -180
  13. package/dist/core/createApp.d.ts +241 -312
  14. package/dist/core/createApp.js +123 -29
  15. package/dist/core/createBlock.d.ts +5 -5
  16. package/dist/core/createBlock.js +385 -152
  17. package/dist/core/createCollection.d.ts +55 -0
  18. package/dist/core/createCollection.js +93 -0
  19. package/dist/core/createLayout.d.ts +197 -61
  20. package/dist/core/createLayout.js +114 -56
  21. package/dist/core/defineDocument.d.ts +3 -5
  22. package/dist/core/derivedRoutes.js +49 -1
  23. package/dist/core/dom.d.ts +13 -4
  24. package/dist/core/dom.js +44 -1
  25. package/dist/core/editing/BlockEditingRuntime.d.ts +16 -0
  26. package/dist/core/editing/BlockEditingRuntime.js +6 -15
  27. package/dist/core/editing/CompleteBlockEditingRuntime.js +28 -23
  28. package/dist/core/editing/createEditableBlock.d.ts +754 -633
  29. package/dist/core/editing/createEditableBlock.js +2113 -1066
  30. package/dist/core/editing/referenceWrites.js +51 -0
  31. package/dist/core/editing/useLatestRecord.js +90 -0
  32. package/dist/core/hooks/useArtifactHost.js +139 -0
  33. package/dist/core/hooks/useFieldSelection.js +43 -18
  34. package/dist/core/hooks/useIsEditable.js +12 -10
  35. package/dist/core/hooks/useOverlayMessage.js +15 -19
  36. package/dist/core/lib/artifact.d.ts +21 -0
  37. package/dist/core/lib/artifact.js +154 -0
  38. package/dist/core/lib/artifactColors.js +123 -0
  39. package/dist/core/lib/artifactData.d.ts +1 -0
  40. package/dist/core/lib/artifactData.js +131 -0
  41. package/dist/core/lib/artifactHost.js +205 -0
  42. package/dist/core/lib/artifactRuntime.js +36 -0
  43. package/dist/core/lib/artifactTheme.js +57 -0
  44. package/dist/core/lib/contentType.d.ts +302 -106
  45. package/dist/core/lib/contentType.js +201 -173
  46. package/dist/core/lib/fieldTypes.js +3 -0
  47. package/dist/core/lib/iconTypes.d.ts +3 -3
  48. package/dist/core/lib/icons.d.ts +4 -4
  49. package/dist/core/lib/icons.js +40 -44
  50. package/dist/core/lib/imagePlaceholder.js +177 -0
  51. package/dist/core/lib/imageTransform.js +1 -1
  52. package/dist/core/lib/lexicalReact.d.ts +3 -1
  53. package/dist/core/lib/lexicalState.js +1 -1
  54. package/dist/core/lib/previewPaused.js +9 -0
  55. package/dist/core/lib/recordScope.js +316 -0
  56. package/dist/core/lib/reference.d.ts +81 -0
  57. package/dist/core/lib/reference.js +29 -0
  58. package/dist/core/lib/textLinks.js +7 -5
  59. package/dist/core/lib/textStyles.d.ts +5 -7
  60. package/dist/core/lib/textStyles.js +2 -2
  61. package/dist/core/notFound.d.ts +7 -0
  62. package/dist/core/notFound.js +11 -0
  63. package/dist/core/pageDestinations.js +6 -3
  64. package/dist/core/recordItem.js +34 -0
  65. package/dist/core/requestContext.d.ts +26 -0
  66. package/dist/core/requestContext.js +20 -0
  67. package/dist/features/canvas/CamoxCanvas.js +1401 -0
  68. package/dist/features/canvas/CanvasLoadingScreen.js +35 -0
  69. package/dist/features/canvas/CanvasOverlays.js +254 -0
  70. package/dist/features/canvas/CanvasPageEdge.js +87 -0
  71. package/dist/features/canvas/CanvasPageFrame.js +333 -0
  72. package/dist/features/canvas/CanvasPageHeader.js +125 -0
  73. package/dist/features/canvas/CanvasPreviewPageSlot.js +123 -0
  74. package/dist/features/canvas/DerivedPagePathInput.js +238 -0
  75. package/dist/features/canvas/canvasCamera.js +229 -0
  76. package/dist/features/canvas/canvasFlight.js +104 -0
  77. package/dist/features/canvas/canvasFrameCapture.js +364 -0
  78. package/dist/features/canvas/canvasFrameDocument.js +302 -0
  79. package/dist/features/canvas/canvasFrameMode.js +53 -0
  80. package/dist/features/canvas/canvasInsertionSeams.js +44 -0
  81. package/dist/features/canvas/canvasItems.js +30 -0
  82. package/dist/features/canvas/canvasOverlayGeometry.js +240 -0
  83. package/dist/features/canvas/canvasPages.js +79 -0
  84. package/dist/features/canvas/canvasScreenSpace.js +26 -0
  85. package/dist/features/canvas/canvasSelection.js +18 -0
  86. package/dist/features/canvas/canvasStore.js +60 -0
  87. package/dist/features/canvas/canvasThumbnails.js +304 -0
  88. package/dist/features/canvas/canvasZoom.js +10 -0
  89. package/dist/features/canvas/sidebar/CanvasInspector.js +202 -0
  90. package/dist/features/canvas/sidebar/CanvasNavigator.js +124 -0
  91. package/dist/features/canvas/sidebar/CanvasSidebar.js +54 -0
  92. package/dist/features/canvas/sidebar/CanvasSidebarFrame.js +48 -0
  93. package/dist/features/canvas/sidebar/CanvasSidebarSkeleton.js +39 -0
  94. package/dist/features/canvas/sidebar/CuratedPageInspector.js +69 -0
  95. package/dist/features/canvas/sidebar/DerivedPageInspector.js +37 -0
  96. package/dist/features/canvas/sidebar/LayoutPageBlocks.js +78 -0
  97. package/dist/features/canvas/sidebar/LayoutPageOverview.js +71 -0
  98. package/dist/features/canvas/sidebar/PageInspector.js +157 -0
  99. package/dist/features/canvas/sidebar/PageInspectorSkeleton.js +90 -0
  100. package/dist/features/canvas/sidebar/PageOverview.js +27 -0
  101. package/dist/features/canvas/sidebar/SingletonPageInspector.js +31 -0
  102. package/dist/features/canvas/useCanvasCamera.js +783 -0
  103. package/dist/features/canvas/useCanvasFrame.js +148 -0
  104. package/dist/features/canvas/useCanvasFrameInput.js +97 -0
  105. package/dist/features/canvas/useCanvasNearness.js +57 -0
  106. package/dist/features/canvas/useDiscoveredPreviewPaths.js +62 -0
  107. package/dist/features/content/CamoxContent.d.ts +2 -5
  108. package/dist/features/content/CamoxContent.js +174 -271
  109. package/dist/features/content/CollectionItemSheetContext.js +106 -0
  110. package/dist/features/content/ContentAssets.js +315 -0
  111. package/dist/features/content/ContentCollection.js +663 -0
  112. package/dist/features/content/collection-form.js +58 -0
  113. package/dist/features/content/components/AssetCard.js +80 -84
  114. package/dist/features/content/components/AssetCardSkeleton.js +4 -8
  115. package/dist/features/content/components/ContentSidebar.js +129 -18
  116. package/dist/features/content/components/ContentSidebarGroup.js +37 -0
  117. package/dist/features/content/components/DeleteCollectionItemButton.js +202 -0
  118. package/dist/features/content/components/MissingFromLocale.js +282 -0
  119. package/dist/features/content/components/UploadDropZone.js +27 -31
  120. package/dist/features/content/components/UploadProgressDrawer.js +90 -98
  121. package/dist/features/navigation/navigation.d.ts +66 -20
  122. package/dist/features/navigation/navigation.js +257 -90
  123. package/dist/features/og/defaultFonts.js +8 -8
  124. package/dist/features/og/geist-variable-ttf-base64.js +1 -1
  125. package/dist/features/og/imageResponse.d.ts +8 -0
  126. package/dist/features/og/imageResponse.js +26 -0
  127. package/dist/features/page/CuratedPageContent.js +167 -0
  128. package/dist/features/page/DerivedPageContent.js +26 -30
  129. package/dist/features/page/SharedLayoutContent.js +25 -27
  130. package/dist/features/preview/CamoxPreview.d.ts +23 -61
  131. package/dist/features/preview/CamoxPreview.js +816 -537
  132. package/dist/features/preview/EditablePageContent.js +1 -1
  133. package/dist/features/preview/EditablePageExperience.js +16 -22
  134. package/dist/features/preview/components/AddBlockSheet.js +273 -0
  135. package/dist/features/preview/components/AssetFieldEditor.js +173 -154
  136. package/dist/features/preview/components/AssetLightbox.js +181 -134
  137. package/dist/features/preview/components/AssetPickerModal.js +153 -170
  138. package/dist/features/preview/components/BlockActionsPopover.js +150 -149
  139. package/dist/features/preview/components/BlockErrorBoundary.js +8 -12
  140. package/dist/features/preview/components/BlockThumbnail.js +172 -98
  141. package/dist/features/preview/components/CanvasPreview.js +243 -0
  142. package/dist/features/preview/components/CreatePageModal.js +128 -137
  143. package/dist/features/preview/components/DebouncedFieldEditor.js +29 -33
  144. package/dist/features/preview/components/DerivedLayoutDialog.js +21 -19
  145. package/dist/features/preview/components/DrillRow.js +150 -0
  146. package/dist/features/preview/components/FieldOverlayStyles.js +11 -8
  147. package/dist/features/preview/components/FieldToolbar.js +160 -110
  148. package/dist/features/preview/components/Frame.js +108 -20
  149. package/dist/features/preview/components/IconFieldEditor.js +62 -66
  150. package/dist/features/preview/components/ItemFieldsEditor.js +231 -205
  151. package/dist/features/preview/components/LinkFieldEditor.js +135 -139
  152. package/dist/features/preview/components/Metadata.js +22 -30
  153. package/dist/features/preview/components/MobilePreviewDrawer.js +89 -108
  154. package/dist/features/preview/components/MultipleAssetFieldEditor.js +334 -246
  155. package/dist/features/preview/components/OverlayTracker.js +9 -41
  156. package/dist/features/preview/components/Overlays.js +81 -69
  157. package/dist/features/preview/components/PageInfo.js +1748 -0
  158. package/dist/features/preview/components/PageInfoSkeleton.js +51 -0
  159. package/dist/features/preview/components/PageLocationFieldset.js +112 -116
  160. package/dist/features/preview/components/PageNavigatorHeader.js +24 -0
  161. package/dist/features/preview/components/PageNicknameField.js +22 -26
  162. package/dist/features/preview/components/PagePicker.js +128 -130
  163. package/dist/features/preview/components/PageTree.js +525 -532
  164. package/dist/features/preview/components/PreviewActivation.js +28 -32
  165. package/dist/features/preview/components/PreviewPanel.js +620 -319
  166. package/dist/features/preview/components/PreviewToolbar.js +105 -333
  167. package/dist/features/preview/components/RecordCard.js +80 -0
  168. package/dist/features/preview/components/RecordCombobox.js +178 -0
  169. package/dist/features/preview/components/ReferenceFieldEditor.js +149 -0
  170. package/dist/features/preview/components/ReferenceListFieldEditor.js +432 -0
  171. package/dist/features/preview/components/RemovedBlockPlaceholder.js +95 -0
  172. package/dist/features/preview/components/RepeatableItemsList.js +125 -138
  173. package/dist/features/preview/components/SelectionEditor.js +993 -0
  174. package/dist/features/preview/components/ShikiMarkdown.js +14 -18
  175. package/dist/features/preview/components/SidebarSection.js +52 -64
  176. package/dist/features/preview/components/StudioEditingFallback.js +56 -0
  177. package/dist/features/preview/components/UnlinkAssetButton.js +104 -107
  178. package/dist/features/preview/components/blockGridNavigation.js +15 -0
  179. package/dist/features/preview/components/contentFieldSchema.js +8 -0
  180. package/dist/features/preview/components/useFieldWriter.js +200 -0
  181. package/dist/features/preview/components/useRecordView.js +383 -0
  182. package/dist/features/preview/components/useRepeatableItemActions.js +35 -37
  183. package/dist/features/preview/components/useUpdateBlockPosition.js +37 -37
  184. package/dist/features/preview/editingFrame.js +197 -0
  185. package/dist/features/preview/overlayHighlights.js +17 -44
  186. package/dist/features/preview/overlayMessages.js +72 -1
  187. package/dist/features/preview/pageRecord.js +189 -0
  188. package/dist/features/preview/previewConstants.js +6 -2
  189. package/dist/features/preview/previewPageFrame.js +95 -0
  190. package/dist/features/preview/previewPreparation.js +7 -0
  191. package/dist/features/preview/previewSelection.js +32 -63
  192. package/dist/features/preview/previewStore.js +225 -123
  193. package/dist/features/preview/referencePickerFocus.js +29 -0
  194. package/dist/features/preview/repeatableItemTargets.js +56 -0
  195. package/dist/features/preview/selectionReveal.js +21 -0
  196. package/dist/features/preview/usePreviewViewportActions.js +114 -0
  197. package/dist/features/preview/viewportContinuity.js +109 -0
  198. package/dist/features/provider/AuthenticatedCamoxProvider.js +69 -44
  199. package/dist/features/provider/CamoxProvider.d.ts +3 -6
  200. package/dist/features/provider/CamoxProvider.js +38 -50
  201. package/dist/features/provider/CoreCamoxProvider.js +69 -50
  202. package/dist/features/provider/LocalhostPreviewProvider.js +78 -114
  203. package/dist/features/provider/PreviewSignInPage.js +54 -0
  204. package/dist/features/provider/components/CamoxAppContext.js +11 -11
  205. package/dist/features/provider/components/CommandPalette.js +75 -82
  206. package/dist/features/provider/useAdminShortcuts.js +7 -11
  207. package/dist/features/routes/pageRuntime.d.ts +44 -4
  208. package/dist/features/routes/pageRuntime.js +244 -137
  209. package/dist/features/runtime/RuntimeChrome.js +117 -115
  210. package/dist/features/runtime/alternates.js +64 -0
  211. package/dist/features/runtime/analytics.d.ts +7 -0
  212. package/dist/features/runtime/analytics.js +66 -0
  213. package/dist/features/runtime/artifactSources.js +87 -0
  214. package/dist/features/runtime/editingFallback.js +20 -0
  215. package/dist/features/runtime/linkPrefetch.js +97 -0
  216. package/dist/features/runtime/livePages.js +62 -0
  217. package/dist/features/runtime/llmsTxt.js +40 -0
  218. package/dist/features/runtime/loopbackFetch.js +18 -0
  219. package/dist/features/runtime/navigationAccessibility.js +51 -0
  220. package/dist/features/runtime/navigationTarget.js +23 -2
  221. package/dist/features/runtime/pageApp.js +229 -158
  222. package/dist/features/runtime/pageBlockTypes.js +20 -0
  223. package/dist/features/runtime/pageClient.d.ts +2 -4
  224. package/dist/features/runtime/pageClient.js +18 -3
  225. package/dist/features/runtime/pageNavigation.js +254 -32
  226. package/dist/features/runtime/pageServer.d.ts +2 -4
  227. package/dist/features/runtime/pageServer.js +6 -2
  228. package/dist/features/runtime/pageViewport.js +7 -0
  229. package/dist/features/runtime/runtime.d.ts +54 -24
  230. package/dist/features/runtime/runtime.js +766 -191
  231. package/dist/features/runtime/runtimeChromeLoader.js +58 -0
  232. package/dist/features/runtime/runtimeRoutes.d.ts +19 -0
  233. package/dist/features/runtime/runtimeRoutes.js +25 -0
  234. package/dist/features/runtime/scrollRestoration.js +133 -0
  235. package/dist/features/runtime/studioApp.d.ts +4 -3
  236. package/dist/features/runtime/studioApp.js +5 -9
  237. package/dist/features/runtime/studioClient.d.ts +2 -4
  238. package/dist/features/runtime/studioClient.js +12 -3
  239. package/dist/features/runtime/studioServer.d.ts +2 -4
  240. package/dist/features/runtime/studioServer.js +6 -1
  241. package/dist/features/runtime/worker.d.ts +6 -0
  242. package/dist/features/runtime/worker.js +23 -0
  243. package/dist/features/runtime/workerRequest.js +44 -0
  244. package/dist/features/studio/CamoxStudio.d.ts +2 -6
  245. package/dist/features/studio/CamoxStudio.js +34 -49
  246. package/dist/features/studio/FollowAgentProvider.js +327 -0
  247. package/dist/features/studio/components/ChatSidebar.js +356 -0
  248. package/dist/features/studio/components/DraftsControl.js +676 -0
  249. package/dist/features/studio/components/FaviconDialog.js +318 -0
  250. package/dist/features/studio/components/LocalePicker.js +785 -0
  251. package/dist/features/studio/components/Navbar.js +123 -103
  252. package/dist/features/studio/components/ProjectMenu.js +239 -260
  253. package/dist/features/studio/components/RenameDraftDialog.js +206 -0
  254. package/dist/features/studio/components/ReviewDraftSheet.js +1472 -0
  255. package/dist/features/studio/components/ThreadComposer.js +157 -0
  256. package/dist/features/studio/components/ThreadMarkdown.js +113 -0
  257. package/dist/features/studio/components/ThreadMessages.js +270 -0
  258. package/dist/features/studio/components/UserButton.js +34 -23
  259. package/dist/features/studio/draftLabel.js +33 -0
  260. package/dist/features/studio/draftNotice.js +13 -0
  261. package/dist/features/studio/followAgent.js +241 -0
  262. package/dist/features/studio/followAgentContext.js +7 -0
  263. package/dist/features/studio/localeOptions.js +118 -0
  264. package/dist/features/studio/localeSwitch.js +19 -0
  265. package/dist/features/studio/routes.js +26 -1
  266. package/dist/features/studio/studioStore.js +64 -1
  267. package/dist/features/studio/useTheme.js +24 -27
  268. package/dist/features/vite/artifactRuntimeMinification.js +36 -0
  269. package/dist/features/vite/blockBoilerplate.js +6 -5
  270. package/dist/features/vite/blockChunks.js +31 -0
  271. package/dist/features/vite/bundlerLogs.js +17 -0
  272. package/dist/features/vite/definitionsSync.js +158 -226
  273. package/dist/features/vite/devAuthentication.js +4 -16
  274. package/dist/features/vite/devSignIn.js +87 -0
  275. package/dist/features/vite/iconGeneration.js +1 -1
  276. package/dist/features/vite/layoutGeneration.js +11 -1
  277. package/dist/features/vite/publishSeededContent.js +30 -0
  278. package/dist/features/vite/routeGeneration.js +6 -7
  279. package/dist/features/vite/runtimeDev.js +80 -99
  280. package/dist/features/vite/vite.d.ts +51 -31
  281. package/dist/features/vite/vite.js +224 -127
  282. package/dist/features/vite/workerBuild.js +39 -0
  283. package/dist/hooks/use-debounced-field.js +116 -47
  284. package/dist/hooks/use-file-upload.js +114 -67
  285. package/dist/hooks/use-marquee-selection.js +32 -36
  286. package/dist/hooks/use-page-destinations.js +69 -37
  287. package/dist/lib/api-client-server.d.ts +5 -0
  288. package/dist/lib/api-client-server.js +10 -4
  289. package/dist/lib/api-client.d.ts +6 -0
  290. package/dist/lib/api-client.js +51 -16
  291. package/dist/lib/api-socket.js +17 -0
  292. package/dist/lib/auth-page-styles.js +39 -0
  293. package/dist/lib/auth.js +129 -61
  294. package/dist/lib/collection-cache.js +23 -0
  295. package/dist/lib/draft-scope.d.ts +4 -0
  296. package/dist/lib/draft-scope.js +222 -0
  297. package/dist/lib/html.js +12 -0
  298. package/dist/lib/link-pages.js +154 -0
  299. package/dist/lib/locale-path.d.ts +22 -0
  300. package/dist/lib/locale-path.js +57 -0
  301. package/dist/lib/normalized-data.js +252 -152
  302. package/dist/lib/preview-handoff.js +2 -2
  303. package/dist/lib/queries.d.ts +11 -0
  304. package/dist/lib/queries.js +70 -141
  305. package/dist/lib/studio-reads.d.ts +14 -0
  306. package/dist/lib/studio-reads.js +554 -0
  307. package/dist/lib/use-project-room.js +50 -50
  308. package/dist/lib/use-thread.js +310 -0
  309. package/dist/lib/utils.js +25 -29
  310. package/dist/lib/view-locale-context.js +22 -0
  311. package/dist/lib/view-locale.js +46 -0
  312. package/dist/package.js +5 -0
  313. package/dist/studio-overlays.css +41 -151
  314. package/dist/studio.css +2 -2
  315. package/package.json +70 -73
  316. package/skills/camox/SKILL.md +16 -11
  317. package/skills/camox/references/artifacts.md +179 -0
  318. package/skills/camox/references/block-definitions.md +75 -59
  319. package/skills/camox/references/cli-common.md +9 -11
  320. package/skills/camox/references/cli-content.md +92 -69
  321. package/skills/camox/references/cli-publishing.md +26 -0
  322. package/skills/camox/references/dom-integrations.md +27 -0
  323. package/skills/camox/references/field-styling.md +4 -4
  324. package/skills/camox/references/layout-definitions.md +16 -14
  325. package/skills/camox/references/localization.md +56 -0
  326. package/skills/camox/references/routed-layouts.md +133 -15
  327. package/skills/camox-expand/SKILL.md +70 -0
  328. package/skills/camox-expand/references/jobs.md +39 -0
  329. package/skills/camoxify/SKILL.md +29 -7
  330. package/dist/core/components/AddBlockControlBar.js +0 -78
  331. package/dist/core/hooks/useRequireDraftSource.js +0 -23
  332. package/dist/features/metadata/sitemap.d.ts +0 -8
  333. package/dist/features/metadata/sitemap.js +0 -17
  334. package/dist/features/og/imageResponse.node.d.ts +0 -12
  335. package/dist/features/og/imageResponse.node.js +0 -49
  336. package/dist/features/og/imageResponse.workerd.d.ts +0 -12
  337. package/dist/features/og/imageResponse.workerd.js +0 -40
  338. package/dist/features/page/PublishedPageContent.js +0 -205
  339. package/dist/features/page/PublishedPageExperience.js +0 -23
  340. package/dist/features/preview/DerivedPreview.js +0 -134
  341. package/dist/features/preview/commentsEnabled.js +0 -8
  342. package/dist/features/preview/components/AddBlockSidebar.js +0 -381
  343. package/dist/features/preview/components/AttachedComments.js +0 -331
  344. package/dist/features/preview/components/CommentHeader.js +0 -122
  345. package/dist/features/preview/components/CommentSidebar.js +0 -29
  346. package/dist/features/preview/components/CommentTargetQuote.js +0 -167
  347. package/dist/features/preview/components/DerivedLayoutSidebar.d.ts +0 -5
  348. package/dist/features/preview/components/DerivedLayoutSidebar.js +0 -179
  349. package/dist/features/preview/components/DerivedPageInfoSidebar.js +0 -69
  350. package/dist/features/preview/components/LeftSidebar.js +0 -68
  351. package/dist/features/preview/components/PageEditorSidebar.js +0 -563
  352. package/dist/features/preview/components/PageInfoSidebar.js +0 -1551
  353. package/dist/features/preview/components/PageNavigatorSidebar.js +0 -78
  354. package/dist/features/preview/components/PageStatusBadge.js +0 -97
  355. package/dist/features/preview/components/PeekedBlock.js +0 -217
  356. package/dist/features/preview/components/PreviewComments.js +0 -56
  357. package/dist/features/preview/components/PreviewToolbarSpacer.js +0 -43
  358. package/dist/features/preview/components/PublicationRow.js +0 -422
  359. package/dist/features/preview/components/PublishDialog.js +0 -194
  360. package/dist/features/preview/components/RightSidebar.js +0 -59
  361. package/dist/features/preview/components/SendFeedbackDialog.js +0 -83
  362. package/dist/features/preview/previewCommentsStore.js +0 -135
  363. package/dist/features/preview/publication.js +0 -81
  364. package/dist/features/preview/usePageComments.js +0 -39
  365. package/dist/features/runtime/SharedChromeContext.js +0 -7
  366. package/dist/features/studio/components/EnvironmentMenu.js +0 -425
  367. package/dist/features/vite/appGeneration.js +0 -89
  368. package/dist/lib/view-queries.js +0 -28
  369. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/Matches.d.ts +0 -114
  370. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/RouterProvider.d.ts +0 -25
  371. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/config.d.ts +0 -1
  372. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/defer.d.ts +0 -1
  373. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/fileRoute.d.ts +0 -20
  374. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/global.d.ts +0 -8
  375. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/hash-scroll.d.ts +0 -1
  376. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/index.d.ts +0 -18
  377. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/link.d.ts +0 -161
  378. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/load-matches.d.ts +0 -6
  379. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/location.d.ts +0 -54
  380. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/lru-cache.d.ts +0 -8
  381. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/manifest.d.ts +0 -32
  382. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.d.ts +0 -115
  383. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/not-found.d.ts +0 -1
  384. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/redirect.d.ts +0 -49
  385. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/rewrite.d.ts +0 -1
  386. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/root.d.ts +0 -6
  387. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/route.d.ts +0 -343
  388. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/routeInfo.d.ts +0 -48
  389. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/router.d.ts +0 -695
  390. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.d.ts +0 -1
  391. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/searchMiddleware.d.ts +0 -1
  392. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/searchParams.d.ts +0 -5
  393. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/ssr/serializer/RawStream.d.ts +0 -38
  394. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/ssr/serializer/seroval-plugins.d.ts +0 -1
  395. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/ssr/serializer/transformer.d.ts +0 -65
  396. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/stores.d.ts +0 -69
  397. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/structuralSharing.d.ts +0 -1
  398. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/typePrimitives.d.ts +0 -1
  399. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useLoaderData.d.ts +0 -1
  400. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useLoaderDeps.d.ts +0 -1
  401. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useNavigate.d.ts +0 -10
  402. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useParams.d.ts +0 -1
  403. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useRouteContext.d.ts +0 -1
  404. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useSearch.d.ts +0 -1
  405. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/utils.d.ts +0 -28
  406. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/validators.d.ts +0 -49
  407. package/skills/camox/references/cli-environments.md +0 -37
@@ -1,695 +0,0 @@
1
- import { Awaitable, Constrain, ControlledPromise, NoInfer, NonNullableUpdater, PickAsRequired, Updater } from "./utils.js";
2
- import { NavigateOptions, ResolveRelativePath, ToOptions } from "./link.js";
3
- import { FullSearchSchema, RouteById, RoutePaths, RoutesById, RoutesByPath } from "./routeInfo.js";
4
- import { AnyRedirect } from "./redirect.js";
5
- import { AnyRouteMatch, MakeRouteMatchUnion, MatchRouteOptions } from "./Matches.js";
6
- import { BuildLocationFn, CommitLocationOptions, NavigateFn } from "./RouterProvider.js";
7
- import { AnySerializationAdapter, ValidateSerializableInput } from "./ssr/serializer/transformer.js";
8
- import { AnyContext, AnyRoute, LoaderStaleReloadMode, MakeRemountDepsOptionsUnion, RouteMask } from "./route.js";
9
- import { AnySchema } from "./validators.js";
10
- import { ParsedLocation } from "./location.js";
11
- import { loadRouteChunk } from "./load-matches.js";
12
- import { LRUCache } from "./lru-cache.js";
13
- import { ProcessRouteTreeResult, ProcessedTree } from "./new-process-route-tree.js";
14
- import { SearchParser, SearchSerializer } from "./searchParams.js";
15
- import { Manifest, RouterManagedTag } from "./manifest.js";
16
- import { GetStoreConfig, RouterStores } from "./stores.js";
17
- import { HistoryLocation, HistoryState, ParsedHistoryState, RouterHistory } from "@tanstack/history";
18
-
19
- //#region ../../node_modules/.pnpm/@tanstack+router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/router.d.ts
20
- interface Register {}
21
- type RegisteredSsr<TRegister = Register> = TRegister extends {
22
- ssr: infer TSSR;
23
- } ? TSSR : false;
24
- type RegisteredRouter<TRegister = Register> = TRegister extends {
25
- router: infer TRouter;
26
- } ? TRouter : AnyRouter;
27
- type RegisteredConfigType<TRegister, TKey> = TRegister extends {
28
- config: infer TConfig;
29
- } ? TConfig extends {
30
- '~types': infer TTypes;
31
- } ? TKey extends keyof TTypes ? TTypes[TKey] : unknown : unknown : unknown;
32
- type DefaultRemountDepsFn<TRouteTree extends AnyRoute> = (opts: MakeRemountDepsOptionsUnion<TRouteTree>) => any;
33
- interface DefaultRouterOptionsExtensions {}
34
- interface RouterOptionsExtensions extends DefaultRouterOptionsExtensions {}
35
- type SSROption = boolean | 'data-only';
36
- interface RouterOptions<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean = false, TRouterHistory extends RouterHistory = RouterHistory, TDehydrated = undefined> extends RouterOptionsExtensions {
37
- /**
38
- * The history object that will be used to manage the browser history.
39
- *
40
- * If not provided, a new createBrowserHistory instance will be created and used.
41
- *
42
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#history-property)
43
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/history-types)
44
- */
45
- history?: TRouterHistory;
46
- /**
47
- * A function that will be used to stringify search params when generating links.
48
- *
49
- * @default defaultStringifySearch
50
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#stringifysearch-method)
51
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/custom-search-param-serialization)
52
- */
53
- stringifySearch?: SearchSerializer;
54
- /**
55
- * A function that will be used to parse search params when parsing the current location.
56
- *
57
- * @default defaultParseSearch
58
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#parsesearch-method)
59
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/custom-search-param-serialization)
60
- */
61
- parseSearch?: SearchParser;
62
- /**
63
- * If `false`, routes will not be preloaded by default in any way.
64
- *
65
- * If `'intent'`, routes will be preloaded by default when the user hovers over a link or a `touchstart` event is detected on a `<Link>`.
66
- *
67
- * If `'viewport'`, routes will be preloaded by default when they are within the viewport.
68
- *
69
- * @default false
70
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpreload-property)
71
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/preloading)
72
- */
73
- defaultPreload?: false | 'intent' | 'viewport' | 'render';
74
- /**
75
- * The delay in milliseconds that a route must be hovered over or touched before it is preloaded.
76
- *
77
- * @default 50
78
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpreloaddelay-property)
79
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/preloading#preload-delay)
80
- */
81
- defaultPreloadDelay?: number;
82
- /**
83
- * The default `preloadIntentProximity` a route should use if no preloadIntentProximity is provided.
84
- *
85
- * @default 0
86
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpreloadintentproximity-property)
87
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/preloading#preload-intent-proximity)
88
- */
89
- defaultPreloadIntentProximity?: number;
90
- /**
91
- * The default `pendingMs` a route should use if no pendingMs is provided.
92
- *
93
- * @default 1000
94
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpendingms-property)
95
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#avoiding-pending-component-flash)
96
- */
97
- defaultPendingMs?: number;
98
- /**
99
- * The default `pendingMinMs` a route should use if no pendingMinMs is provided.
100
- *
101
- * @default 500
102
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpendingminms-property)
103
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#avoiding-pending-component-flash)
104
- */
105
- defaultPendingMinMs?: number;
106
- /**
107
- * The default `staleTime` a route should use if no staleTime is provided. This is the time in milliseconds that a route will be considered fresh.
108
- *
109
- * @default 0
110
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultstaletime-property)
111
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#key-options)
112
- */
113
- defaultStaleTime?: number;
114
- /**
115
- * The default stale reload mode a route loader should use if no `loader.staleReloadMode` is provided.
116
- *
117
- * `'background'` preserves the current stale-while-revalidate behavior.
118
- * `'blocking'` waits for stale loader reloads to complete before resolving navigation.
119
- *
120
- * @default 'background'
121
- */
122
- defaultStaleReloadMode?: LoaderStaleReloadMode;
123
- /**
124
- * The default `preloadStaleTime` a route should use if no preloadStaleTime is provided.
125
- *
126
- * @default 30_000 `(30 seconds)`
127
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpreloadstaletime-property)
128
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/preloading)
129
- */
130
- defaultPreloadStaleTime?: number;
131
- /**
132
- * The default `defaultPreloadGcTime` a route should use if no preloadGcTime is provided.
133
- *
134
- * @default 1_800_000 `(30 minutes)`
135
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultpreloadgctime-property)
136
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/preloading)
137
- */
138
- defaultPreloadGcTime?: number;
139
- /**
140
- * If `true`, route navigations will called using `document.startViewTransition()`.
141
- *
142
- * If the browser does not support this api, this option will be ignored.
143
- *
144
- * See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document/startViewTransition) for more information on how this function works.
145
- *
146
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultviewtransition-property)
147
- */
148
- defaultViewTransition?: boolean | ViewTransitionOptions;
149
- /**
150
- * The default `hashScrollIntoView` a route should use if no hashScrollIntoView is provided while navigating
151
- *
152
- * See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView) for more information on `ScrollIntoViewOptions`.
153
- *
154
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaulthashscrollintoview-property)
155
- */
156
- defaultHashScrollIntoView?: boolean | ScrollIntoViewOptions;
157
- /**
158
- * @default 'fuzzy'
159
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#notfoundmode-property)
160
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/not-found-errors#the-notfoundmode-option)
161
- */
162
- notFoundMode?: 'root' | 'fuzzy';
163
- /**
164
- * The default `gcTime` a route should use if no gcTime is provided.
165
- *
166
- * @default 1_800_000 `(30 minutes)`
167
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultgctime-property)
168
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#key-options)
169
- */
170
- defaultGcTime?: number;
171
- /**
172
- * If `true`, all routes will be matched as case-sensitive.
173
- *
174
- * @default false
175
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#casesensitive-property)
176
- */
177
- caseSensitive?: boolean;
178
- /**
179
- *
180
- * The route tree that will be used to configure the router instance.
181
- *
182
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#routetree-property)
183
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/routing/route-trees)
184
- */
185
- routeTree?: TRouteTree;
186
- /**
187
- * The basepath for then entire router. This is useful for mounting a router instance at a subpath.
188
- * ```
189
- * @default '/'
190
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#basepath-property)
191
- */
192
- basepath?: string;
193
- /**
194
- * The root context that will be provided to all routes in the route tree.
195
- *
196
- * This can be used to provide a context to all routes in the tree without having to provide it to each route individually.
197
- *
198
- * Optional or required if the root route was created with [`createRootRouteWithContext()`](https://tanstack.com/router/latest/docs/framework/react/api/router/createRootRouteWithContextFunction).
199
- *
200
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#context-property)
201
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/router-context)
202
- */
203
- context?: InferRouterContext<TRouteTree>;
204
- additionalContext?: any;
205
- /**
206
- * A function that will be called when the router is dehydrated.
207
- *
208
- * The return value of this function will be serialized and stored in the router's dehydrated state.
209
- *
210
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#dehydrate-method)
211
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/external-data-loading#critical-dehydrationhydration)
212
- */
213
- dehydrate?: () => Constrain<TDehydrated, ValidateSerializableInput<Register, TDehydrated>>;
214
- /**
215
- * A function that will be called when the router is hydrated.
216
- *
217
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#hydrate-method)
218
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/external-data-loading#critical-dehydrationhydration)
219
- */
220
- hydrate?: (dehydrated: TDehydrated) => Awaitable<void>;
221
- /**
222
- * An array of route masks that will be used to mask routes in the route tree.
223
- *
224
- * Route masking is when you display a route at a different path than the one it is configured to match, like a modal popup that when shared will unmask to the modal's content instead of the modal's context.
225
- *
226
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#routemasks-property)
227
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/route-masking)
228
- */
229
- routeMasks?: Array<RouteMask<TRouteTree>>;
230
- /**
231
- * If `true`, route masks will, by default, be removed when the page is reloaded.
232
- *
233
- * This can be overridden on a per-mask basis by setting the `unmaskOnReload` option on the mask, or on a per-navigation basis by setting the `unmaskOnReload` option in the `Navigate` options.
234
- *
235
- * @default false
236
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#unmaskonreload-property)
237
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/route-masking#unmasking-on-page-reload)
238
- */
239
- unmaskOnReload?: boolean;
240
- /**
241
- * Use `notFoundComponent` instead.
242
- *
243
- * @deprecated
244
- * See https://tanstack.com/router/v1/docs/guide/not-found-errors#migrating-from-notfoundroute for more info.
245
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#notfoundroute-property)
246
- */
247
- notFoundRoute?: AnyRoute;
248
- /**
249
- * Configures how trailing slashes are treated.
250
- *
251
- * - `'always'` will add a trailing slash if not present
252
- * - `'never'` will remove the trailing slash if present
253
- * - `'preserve'` will not modify the trailing slash.
254
- *
255
- * @default 'never'
256
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#trailingslash-property)
257
- */
258
- trailingSlash?: TTrailingSlashOption;
259
- /**
260
- * While usually automatic, sometimes it can be useful to force the router into a server-side state, e.g. when using the router in a non-browser environment that has access to a global.document object.
261
- *
262
- * @default typeof document !== 'undefined'
263
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#isserver-property)
264
- */
265
- isServer?: boolean;
266
- /**
267
- * @default false
268
- */
269
- isShell?: boolean;
270
- /**
271
- * @default false
272
- */
273
- isPrerendering?: boolean;
274
- /**
275
- * The default `ssr` a route should use if no `ssr` is provided.
276
- *
277
- * @default true
278
- */
279
- defaultSsr?: SSROption;
280
- search?: {
281
- /**
282
- * Configures how unknown search params (= not returned by any `validateSearch`) are treated.
283
- *
284
- * @default false
285
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#search.strict-property)
286
- */
287
- strict?: boolean;
288
- };
289
- /**
290
- * Configures whether structural sharing is enabled by default for fine-grained selectors.
291
- *
292
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultstructuralsharing-property)
293
- */
294
- defaultStructuralSharing?: TDefaultStructuralSharingOption;
295
- /**
296
- * Configures which URI characters are allowed in path params that would ordinarily be escaped by encodeURIComponent.
297
- *
298
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#pathparamsallowedcharacters-property)
299
- * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/path-params#allowed-characters)
300
- */
301
- pathParamsAllowedCharacters?: Array<';' | ':' | '@' | '&' | '=' | '+' | '$' | ','>;
302
- defaultRemountDeps?: DefaultRemountDepsFn<TRouteTree>;
303
- /**
304
- * If `true`, scroll restoration will be enabled
305
- *
306
- * @default false
307
- */
308
- scrollRestoration?: boolean | ((opts: {
309
- location: ParsedLocation;
310
- }) => boolean);
311
- /**
312
- * A function that will be called to get the key for the scroll restoration cache.
313
- *
314
- * @default (location) => location.href
315
- */
316
- getScrollRestorationKey?: (location: ParsedLocation) => string;
317
- /**
318
- * The default behavior for scroll restoration.
319
- *
320
- * @default 'auto'
321
- */
322
- scrollRestorationBehavior?: ScrollBehavior;
323
- /**
324
- * An array of selectors that will be used to scroll to the top of the page in addition to `window`
325
- *
326
- * @default ['window']
327
- */
328
- scrollToTopSelectors?: Array<string | (() => Element | null | undefined)>;
329
- /**
330
- * When `true`, disables the global catch boundary that normally wraps all route matches.
331
- * This allows unhandled errors to bubble up to top-level error handlers in the browser.
332
- *
333
- * Useful for testing tools (like Storybook Test Runner), error reporting services,
334
- * and debugging scenarios where you want errors to reach the browser's global error handlers.
335
- *
336
- * @default false
337
- */
338
- disableGlobalCatchBoundary?: boolean;
339
- /**
340
- * An array of URL protocols to allow in links, redirects, and navigation.
341
- * Absolute URLs with protocols not in this list will be rejected.
342
- *
343
- * @default DEFAULT_PROTOCOL_ALLOWLIST (http:, https:, mailto:, tel:)
344
- * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#protocolallowlist-property)
345
- */
346
- protocolAllowlist?: Array<string>;
347
- serializationAdapters?: ReadonlyArray<AnySerializationAdapter>;
348
- /**
349
- * Configures how the router will rewrite the location between the actual href and the internal href of the router.
350
- *
351
- * @default undefined
352
- * @description You can provide a custom rewrite pair (in/out).
353
- * This is useful for shifting data from the origin to the path (for things like subdomain routing), or other advanced use cases.
354
- */
355
- rewrite?: LocationRewrite;
356
- origin?: string;
357
- ssr?: {
358
- nonce?: string;
359
- };
360
- }
361
- type LocationRewrite = {
362
- /**
363
- * A function that will be called to rewrite the URL before it is interpreted by the router from the history instance.
364
- *
365
- * @default undefined
366
- */
367
- input?: LocationRewriteFunction;
368
- /**
369
- * A function that will be called to rewrite the URL before it is committed to the actual history instance from the router.
370
- *
371
- * @default undefined
372
- */
373
- output?: LocationRewriteFunction;
374
- };
375
- /**
376
- * A function that will be called to rewrite the URL.
377
- *
378
- * @param url The URL to rewrite.
379
- * @returns The rewritten URL (as a URL instance or full href string) or undefined if no rewrite is needed.
380
- */
381
- type LocationRewriteFunction = ({
382
- url
383
- }: {
384
- url: URL;
385
- }) => undefined | string | URL;
386
- interface RouterState<in out TRouteTree extends AnyRoute = AnyRoute, in out TRouteMatch = MakeRouteMatchUnion> {
387
- status: 'pending' | 'idle';
388
- loadedAt: number;
389
- isLoading: boolean;
390
- isTransitioning: boolean;
391
- matches: Array<TRouteMatch>;
392
- location: ParsedLocation<FullSearchSchema<TRouteTree>>;
393
- resolvedLocation?: ParsedLocation<FullSearchSchema<TRouteTree>>;
394
- statusCode: number;
395
- redirect?: AnyRedirect;
396
- }
397
- interface BuildNextOptions {
398
- to?: string | number | null;
399
- params?: true | Updater<unknown>;
400
- search?: true | Updater<unknown>;
401
- hash?: true | Updater<string>;
402
- state?: true | NonNullableUpdater<ParsedHistoryState, HistoryState>;
403
- mask?: {
404
- to?: string | number | null;
405
- params?: true | Updater<unknown>;
406
- search?: true | Updater<unknown>;
407
- hash?: true | Updater<string>;
408
- state?: true | NonNullableUpdater<ParsedHistoryState, HistoryState>;
409
- unmaskOnReload?: boolean;
410
- };
411
- from?: string;
412
- href?: string;
413
- _fromLocation?: ParsedLocation;
414
- unsafeRelative?: 'path';
415
- _isNavigate?: boolean;
416
- }
417
- type NavigationEventInfo = {
418
- fromLocation?: ParsedLocation;
419
- toLocation: ParsedLocation;
420
- pathChanged: boolean;
421
- hrefChanged: boolean;
422
- hashChanged: boolean;
423
- };
424
- interface RouterEvents {
425
- onBeforeNavigate: {
426
- type: 'onBeforeNavigate';
427
- } & NavigationEventInfo;
428
- onBeforeLoad: {
429
- type: 'onBeforeLoad';
430
- } & NavigationEventInfo;
431
- onLoad: {
432
- type: 'onLoad';
433
- } & NavigationEventInfo;
434
- onResolved: {
435
- type: 'onResolved';
436
- } & NavigationEventInfo;
437
- onBeforeRouteMount: {
438
- type: 'onBeforeRouteMount';
439
- } & NavigationEventInfo;
440
- onRendered: {
441
- type: 'onRendered';
442
- } & NavigationEventInfo;
443
- }
444
- type RouterEvent = RouterEvents[keyof RouterEvents];
445
- type ListenerFn<TEvent extends RouterEvent> = (event: TEvent) => void;
446
- type RouterListener<TRouterEvent extends RouterEvent> = {
447
- eventType: TRouterEvent['type'];
448
- fn: ListenerFn<TRouterEvent>;
449
- };
450
- type SubscribeFn = <TType extends keyof RouterEvents>(eventType: TType, fn: ListenerFn<RouterEvents[TType]>) => () => void;
451
- interface MatchRoutesOpts {
452
- preload?: boolean;
453
- throwOnError?: boolean;
454
- dest?: BuildNextOptions;
455
- }
456
- type InferRouterContext<TRouteTree extends AnyRoute> = TRouteTree['types']['routerContext'];
457
- type RouterContextOptions<TRouteTree extends AnyRoute> = AnyContext extends InferRouterContext<TRouteTree> ? {
458
- context?: InferRouterContext<TRouteTree>;
459
- } : {
460
- context: InferRouterContext<TRouteTree>;
461
- };
462
- type RouterConstructorOptions<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record<string, any>> = Omit<RouterOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>, 'context' | 'serializationAdapters' | 'defaultSsr'> & RouterContextOptions<TRouteTree>;
463
- type PreloadRouteFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory> = <TFrom extends RoutePaths<TRouteTree> | string = string, TTo extends string | undefined = undefined, TMaskFrom extends RoutePaths<TRouteTree> | string = TFrom, TMaskTo extends string = ''>(opts: NavigateOptions<RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>, TFrom, TTo, TMaskFrom, TMaskTo> & {}) => Promise<Array<AnyRouteMatch> | undefined>;
464
- type MatchRouteFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory> = <TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string | undefined = undefined, TResolved = ResolveRelativePath<TFrom, NoInfer<TTo>>>(location: ToOptions<RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>, TFrom, TTo>, opts?: MatchRouteOptions) => false | RouteById<TRouteTree, TResolved>['types']['allParams'];
465
- type UpdateFn<TRouteTree extends AnyRoute, TTrailingSlashOption extends TrailingSlashOption, TDefaultStructuralSharingOption extends boolean, TRouterHistory extends RouterHistory, TDehydrated extends Record<string, any>> = (newOptions: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>) => void;
466
- type InvalidateFn<TRouter extends AnyRouter> = (opts?: {
467
- filter?: (d: MakeRouteMatchUnion<TRouter>) => boolean;
468
- sync?: boolean;
469
- forcePending?: boolean;
470
- }) => Promise<void>;
471
- type ParseLocationFn<TRouteTree extends AnyRoute> = (locationToParse: HistoryLocation, previousLocation?: ParsedLocation<FullSearchSchema<TRouteTree>>) => ParsedLocation<FullSearchSchema<TRouteTree>>;
472
- type GetMatchRoutesFn = (pathname: string) => {
473
- matchedRoutes: ReadonlyArray<AnyRoute>; /** exhaustive params, still in their string form */
474
- routeParams: Record<string, string>; /** partial params, parsed from routeParams during matching */
475
- parsedParams: Record<string, unknown> | undefined;
476
- foundRoute: AnyRoute | undefined;
477
- parseError?: unknown;
478
- };
479
- type EmitFn = (routerEvent: RouterEvent) => void;
480
- type LoadFn = (opts?: {
481
- sync?: boolean;
482
- }) => Promise<void>;
483
- type CommitLocationFn = ({
484
- viewTransition,
485
- ignoreBlocker,
486
- ...next
487
- }: ParsedLocation & CommitLocationOptions) => Promise<void>;
488
- type StartTransitionFn = (fn: () => void) => void;
489
- interface MatchRoutesFn {
490
- (pathname: string, locationSearch?: AnySchema, opts?: MatchRoutesOpts): Array<MakeRouteMatchUnion>;
491
- /**
492
- * @deprecated use the following signature instead
493
- */
494
- (next: ParsedLocation, opts?: MatchRoutesOpts): Array<AnyRouteMatch>;
495
- (pathnameOrNext: string | ParsedLocation, locationSearchOrOpts?: AnySchema | MatchRoutesOpts, opts?: MatchRoutesOpts): Array<AnyRouteMatch>;
496
- }
497
- type GetMatchFn = (matchId: string) => AnyRouteMatch | undefined;
498
- type UpdateMatchFn = (id: string, updater: (match: AnyRouteMatch) => AnyRouteMatch) => void;
499
- type ClearCacheFn<TRouter extends AnyRouter> = (opts?: {
500
- filter?: (d: MakeRouteMatchUnion<TRouter>) => boolean;
501
- }) => void;
502
- interface ServerSsr {
503
- /**
504
- * Injects HTML synchronously into the stream.
505
- * Emits an onInjectedHtml event that listeners can handle.
506
- * If no subscriber is listening, the HTML is buffered and can be retrieved via takeBufferedHtml().
507
- */
508
- injectHtml: (html: string) => void;
509
- /**
510
- * Injects a script tag synchronously into the stream.
511
- */
512
- injectScript: (script: string) => void;
513
- isDehydrated: () => boolean;
514
- isSerializationFinished: () => boolean;
515
- onRenderFinished: (listener: () => void) => void;
516
- setRenderFinished: () => void;
517
- cleanup: () => void;
518
- onSerializationFinished: (listener: () => void) => void;
519
- dehydrate: (opts?: {
520
- requestAssets?: Array<RouterManagedTag>;
521
- }) => Promise<void>;
522
- takeBufferedScripts: () => RouterManagedTag | undefined;
523
- /**
524
- * Takes any buffered HTML that was injected.
525
- * Returns the buffered HTML string (which may include multiple script tags) or undefined if empty.
526
- */
527
- takeBufferedHtml: () => string | undefined;
528
- liftScriptBarrier: () => void;
529
- }
530
- type AnyRouter = RouterCore<any, any, any, any, any>;
531
- interface ViewTransitionOptions {
532
- types: Array<string> | ((locationChangeInfo: {
533
- fromLocation?: ParsedLocation;
534
- toLocation: ParsedLocation;
535
- pathChanged: boolean;
536
- hrefChanged: boolean;
537
- hashChanged: boolean;
538
- }) => Array<string> | false);
539
- }
540
- /** Options for configuring trailing-slash behavior. */
541
- declare const trailingSlashOptions: {
542
- readonly always: "always";
543
- readonly never: "never";
544
- readonly preserve: "preserve";
545
- };
546
- type TrailingSlashOption = (typeof trailingSlashOptions)[keyof typeof trailingSlashOptions];
547
- declare global {
548
- var __TSR_CACHE__: {
549
- routeTree: AnyRoute;
550
- processRouteTreeResult: ProcessRouteTreeResult<AnyRoute>;
551
- resolvePathCache: LRUCache<string, string>;
552
- } | undefined;
553
- }
554
- /**
555
- * Core, framework-agnostic router engine that powers TanStack Router.
556
- *
557
- * Provides navigation, matching, loading, preloading, caching and event APIs
558
- * used by framework adapters (React/Solid). Prefer framework helpers like
559
- * `createRouter` in app code.
560
- *
561
- * @link https://tanstack.com/router/latest/docs/framework/react/api/router/RouterType
562
- */
563
- declare class RouterCore<in out TRouteTree extends AnyRoute, in out TTrailingSlashOption extends TrailingSlashOption, in out TDefaultStructuralSharingOption extends boolean, in out TRouterHistory extends RouterHistory = RouterHistory, in out TDehydrated extends Record<string, any> = Record<string, any>> {
564
- tempLocationKey: string | undefined;
565
- resetNextScroll: boolean;
566
- shouldViewTransition?: boolean | ViewTransitionOptions;
567
- isViewTransitionTypesSupported?: boolean;
568
- subscribers: Set<RouterListener<RouterEvent>>;
569
- viewTransitionPromise?: ControlledPromise<true>;
570
- isScrollRestoring: boolean;
571
- isScrollRestorationSetup: boolean;
572
- stores: RouterStores<TRouteTree>;
573
- private getStoreConfig;
574
- batch: (fn: () => void) => void;
575
- options: PickAsRequired<RouterOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>, 'stringifySearch' | 'parseSearch' | 'context'>;
576
- history: TRouterHistory;
577
- rewrite?: LocationRewrite;
578
- origin?: string;
579
- latestLocation: ParsedLocation<FullSearchSchema<TRouteTree>>;
580
- pendingBuiltLocation?: ParsedLocation<FullSearchSchema<TRouteTree>>;
581
- basepath: string;
582
- routeTree: TRouteTree;
583
- routesById: RoutesById<TRouteTree>;
584
- routesByPath: RoutesByPath<TRouteTree>;
585
- processedTree: ProcessedTree<TRouteTree, any, any>;
586
- resolvePathCache: LRUCache<string, string>;
587
- isServer: boolean;
588
- pathParamsDecoder?: (encoded: string) => string;
589
- protocolAllowlist: Set<string>;
590
- /**
591
- * @deprecated Use the `createRouter` function instead
592
- */
593
- constructor(options: RouterConstructorOptions<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>, getStoreConfig: GetStoreConfig);
594
- startTransition: StartTransitionFn;
595
- isShell(): boolean;
596
- isPrerendering(): boolean;
597
- update: UpdateFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>;
598
- get state(): RouterState<TRouteTree>;
599
- updateLatestLocation: () => void;
600
- buildRouteTree: () => ProcessRouteTreeResult<TRouteTree>;
601
- setRoutes({
602
- routesById,
603
- routesByPath,
604
- processedTree
605
- }: ProcessRouteTreeResult<TRouteTree>): void;
606
- /**
607
- * Subscribe to router lifecycle events like `onBeforeNavigate`, `onLoad`,
608
- * `onResolved`, etc. Returns an unsubscribe function.
609
- *
610
- * @link https://tanstack.com/router/latest/docs/framework/react/api/router/RouterEventsType
611
- */
612
- subscribe: SubscribeFn;
613
- emit: EmitFn;
614
- /**
615
- * Parse a HistoryLocation into a strongly-typed ParsedLocation using the
616
- * current router options, rewrite rules and search parser/stringifier.
617
- */
618
- parseLocation: ParseLocationFn<TRouteTree>;
619
- /** Resolve a path against the router basepath and trailing-slash policy. */
620
- resolvePathWithBase: (from: string, path: string) => string;
621
- get looseRoutesById(): Record<string, AnyRoute>;
622
- matchRoutes: MatchRoutesFn;
623
- private getParentContext;
624
- private matchRoutesInternal;
625
- getMatchedRoutes: GetMatchRoutesFn;
626
- /**
627
- * Lightweight route matching for buildLocation.
628
- * Only computes fullPath, accumulated search, and params - skipping expensive
629
- * operations like AbortController, ControlledPromise, loaderDeps, and full match objects.
630
- */
631
- private matchRoutesLightweight;
632
- cancelMatch: (id: string) => void;
633
- cancelMatches: () => void;
634
- /**
635
- * Build the next ParsedLocation from navigation options without committing.
636
- * Resolves `to`/`from`, params/search/hash/state, applies search validation
637
- * and middlewares, and returns a stable, stringified location object.
638
- *
639
- * @link https://tanstack.com/router/latest/docs/framework/react/api/router/RouterType#buildlocation-method
640
- */
641
- buildLocation: BuildLocationFn;
642
- commitLocationPromise: undefined | ControlledPromise<void>;
643
- /**
644
- * Commit a previously built location to history (push/replace), optionally
645
- * using view transitions and scroll restoration options.
646
- */
647
- commitLocation: CommitLocationFn;
648
- /** Convenience helper: build a location from options, then commit it. */
649
- buildAndCommitLocation: ({
650
- replace,
651
- resetScroll,
652
- hashScrollIntoView,
653
- viewTransition,
654
- ignoreBlocker,
655
- href,
656
- ...rest
657
- }?: BuildNextOptions & CommitLocationOptions) => Promise<void>;
658
- /**
659
- * Imperatively navigate using standard `NavigateOptions`. When `reloadDocument`
660
- * or an absolute `href` is provided, performs a full document navigation.
661
- * Otherwise, builds and commits a client-side location.
662
- *
663
- * @link https://tanstack.com/router/latest/docs/framework/react/api/router/NavigateOptionsType
664
- */
665
- navigate: NavigateFn;
666
- latestLoadPromise: undefined | Promise<void>;
667
- beforeLoad: () => void;
668
- load: LoadFn;
669
- startViewTransition: (fn: () => Promise<void>) => void;
670
- updateMatch: UpdateMatchFn;
671
- getMatch: GetMatchFn;
672
- /**
673
- * Invalidate the current matches and optionally force them back into a pending state.
674
- *
675
- * - Marks all matches that pass the optional `filter` as `invalid: true`.
676
- * - If `forcePending` is true, or a match is currently in `'error'` or `'notFound'` status,
677
- * its status is reset to `'pending'` and its `error` cleared so that the loader is re-run
678
- * on the next `load()` call (eg. after HMR or a manual invalidation).
679
- */
680
- invalidate: InvalidateFn<RouterCore<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory, TDehydrated>>;
681
- getParsedLocationHref: (location: ParsedLocation) => string;
682
- resolveRedirect: (redirect: AnyRedirect) => AnyRedirect;
683
- clearCache: ClearCacheFn<this>;
684
- clearExpiredCache: () => void;
685
- loadRouteChunk: typeof loadRouteChunk;
686
- preloadRoute: PreloadRouteFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>;
687
- matchRoute: MatchRouteFn<TRouteTree, TTrailingSlashOption, TDefaultStructuralSharingOption, TRouterHistory>;
688
- ssr?: {
689
- manifest: Manifest | undefined;
690
- };
691
- serverSsr?: ServerSsr;
692
- hasNotFoundMatch: () => boolean;
693
- }
694
- //#endregion
695
- export { AnyRouter, BuildNextOptions, ClearCacheFn, CommitLocationFn, DefaultRemountDepsFn, EmitFn, GetMatchFn, GetMatchRoutesFn, InvalidateFn, ListenerFn, LoadFn, LocationRewrite, LocationRewriteFunction, MatchRouteFn, MatchRoutesFn, MatchRoutesOpts, ParseLocationFn, PreloadRouteFn, Register, RegisteredConfigType, RegisteredRouter, RegisteredSsr, RouterConstructorOptions, RouterContextOptions, RouterCore, RouterEvent, RouterEvents, RouterListener, RouterOptions, RouterOptionsExtensions, RouterState, SSROption, StartTransitionFn, SubscribeFn, TrailingSlashOption, UpdateFn, UpdateMatchFn, ViewTransitionOptions, trailingSlashOptions };