camox 0.44.0 → 0.45.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 (411) 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 +1734 -0
  68. package/dist/features/canvas/CanvasBlockFrame.js +353 -0
  69. package/dist/features/canvas/CanvasBlockHeader.js +55 -0
  70. package/dist/features/canvas/CanvasLoadingScreen.js +35 -0
  71. package/dist/features/canvas/CanvasOverlays.js +254 -0
  72. package/dist/features/canvas/CanvasPageEdge.js +87 -0
  73. package/dist/features/canvas/CanvasPageFrame.js +335 -0
  74. package/dist/features/canvas/CanvasPageHeader.js +125 -0
  75. package/dist/features/canvas/CanvasPreviewPageSlot.js +103 -0
  76. package/dist/features/canvas/CanvasShelfMarker.js +255 -0
  77. package/dist/features/canvas/DerivedPagePathInput.js +238 -0
  78. package/dist/features/canvas/canvasCamera.js +229 -0
  79. package/dist/features/canvas/canvasFlight.js +104 -0
  80. package/dist/features/canvas/canvasFrameCapture.js +364 -0
  81. package/dist/features/canvas/canvasFrameDocument.js +317 -0
  82. package/dist/features/canvas/canvasFrameMode.js +53 -0
  83. package/dist/features/canvas/canvasInsertionSeams.js +44 -0
  84. package/dist/features/canvas/canvasItems.js +120 -0
  85. package/dist/features/canvas/canvasOverlayGeometry.js +240 -0
  86. package/dist/features/canvas/canvasPages.js +79 -0
  87. package/dist/features/canvas/canvasScreenSpace.js +26 -0
  88. package/dist/features/canvas/canvasSelection.js +18 -0
  89. package/dist/features/canvas/canvasStore.js +149 -0
  90. package/dist/features/canvas/canvasThumbnails.js +304 -0
  91. package/dist/features/canvas/canvasZoom.js +10 -0
  92. package/dist/features/canvas/sidebar/CanvasInspector.js +202 -0
  93. package/dist/features/canvas/sidebar/CanvasNavigator.js +226 -0
  94. package/dist/features/canvas/sidebar/CanvasSidebar.js +60 -0
  95. package/dist/features/canvas/sidebar/CanvasSidebarFrame.js +48 -0
  96. package/dist/features/canvas/sidebar/CanvasSidebarSkeleton.js +39 -0
  97. package/dist/features/canvas/sidebar/CatalogBlockInspector.js +189 -0
  98. package/dist/features/canvas/sidebar/CuratedPageInspector.js +69 -0
  99. package/dist/features/canvas/sidebar/DerivedPageInspector.js +37 -0
  100. package/dist/features/canvas/sidebar/LayoutPageBlocks.js +78 -0
  101. package/dist/features/canvas/sidebar/LayoutPageOverview.js +71 -0
  102. package/dist/features/canvas/sidebar/PageInspector.js +157 -0
  103. package/dist/features/canvas/sidebar/PageInspectorSkeleton.js +90 -0
  104. package/dist/features/canvas/sidebar/PageOverview.js +27 -0
  105. package/dist/features/canvas/sidebar/SingletonPageInspector.js +31 -0
  106. package/dist/features/canvas/useCanvasCamera.js +803 -0
  107. package/dist/features/canvas/useCanvasFrame.js +149 -0
  108. package/dist/features/canvas/useCanvasFrameInput.js +97 -0
  109. package/dist/features/canvas/useCanvasNearness.js +57 -0
  110. package/dist/features/canvas/useDiscoveredPreviewPaths.js +62 -0
  111. package/dist/features/content/CamoxContent.d.ts +2 -5
  112. package/dist/features/content/CamoxContent.js +174 -271
  113. package/dist/features/content/CollectionItemSheetContext.js +106 -0
  114. package/dist/features/content/ContentAssets.js +315 -0
  115. package/dist/features/content/ContentCollection.js +663 -0
  116. package/dist/features/content/collection-form.js +58 -0
  117. package/dist/features/content/components/AssetCard.js +80 -84
  118. package/dist/features/content/components/AssetCardSkeleton.js +4 -8
  119. package/dist/features/content/components/ContentSidebar.js +129 -18
  120. package/dist/features/content/components/ContentSidebarGroup.js +37 -0
  121. package/dist/features/content/components/DeleteCollectionItemButton.js +202 -0
  122. package/dist/features/content/components/MissingFromLocale.js +282 -0
  123. package/dist/features/content/components/UploadDropZone.js +27 -31
  124. package/dist/features/content/components/UploadProgressDrawer.js +90 -98
  125. package/dist/features/navigation/navigation.d.ts +66 -20
  126. package/dist/features/navigation/navigation.js +257 -90
  127. package/dist/features/og/defaultFonts.js +8 -8
  128. package/dist/features/og/geist-variable-ttf-base64.js +1 -1
  129. package/dist/features/og/imageResponse.d.ts +8 -0
  130. package/dist/features/og/imageResponse.js +26 -0
  131. package/dist/features/page/CuratedPageContent.js +167 -0
  132. package/dist/features/page/DerivedPageContent.js +26 -30
  133. package/dist/features/page/SharedLayoutContent.js +25 -27
  134. package/dist/features/preview/CamoxPreview.d.ts +23 -61
  135. package/dist/features/preview/CamoxPreview.js +816 -537
  136. package/dist/features/preview/EditablePageContent.js +1 -1
  137. package/dist/features/preview/EditablePageExperience.js +16 -22
  138. package/dist/features/preview/components/AddBlockDialog.js +270 -0
  139. package/dist/features/preview/components/AssetFieldEditor.js +173 -154
  140. package/dist/features/preview/components/AssetLightbox.js +181 -134
  141. package/dist/features/preview/components/AssetPickerModal.js +153 -170
  142. package/dist/features/preview/components/BlockActionsPopover.js +150 -149
  143. package/dist/features/preview/components/BlockErrorBoundary.js +8 -12
  144. package/dist/features/preview/components/BlockThumbnail.js +176 -100
  145. package/dist/features/preview/components/CanvasPreview.js +243 -0
  146. package/dist/features/preview/components/CreatePageModal.js +128 -137
  147. package/dist/features/preview/components/DebouncedFieldEditor.js +29 -33
  148. package/dist/features/preview/components/DerivedLayoutDialog.js +21 -19
  149. package/dist/features/preview/components/DrillRow.js +150 -0
  150. package/dist/features/preview/components/FieldOverlayStyles.js +11 -8
  151. package/dist/features/preview/components/FieldToolbar.js +160 -110
  152. package/dist/features/preview/components/Frame.js +108 -20
  153. package/dist/features/preview/components/IconFieldEditor.js +62 -66
  154. package/dist/features/preview/components/ItemFieldsEditor.js +231 -205
  155. package/dist/features/preview/components/LinkFieldEditor.js +135 -139
  156. package/dist/features/preview/components/Metadata.js +22 -30
  157. package/dist/features/preview/components/MobilePreviewDrawer.js +89 -108
  158. package/dist/features/preview/components/MultipleAssetFieldEditor.js +334 -246
  159. package/dist/features/preview/components/OverlayTracker.js +9 -41
  160. package/dist/features/preview/components/Overlays.js +81 -69
  161. package/dist/features/preview/components/PageInfo.js +1748 -0
  162. package/dist/features/preview/components/PageInfoSkeleton.js +51 -0
  163. package/dist/features/preview/components/PageLocationFieldset.js +112 -116
  164. package/dist/features/preview/components/PageNavigatorHeader.js +24 -0
  165. package/dist/features/preview/components/PageNicknameField.js +22 -26
  166. package/dist/features/preview/components/PagePicker.js +128 -130
  167. package/dist/features/preview/components/PageTree.js +525 -532
  168. package/dist/features/preview/components/PreviewActivation.js +28 -32
  169. package/dist/features/preview/components/PreviewPanel.js +620 -319
  170. package/dist/features/preview/components/PreviewToolbar.js +105 -333
  171. package/dist/features/preview/components/RecordCard.js +80 -0
  172. package/dist/features/preview/components/RecordCombobox.js +178 -0
  173. package/dist/features/preview/components/ReferenceFieldEditor.js +149 -0
  174. package/dist/features/preview/components/ReferenceListFieldEditor.js +432 -0
  175. package/dist/features/preview/components/RemovedBlockPlaceholder.js +95 -0
  176. package/dist/features/preview/components/RepeatableItemsList.js +125 -138
  177. package/dist/features/preview/components/SelectionEditor.js +993 -0
  178. package/dist/features/preview/components/ShikiMarkdown.js +14 -18
  179. package/dist/features/preview/components/SidebarSection.js +52 -64
  180. package/dist/features/preview/components/StudioEditingFallback.js +56 -0
  181. package/dist/features/preview/components/UnlinkAssetButton.js +104 -107
  182. package/dist/features/preview/components/blockGridNavigation.js +15 -0
  183. package/dist/features/preview/components/contentFieldSchema.js +8 -0
  184. package/dist/features/preview/components/useFieldWriter.js +200 -0
  185. package/dist/features/preview/components/useRecordView.js +383 -0
  186. package/dist/features/preview/components/useRepeatableItemActions.js +35 -37
  187. package/dist/features/preview/components/useUpdateBlockPosition.js +37 -37
  188. package/dist/features/preview/editingFrame.js +197 -0
  189. package/dist/features/preview/overlayHighlights.js +17 -44
  190. package/dist/features/preview/overlayMessages.js +72 -1
  191. package/dist/features/preview/pageRecord.js +189 -0
  192. package/dist/features/preview/previewConstants.js +6 -2
  193. package/dist/features/preview/previewPageFrame.js +95 -0
  194. package/dist/features/preview/previewPreparation.js +7 -0
  195. package/dist/features/preview/previewSelection.js +32 -63
  196. package/dist/features/preview/previewStore.js +225 -123
  197. package/dist/features/preview/referencePickerFocus.js +29 -0
  198. package/dist/features/preview/repeatableItemTargets.js +56 -0
  199. package/dist/features/preview/selectionReveal.js +21 -0
  200. package/dist/features/preview/usePreviewViewportActions.js +114 -0
  201. package/dist/features/preview/viewportContinuity.js +109 -0
  202. package/dist/features/provider/AuthenticatedCamoxProvider.js +69 -44
  203. package/dist/features/provider/CamoxProvider.d.ts +3 -6
  204. package/dist/features/provider/CamoxProvider.js +38 -50
  205. package/dist/features/provider/CoreCamoxProvider.js +66 -50
  206. package/dist/features/provider/LocalhostPreviewProvider.js +78 -114
  207. package/dist/features/provider/PreviewSignInPage.js +54 -0
  208. package/dist/features/provider/components/CamoxAppContext.js +11 -11
  209. package/dist/features/provider/components/CommandPalette.js +75 -82
  210. package/dist/features/provider/useAdminShortcuts.js +7 -11
  211. package/dist/features/routes/pageRuntime.d.ts +44 -4
  212. package/dist/features/routes/pageRuntime.js +244 -137
  213. package/dist/features/runtime/RuntimeChrome.js +117 -115
  214. package/dist/features/runtime/alternates.js +64 -0
  215. package/dist/features/runtime/analytics.d.ts +7 -0
  216. package/dist/features/runtime/analytics.js +66 -0
  217. package/dist/features/runtime/artifactSources.js +87 -0
  218. package/dist/features/runtime/editingFallback.js +20 -0
  219. package/dist/features/runtime/linkPrefetch.js +97 -0
  220. package/dist/features/runtime/livePages.js +62 -0
  221. package/dist/features/runtime/llmsTxt.js +40 -0
  222. package/dist/features/runtime/loopbackFetch.js +18 -0
  223. package/dist/features/runtime/navigationAccessibility.js +51 -0
  224. package/dist/features/runtime/navigationTarget.js +23 -2
  225. package/dist/features/runtime/pageApp.js +229 -158
  226. package/dist/features/runtime/pageBlockTypes.js +20 -0
  227. package/dist/features/runtime/pageClient.d.ts +2 -4
  228. package/dist/features/runtime/pageClient.js +18 -3
  229. package/dist/features/runtime/pageNavigation.js +254 -32
  230. package/dist/features/runtime/pageServer.d.ts +2 -4
  231. package/dist/features/runtime/pageServer.js +6 -2
  232. package/dist/features/runtime/pageViewport.js +7 -0
  233. package/dist/features/runtime/runtime.d.ts +59 -24
  234. package/dist/features/runtime/runtime.js +779 -191
  235. package/dist/features/runtime/runtimeChromeLoader.js +58 -0
  236. package/dist/features/runtime/runtimeRoutes.d.ts +19 -0
  237. package/dist/features/runtime/runtimeRoutes.js +25 -0
  238. package/dist/features/runtime/scrollRestoration.js +133 -0
  239. package/dist/features/runtime/studioApp.d.ts +4 -3
  240. package/dist/features/runtime/studioApp.js +5 -9
  241. package/dist/features/runtime/studioClient.d.ts +2 -4
  242. package/dist/features/runtime/studioClient.js +12 -3
  243. package/dist/features/runtime/studioServer.d.ts +2 -4
  244. package/dist/features/runtime/studioServer.js +6 -1
  245. package/dist/features/runtime/worker.d.ts +6 -0
  246. package/dist/features/runtime/worker.js +23 -0
  247. package/dist/features/runtime/workerRequest.js +44 -0
  248. package/dist/features/studio/CamoxStudio.d.ts +2 -6
  249. package/dist/features/studio/CamoxStudio.js +34 -49
  250. package/dist/features/studio/FollowAgentProvider.js +338 -0
  251. package/dist/features/studio/components/ChatSidebar.js +356 -0
  252. package/dist/features/studio/components/DraftsControl.js +676 -0
  253. package/dist/features/studio/components/FaviconDialog.js +318 -0
  254. package/dist/features/studio/components/LocalePicker.js +785 -0
  255. package/dist/features/studio/components/Navbar.js +123 -103
  256. package/dist/features/studio/components/ProjectMenu.js +239 -260
  257. package/dist/features/studio/components/RenameDraftDialog.js +206 -0
  258. package/dist/features/studio/components/ReviewDraftSheet.js +1472 -0
  259. package/dist/features/studio/components/ThreadComposer.js +157 -0
  260. package/dist/features/studio/components/ThreadMarkdown.js +113 -0
  261. package/dist/features/studio/components/ThreadMessages.js +270 -0
  262. package/dist/features/studio/components/UserButton.js +34 -23
  263. package/dist/features/studio/draftLabel.js +33 -0
  264. package/dist/features/studio/draftNotice.js +13 -0
  265. package/dist/features/studio/followAgent.js +250 -0
  266. package/dist/features/studio/followAgentContext.js +7 -0
  267. package/dist/features/studio/localeOptions.js +118 -0
  268. package/dist/features/studio/localeSwitch.js +19 -0
  269. package/dist/features/studio/routes.js +48 -1
  270. package/dist/features/studio/studioStore.js +64 -1
  271. package/dist/features/studio/useTheme.js +24 -27
  272. package/dist/features/vite/artifactRuntimeMinification.js +36 -0
  273. package/dist/features/vite/blockBoilerplate.js +6 -5
  274. package/dist/features/vite/blockChunks.js +31 -0
  275. package/dist/features/vite/bundlerLogs.js +17 -0
  276. package/dist/features/vite/definitionsSync.js +158 -226
  277. package/dist/features/vite/devAuthentication.js +4 -16
  278. package/dist/features/vite/devSignIn.js +87 -0
  279. package/dist/features/vite/iconGeneration.js +1 -1
  280. package/dist/features/vite/layoutGeneration.js +11 -1
  281. package/dist/features/vite/publishSeededContent.js +30 -0
  282. package/dist/features/vite/routeGeneration.js +6 -7
  283. package/dist/features/vite/runtimeDev.js +80 -99
  284. package/dist/features/vite/vite.d.ts +51 -31
  285. package/dist/features/vite/vite.js +224 -127
  286. package/dist/features/vite/workerBuild.js +39 -0
  287. package/dist/hooks/use-debounced-field.js +116 -47
  288. package/dist/hooks/use-file-upload.js +114 -67
  289. package/dist/hooks/use-marquee-selection.js +32 -36
  290. package/dist/hooks/use-page-destinations.js +69 -37
  291. package/dist/lib/api-client-server.d.ts +5 -0
  292. package/dist/lib/api-client-server.js +10 -4
  293. package/dist/lib/api-client.d.ts +6 -0
  294. package/dist/lib/api-client.js +51 -16
  295. package/dist/lib/api-socket.js +17 -0
  296. package/dist/lib/auth-page-styles.js +39 -0
  297. package/dist/lib/auth.js +117 -61
  298. package/dist/lib/collection-cache.js +23 -0
  299. package/dist/lib/draft-scope.d.ts +4 -0
  300. package/dist/lib/draft-scope.js +222 -0
  301. package/dist/lib/html.js +12 -0
  302. package/dist/lib/link-pages.js +154 -0
  303. package/dist/lib/locale-path.d.ts +22 -0
  304. package/dist/lib/locale-path.js +57 -0
  305. package/dist/lib/normalized-data.js +252 -152
  306. package/dist/lib/preview-handoff.js +2 -2
  307. package/dist/lib/queries.d.ts +11 -0
  308. package/dist/lib/queries.js +70 -141
  309. package/dist/lib/studio-reads.d.ts +14 -0
  310. package/dist/lib/studio-reads.js +574 -0
  311. package/dist/lib/use-project-room.js +50 -50
  312. package/dist/lib/use-thread.js +310 -0
  313. package/dist/lib/utils.js +25 -29
  314. package/dist/lib/view-locale-context.js +22 -0
  315. package/dist/lib/view-locale.js +46 -0
  316. package/dist/package.js +5 -0
  317. package/dist/studio-overlays.css +41 -151
  318. package/dist/studio.css +2 -2
  319. package/package.json +70 -73
  320. package/skills/camox/SKILL.md +16 -11
  321. package/skills/camox/references/artifacts.md +179 -0
  322. package/skills/camox/references/block-definitions.md +75 -59
  323. package/skills/camox/references/cli-common.md +9 -11
  324. package/skills/camox/references/cli-content.md +92 -69
  325. package/skills/camox/references/cli-publishing.md +26 -0
  326. package/skills/camox/references/dom-integrations.md +27 -0
  327. package/skills/camox/references/field-styling.md +4 -4
  328. package/skills/camox/references/layout-definitions.md +16 -14
  329. package/skills/camox/references/localization.md +56 -0
  330. package/skills/camox/references/routed-layouts.md +133 -15
  331. package/skills/camox-expand/SKILL.md +69 -0
  332. package/skills/camox-expand/references/jobs.md +39 -0
  333. package/skills/camoxify/SKILL.md +29 -7
  334. package/dist/core/components/AddBlockControlBar.js +0 -78
  335. package/dist/core/hooks/useRequireDraftSource.js +0 -23
  336. package/dist/features/metadata/sitemap.d.ts +0 -8
  337. package/dist/features/metadata/sitemap.js +0 -17
  338. package/dist/features/og/imageResponse.node.d.ts +0 -12
  339. package/dist/features/og/imageResponse.node.js +0 -49
  340. package/dist/features/og/imageResponse.workerd.d.ts +0 -12
  341. package/dist/features/og/imageResponse.workerd.js +0 -40
  342. package/dist/features/page/PublishedPageContent.js +0 -205
  343. package/dist/features/page/PublishedPageExperience.js +0 -23
  344. package/dist/features/preview/DerivedPreview.js +0 -134
  345. package/dist/features/preview/commentsEnabled.js +0 -8
  346. package/dist/features/preview/components/AddBlockSidebar.js +0 -381
  347. package/dist/features/preview/components/AttachedComments.js +0 -331
  348. package/dist/features/preview/components/CommentHeader.js +0 -122
  349. package/dist/features/preview/components/CommentSidebar.js +0 -29
  350. package/dist/features/preview/components/CommentTargetQuote.js +0 -167
  351. package/dist/features/preview/components/DerivedLayoutSidebar.d.ts +0 -5
  352. package/dist/features/preview/components/DerivedLayoutSidebar.js +0 -179
  353. package/dist/features/preview/components/DerivedPageInfoSidebar.js +0 -69
  354. package/dist/features/preview/components/LeftSidebar.js +0 -68
  355. package/dist/features/preview/components/PageEditorSidebar.js +0 -563
  356. package/dist/features/preview/components/PageInfoSidebar.js +0 -1551
  357. package/dist/features/preview/components/PageNavigatorSidebar.js +0 -78
  358. package/dist/features/preview/components/PageStatusBadge.js +0 -97
  359. package/dist/features/preview/components/PeekedBlock.js +0 -217
  360. package/dist/features/preview/components/PreviewComments.js +0 -56
  361. package/dist/features/preview/components/PreviewToolbarSpacer.js +0 -43
  362. package/dist/features/preview/components/PublicationRow.js +0 -422
  363. package/dist/features/preview/components/PublishDialog.js +0 -194
  364. package/dist/features/preview/components/RightSidebar.js +0 -59
  365. package/dist/features/preview/components/SendFeedbackDialog.js +0 -83
  366. package/dist/features/preview/previewCommentsStore.js +0 -135
  367. package/dist/features/preview/publication.js +0 -81
  368. package/dist/features/preview/usePageComments.js +0 -39
  369. package/dist/features/runtime/SharedChromeContext.js +0 -7
  370. package/dist/features/studio/components/EnvironmentMenu.js +0 -425
  371. package/dist/features/vite/appGeneration.js +0 -89
  372. package/dist/lib/view-queries.js +0 -28
  373. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/Matches.d.ts +0 -114
  374. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/RouterProvider.d.ts +0 -25
  375. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/config.d.ts +0 -1
  376. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/defer.d.ts +0 -1
  377. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/fileRoute.d.ts +0 -20
  378. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/global.d.ts +0 -8
  379. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/hash-scroll.d.ts +0 -1
  380. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/index.d.ts +0 -18
  381. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/link.d.ts +0 -161
  382. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/load-matches.d.ts +0 -6
  383. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/location.d.ts +0 -54
  384. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/lru-cache.d.ts +0 -8
  385. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/manifest.d.ts +0 -32
  386. 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
  387. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/not-found.d.ts +0 -1
  388. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/redirect.d.ts +0 -49
  389. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/rewrite.d.ts +0 -1
  390. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/root.d.ts +0 -6
  391. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/route.d.ts +0 -343
  392. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/routeInfo.d.ts +0 -48
  393. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/router.d.ts +0 -695
  394. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.d.ts +0 -1
  395. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/searchMiddleware.d.ts +0 -1
  396. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/searchParams.d.ts +0 -5
  397. 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
  398. 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
  399. 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
  400. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/stores.d.ts +0 -69
  401. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/structuralSharing.d.ts +0 -1
  402. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/typePrimitives.d.ts +0 -1
  403. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useLoaderData.d.ts +0 -1
  404. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useLoaderDeps.d.ts +0 -1
  405. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useNavigate.d.ts +0 -10
  406. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useParams.d.ts +0 -1
  407. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useRouteContext.d.ts +0 -1
  408. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useSearch.d.ts +0 -1
  409. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/utils.d.ts +0 -28
  410. package/dist/node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/validators.d.ts +0 -49
  411. package/skills/camox/references/cli-environments.md +0 -37
@@ -5,101 +5,97 @@ import { AlertCircle, Check, ChevronDown, ChevronUp, File, Loader2, X } from "lu
5
5
 
6
6
  //#region src/features/content/components/UploadProgressDrawer.tsx
7
7
  function UploadProgressDrawer(t0) {
8
- const $ = c(23);
9
- if ($[0] !== "fd950cd0a238c5e34d82cdc6857c25405b7e4e2566c1b7789506b71d34f84c8f") {
10
- for (let $i = 0; $i < 23; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
11
- $[0] = "fd950cd0a238c5e34d82cdc6857c25405b7e4e2566c1b7789506b71d34f84c8f";
12
- }
8
+ const $ = c(22);
13
9
  const { uploads, onClose } = t0;
14
10
  const [collapsed, setCollapsed] = useState(false);
15
11
  if (uploads.length === 0) return null;
16
12
  let t1;
17
- if ($[1] !== uploads) {
13
+ if ($[0] !== uploads) {
18
14
  t1 = uploads.filter(_temp);
19
- $[1] = uploads;
20
- $[2] = t1;
21
- } else t1 = $[2];
15
+ $[0] = uploads;
16
+ $[1] = t1;
17
+ } else t1 = $[1];
22
18
  const completedCount = t1.length;
23
19
  const headerText = completedCount === uploads.length ? `${completedCount} upload${completedCount !== 1 ? "s" : ""} complete` : `Uploading ${uploads.length} file${uploads.length !== 1 ? "s" : ""}`;
24
20
  let t2;
25
- if ($[3] !== headerText) {
21
+ if ($[2] !== headerText) {
26
22
  t2 = /* @__PURE__ */ jsx("span", {
27
23
  className: "text-sm font-medium",
28
24
  children: headerText
29
25
  });
30
- $[3] = headerText;
31
- $[4] = t2;
32
- } else t2 = $[4];
26
+ $[2] = headerText;
27
+ $[3] = t2;
28
+ } else t2 = $[3];
33
29
  let t3;
34
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
30
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
35
31
  t3 = () => setCollapsed(_temp2);
36
- $[5] = t3;
37
- } else t3 = $[5];
32
+ $[4] = t3;
33
+ } else t3 = $[4];
38
34
  let t4;
39
- if ($[6] !== collapsed) {
35
+ if ($[5] !== collapsed) {
40
36
  t4 = /* @__PURE__ */ jsx("button", {
41
37
  onClick: t3,
42
38
  className: "hover:bg-muted rounded p-1",
43
39
  children: collapsed ? /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
44
40
  });
45
- $[6] = collapsed;
46
- $[7] = t4;
47
- } else t4 = $[7];
41
+ $[5] = collapsed;
42
+ $[6] = t4;
43
+ } else t4 = $[6];
48
44
  let t5;
49
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
45
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
50
46
  t5 = /* @__PURE__ */ jsx(X, { className: "h-4 w-4" });
51
- $[8] = t5;
52
- } else t5 = $[8];
47
+ $[7] = t5;
48
+ } else t5 = $[7];
53
49
  let t6;
54
- if ($[9] !== onClose) {
50
+ if ($[8] !== onClose) {
55
51
  t6 = /* @__PURE__ */ jsx("button", {
56
52
  onClick: onClose,
57
53
  className: "hover:bg-muted rounded p-1",
58
54
  children: t5
59
55
  });
60
- $[9] = onClose;
61
- $[10] = t6;
62
- } else t6 = $[10];
56
+ $[8] = onClose;
57
+ $[9] = t6;
58
+ } else t6 = $[9];
63
59
  let t7;
64
- if ($[11] !== t4 || $[12] !== t6) {
60
+ if ($[10] !== t4 || $[11] !== t6) {
65
61
  t7 = /* @__PURE__ */ jsxs("div", {
66
62
  className: "flex items-center gap-1",
67
63
  children: [t4, t6]
68
64
  });
69
- $[11] = t4;
70
- $[12] = t6;
71
- $[13] = t7;
72
- } else t7 = $[13];
65
+ $[10] = t4;
66
+ $[11] = t6;
67
+ $[12] = t7;
68
+ } else t7 = $[12];
73
69
  let t8;
74
- if ($[14] !== t2 || $[15] !== t7) {
70
+ if ($[13] !== t2 || $[14] !== t7) {
75
71
  t8 = /* @__PURE__ */ jsxs("div", {
76
72
  className: "border-border flex items-center justify-between border-b px-3 py-2",
77
73
  children: [t2, t7]
78
74
  });
79
- $[14] = t2;
80
- $[15] = t7;
81
- $[16] = t8;
82
- } else t8 = $[16];
75
+ $[13] = t2;
76
+ $[14] = t7;
77
+ $[15] = t8;
78
+ } else t8 = $[15];
83
79
  let t9;
84
- if ($[17] !== collapsed || $[18] !== uploads) {
80
+ if ($[16] !== collapsed || $[17] !== uploads) {
85
81
  t9 = !collapsed && /* @__PURE__ */ jsx("div", {
86
82
  className: "max-h-60 overflow-y-auto",
87
83
  children: uploads.map(_temp3)
88
84
  });
89
- $[17] = collapsed;
90
- $[18] = uploads;
91
- $[19] = t9;
92
- } else t9 = $[19];
85
+ $[16] = collapsed;
86
+ $[17] = uploads;
87
+ $[18] = t9;
88
+ } else t9 = $[18];
93
89
  let t10;
94
- if ($[20] !== t8 || $[21] !== t9) {
90
+ if ($[19] !== t8 || $[20] !== t9) {
95
91
  t10 = /* @__PURE__ */ jsxs("div", {
96
92
  className: "border-border bg-background fixed right-4 bottom-4 z-50 w-80 rounded-lg border shadow-lg",
97
93
  children: [t8, t9]
98
94
  });
99
- $[20] = t8;
100
- $[21] = t9;
101
- $[22] = t10;
102
- } else t10 = $[22];
95
+ $[19] = t8;
96
+ $[20] = t9;
97
+ $[21] = t10;
98
+ } else t10 = $[21];
103
99
  return t10;
104
100
  }
105
101
  function _temp3(item) {
@@ -112,28 +108,24 @@ function _temp(u) {
112
108
  return u.status === "complete";
113
109
  }
114
110
  function UploadItemRow(t0) {
115
- const $ = c(27);
116
- if ($[0] !== "fd950cd0a238c5e34d82cdc6857c25405b7e4e2566c1b7789506b71d34f84c8f") {
117
- for (let $i = 0; $i < 27; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
118
- $[0] = "fd950cd0a238c5e34d82cdc6857c25405b7e4e2566c1b7789506b71d34f84c8f";
119
- }
111
+ const $ = c(26);
120
112
  const { item } = t0;
121
113
  let t1;
122
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
114
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
123
115
  t1 = /* @__PURE__ */ jsx(File, { className: "text-muted-foreground h-4 w-4 shrink-0" });
124
- $[1] = t1;
125
- } else t1 = $[1];
116
+ $[0] = t1;
117
+ } else t1 = $[0];
126
118
  let t2;
127
- if ($[2] !== item.filename) {
119
+ if ($[1] !== item.filename) {
128
120
  t2 = /* @__PURE__ */ jsx("p", {
129
121
  className: "truncate text-sm",
130
122
  children: item.filename
131
123
  });
132
- $[2] = item.filename;
133
- $[3] = t2;
134
- } else t2 = $[3];
124
+ $[1] = item.filename;
125
+ $[2] = t2;
126
+ } else t2 = $[2];
135
127
  let t3;
136
- if ($[4] !== item.progress || $[5] !== item.status) {
128
+ if ($[3] !== item.progress || $[4] !== item.status) {
137
129
  t3 = item.status === "uploading" && /* @__PURE__ */ jsx("div", {
138
130
  className: "bg-muted mt-1 h-1.5 overflow-hidden rounded-full",
139
131
  children: /* @__PURE__ */ jsx("div", {
@@ -141,22 +133,22 @@ function UploadItemRow(t0) {
141
133
  style: { width: `${item.progress}%` }
142
134
  })
143
135
  });
144
- $[4] = item.progress;
145
- $[5] = item.status;
146
- $[6] = t3;
147
- } else t3 = $[6];
136
+ $[3] = item.progress;
137
+ $[4] = item.status;
138
+ $[5] = t3;
139
+ } else t3 = $[5];
148
140
  let t4;
149
- if ($[7] !== item.error || $[8] !== item.status) {
141
+ if ($[6] !== item.error || $[7] !== item.status) {
150
142
  t4 = item.status === "error" && /* @__PURE__ */ jsx("p", {
151
143
  className: "text-destructive mt-0.5 text-xs",
152
144
  children: item.error
153
145
  });
154
- $[7] = item.error;
155
- $[8] = item.status;
156
- $[9] = t4;
157
- } else t4 = $[9];
146
+ $[6] = item.error;
147
+ $[7] = item.status;
148
+ $[8] = t4;
149
+ } else t4 = $[8];
158
150
  let t5;
159
- if ($[10] !== t2 || $[11] !== t3 || $[12] !== t4) {
151
+ if ($[9] !== t2 || $[10] !== t3 || $[11] !== t4) {
160
152
  t5 = /* @__PURE__ */ jsxs("div", {
161
153
  className: "min-w-0 flex-1",
162
154
  children: [
@@ -165,31 +157,31 @@ function UploadItemRow(t0) {
165
157
  t4
166
158
  ]
167
159
  });
168
- $[10] = t2;
169
- $[11] = t3;
170
- $[12] = t4;
171
- $[13] = t5;
172
- } else t5 = $[13];
160
+ $[9] = t2;
161
+ $[10] = t3;
162
+ $[11] = t4;
163
+ $[12] = t5;
164
+ } else t5 = $[12];
173
165
  let t6;
174
- if ($[14] !== item.status) {
166
+ if ($[13] !== item.status) {
175
167
  t6 = item.status === "uploading" && /* @__PURE__ */ jsx(Loader2, { className: "text-muted-foreground h-4 w-4 animate-spin" });
176
- $[14] = item.status;
177
- $[15] = t6;
178
- } else t6 = $[15];
168
+ $[13] = item.status;
169
+ $[14] = t6;
170
+ } else t6 = $[14];
179
171
  let t7;
180
- if ($[16] !== item.status) {
172
+ if ($[15] !== item.status) {
181
173
  t7 = item.status === "complete" && /* @__PURE__ */ jsx(Check, { className: "h-4 w-4 text-green-500" });
182
- $[16] = item.status;
183
- $[17] = t7;
184
- } else t7 = $[17];
174
+ $[15] = item.status;
175
+ $[16] = t7;
176
+ } else t7 = $[16];
185
177
  let t8;
186
- if ($[18] !== item.status) {
178
+ if ($[17] !== item.status) {
187
179
  t8 = item.status === "error" && /* @__PURE__ */ jsx(AlertCircle, { className: "text-destructive h-4 w-4" });
188
- $[18] = item.status;
189
- $[19] = t8;
190
- } else t8 = $[19];
180
+ $[17] = item.status;
181
+ $[18] = t8;
182
+ } else t8 = $[18];
191
183
  let t9;
192
- if ($[20] !== t6 || $[21] !== t7 || $[22] !== t8) {
184
+ if ($[19] !== t6 || $[20] !== t7 || $[21] !== t8) {
193
185
  t9 = /* @__PURE__ */ jsxs("div", {
194
186
  className: "shrink-0",
195
187
  children: [
@@ -198,13 +190,13 @@ function UploadItemRow(t0) {
198
190
  t8
199
191
  ]
200
192
  });
201
- $[20] = t6;
202
- $[21] = t7;
203
- $[22] = t8;
204
- $[23] = t9;
205
- } else t9 = $[23];
193
+ $[19] = t6;
194
+ $[20] = t7;
195
+ $[21] = t8;
196
+ $[22] = t9;
197
+ } else t9 = $[22];
206
198
  let t10;
207
- if ($[24] !== t5 || $[25] !== t9) {
199
+ if ($[23] !== t5 || $[24] !== t9) {
208
200
  t10 = /* @__PURE__ */ jsxs("div", {
209
201
  className: "flex items-center gap-2 px-3 py-2",
210
202
  children: [
@@ -213,10 +205,10 @@ function UploadItemRow(t0) {
213
205
  t9
214
206
  ]
215
207
  });
216
- $[24] = t5;
217
- $[25] = t9;
218
- $[26] = t10;
219
- } else t10 = $[26];
208
+ $[23] = t5;
209
+ $[24] = t9;
210
+ $[25] = t10;
211
+ } else t10 = $[25];
220
212
  return t10;
221
213
  }
222
214
 
@@ -1,41 +1,87 @@
1
- import { UseNavigateResult } from "../../node_modules/.pnpm/@tanstack_router-core@1.168.14/node_modules/@tanstack/router-core/dist/esm/useNavigate.js";
2
1
  import * as React from "react";
3
2
  import { LinkProps as LinkProps$1 } from "@tanstack/react-router";
4
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
-
6
3
  //#region src/features/navigation/navigation.d.ts
7
- interface LocationState {
4
+ /**
5
+ * Who made a navigation: the Canvas itself, or following the agent through the Studio. A
6
+ * navigation without one is the editor's, from anywhere else.
7
+ */
8
+ export type NavigationSource = "canvas" | "follow";
9
+ export interface LocationState {
8
10
  hash: string;
9
11
  href: string;
10
12
  pathname: string;
11
13
  search: string;
14
+ source?: NavigationSource;
12
15
  }
13
- interface NavigateOptions {
16
+ export interface NavigateOptions {
14
17
  replace?: boolean;
15
18
  to: string;
19
+ source?: NavigationSource;
20
+ /**
21
+ * Switch to this draft, or to Live with `null` (ADR 0011). Left out, the navigation keeps the
22
+ * draft the URL names.
23
+ */
24
+ draft?: string | null;
16
25
  }
17
- type LinkProps = LinkProps$1 & React.AnchorHTMLAttributes<HTMLAnchorElement>;
18
- declare function NavigationProvider({
19
- children,
20
- getLocation,
21
- initialLocation,
22
- location: controlledLocation,
23
- navigate
24
- }: {
26
+ interface NavigationContextValue {
27
+ location: LocationState;
28
+ navigate: (options: NavigateOptions) => Promise<void> | void;
29
+ }
30
+ export type LinkProps = LinkProps$1 & React.AnchorHTMLAttributes<HTMLAnchorElement>;
31
+ declare function NavigationProvider({ children, getLocation, initialLocation, location: controlledLocation, navigate: controlledNavigate }: {
25
32
  children: React.ReactNode;
26
33
  getLocation?: () => LocationState;
27
34
  initialLocation?: LocationState;
28
35
  location?: LocationState;
29
36
  navigate?: (options: NavigateOptions) => Promise<void> | void;
30
- }): _$react_jsx_runtime0.JSX.Element;
37
+ }): React.JSX.Element;
38
+ /**
39
+ * Keeps the surrounding location, but turns navigation off while `disabled`.
40
+ * It renders the same tree either way, so toggling it never remounts children.
41
+ */
42
+ declare function NavigationDisabled({ disabled, children }: {
43
+ disabled: boolean;
44
+ children: React.ReactNode;
45
+ }): React.JSX.Element;
46
+ /**
47
+ * Keeps the surrounding navigation, but reads `location` instead of the
48
+ * surrounding one when given. It renders the same tree either way, so switching
49
+ * never remounts children.
50
+ */
51
+ declare function NavigationLocation({ location, children }: {
52
+ location?: LocationState;
53
+ children: React.ReactNode;
54
+ }): React.JSX.Element;
31
55
  declare function useLocation<T = LocationState>(options?: {
32
56
  select?: (location: LocationState) => T;
33
57
  }): T;
34
- declare function useNavigate(): ((options: NavigateOptions) => Promise<void> | void) | UseNavigateResult<string>;
58
+ declare function useNavigate(): NavigationContextValue["navigate"];
35
59
  declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
36
- declare function Navigate({
37
- replace,
38
- to
39
- }: NavigateOptions): _$react_jsx_runtime0.JSX.Element | null;
60
+ /**
61
+ * A page in one locale, as a locale switcher links to it: the runtime's `AlternatePath`, its path
62
+ * as `href`, labelled with the locale's name.
63
+ */
64
+ export interface Alternate {
65
+ /** The locale's tag, such as `de` or `pt-BR`. */
66
+ locale: string;
67
+ /** The page's path in that locale, under the locale's prefix. */
68
+ href: string;
69
+ /** The locale's name in its own language, such as `Deutsch`. */
70
+ label: string;
71
+ }
72
+ /** The tag of the locale the page renders in, such as `de`. */
73
+ declare function useLocale(): string;
74
+ /**
75
+ * The current page in every locale it exists in, the current one included, to build a locale
76
+ * switcher from. A locale the page was removed from isn't listed.
77
+ */
78
+ declare function useAlternates(): Alternate[];
79
+ /**
80
+ * Keeps internal links in the current locale: the returned function adds the locale's prefix to
81
+ * a root-relative path (`/articles` is `/de/articles` on a `de` page). Anything else, such as
82
+ * `https://…`, `//…`, `#…` or `mailto:…`, is returned as is. Write paths without a prefix.
83
+ */
84
+ declare function useLocalizedHref(): (href: string) => string;
85
+ declare function Navigate({ replace, to, source }: NavigateOptions): React.JSX.Element | null;
40
86
  //#endregion
41
- export { Link, LinkProps, Navigate, NavigationProvider, useLocation, useNavigate };
87
+ export { Link, Navigate, NavigationDisabled, NavigationLocation, NavigationProvider, useAlternates, useLocale, useLocalizedHref, useLocation, useNavigate };