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,48 +1,50 @@
1
1
  import { IconProps } from "./lib/icons.js";
2
- import { IconValue } from "./lib/iconTypes.js";
3
- import { EmbedURL, FileValue, ImageValue, LinkValue } from "./lib/contentType.js";
2
+ import { CamoxDocument } from "./defineDocument.js";
3
+ import { ArtifactRenderProps } from "./lib/artifact.js";
4
4
  import { InlineTextStyles } from "./lib/textStyles.js";
5
+ import { ReferenceContent, ReferenceScope } from "./lib/reference.js";
6
+ import { Layout, RecordPages } from "./createLayout.js";
7
+ import { Collection } from "./createCollection.js";
8
+ import { IconValue } from "./lib/iconTypes.js";
9
+ import { ArtifactSource, EmbedURL, FileValue, ImageValue, LinkValue } from "./lib/contentType.js";
10
+ import { LayoutItemProps } from "./editing/BlockEditingRuntime.js";
5
11
  import { BlockComponentProps, PeekItem, RepeatableItemSeed } from "./editing/createEditableBlock.js";
6
12
  import { Block } from "./createBlock.js";
7
- import { Layout, LayoutBlockData, OgImageParams } from "./createLayout.js";
8
- import * as _$_sinclair_typebox0 from "@sinclair/typebox";
9
- import * as _$react from "react";
10
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
11
-
12
13
  //#region src/core/createApp.d.ts
13
14
  interface CreateAppOptions {
14
15
  blocks: Block[];
16
+ /**
17
+ * Blocks loaded on demand, keyed by their file name, which is their id by convention. A
18
+ * block id without a matching key is found by loading every block.
19
+ */
20
+ lazyBlocks?: Record<string, () => Promise<Block | undefined>>;
15
21
  layouts?: Layout[];
22
+ collections?: Collection[];
23
+ /** The project's document definition (`src/document.ts`). */
24
+ document?: CamoxDocument;
16
25
  }
17
- declare function createApp({
18
- blocks,
19
- layouts
20
- }: CreateAppOptions): {
26
+ export declare function createApp({ blocks, lazyBlocks, layouts, collections, document }: CreateAppOptions): {
27
+ /** The document's font links as HTML, for artifacts to load before their source. */
28
+ getArtifactFontLinks(): string;
29
+ getCollections(): Collection[];
30
+ getCollectionById(id: string): Collection | undefined;
31
+ /** The loaded blocks: every block after `loadAllBlocks`. */
21
32
  getBlocks(): {
22
- Detached: ({
23
- children
24
- }: {
33
+ Detached: ({ children }: {
25
34
  children: (props: {
26
- "data-camox-comment-block-id"?: number;
27
- ref: (element: HTMLElement | null) => void;
28
- style: React.CSSProperties;
35
+ "data-camox-block-id"?: string;
36
+ "data-camox-hovered"?: boolean;
37
+ "data-camox-focused"?: boolean;
38
+ "data-camox-overlay-mode"?: "synced";
29
39
  onClickCapture: (e: React.MouseEvent) => void;
30
40
  onMouseEnter: () => void;
31
41
  onMouseLeave: () => void;
32
42
  }) => React.ReactNode;
33
43
  }) => React.JSX.Element;
34
- Icon: ({
35
- name,
36
- ...props
37
- }: IconProps & {
44
+ Icon: ({ name, ...props }: IconProps & {
38
45
  name: never;
39
- }) => _$react_jsx_runtime0.JSX.Element;
40
- Field: <K extends never>({
41
- name,
42
- textStyle,
43
- linkStyle,
44
- children
45
- }: InlineTextStyles & {
46
+ }) => import("react").JSX.Element;
47
+ Field: <K extends never>({ name, textStyle, linkStyle, children }: InlineTextStyles & {
46
48
  name: K;
47
49
  children: (props: {
48
50
  children: React.ReactNode;
@@ -59,10 +61,7 @@ declare function createApp({
59
61
  text: string;
60
62
  }) => React.ReactNode;
61
63
  }) => React.ReactNode;
62
- Embed: <K extends never>({
63
- name,
64
- children
65
- }: {
64
+ Embed: <K extends never>({ name, children }: {
66
65
  name: K;
67
66
  children: (props: {
68
67
  src: string;
@@ -70,10 +69,11 @@ declare function createApp({
70
69
  url: string;
71
70
  }) => React.ReactNode;
72
71
  }) => React.ReactNode;
73
- Link: <K extends never>({
74
- name,
75
- children
76
- }: {
72
+ Artifact: <K extends never>({ name, children }: {
73
+ name: K;
74
+ children: (props: ArtifactRenderProps) => React.ReactNode;
75
+ }) => React.ReactNode;
76
+ Link: <K extends never>({ name, children }: {
77
77
  name: K;
78
78
  children: (props: {
79
79
  to: string;
@@ -103,10 +103,7 @@ declare function createApp({
103
103
  newTab: boolean;
104
104
  }) => React.ReactNode;
105
105
  }) => React.ReactNode;
106
- Image: <K extends never>({
107
- name,
108
- children
109
- }: {
106
+ Image: <K extends never>({ name, children }: {
110
107
  name: K;
111
108
  children: (props: {
112
109
  src: string;
@@ -115,14 +112,13 @@ declare function createApp({
115
112
  sizes?: string;
116
113
  }, data: ImageValue) => React.ReactNode;
117
114
  }) => React.ReactNode;
118
- File: <K extends never>({
119
- name,
120
- children
121
- }: {
115
+ File: <K extends never>({ name, children }: {
122
116
  name: K;
123
117
  children: (props: {
124
118
  href: string;
125
119
  download: string;
120
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
121
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
126
122
  }, data: FileValue) => React.ReactNode;
127
123
  }) => React.ReactNode;
128
124
  ImageList: <K extends never>(props: {
@@ -139,15 +135,14 @@ declare function createApp({
139
135
  children: (props: {
140
136
  href: string;
141
137
  download: string;
138
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
139
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
142
140
  }, data: FileValue) => React.ReactNode;
143
141
  }) => React.ReactNode;
144
- Repeater: <K extends never>({
145
- name,
146
- children
147
- }: {
142
+ Repeater: <K extends never>({ name, children }: {
148
143
  name: K;
149
144
  children: (item: {
150
- Field: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends IconValue ? never : ({}[K] extends (infer U)[] ? U : never)[F_1] extends string ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: InlineTextStyles & {
145
+ Field: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends IconValue | ArtifactSource ? never : ({}[K] extends (infer U)[] ? U : never)[F_1] extends string ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: InlineTextStyles & {
151
146
  name: F;
152
147
  children: (props: {
153
148
  children: React.ReactNode;
@@ -164,7 +159,7 @@ declare function createApp({
164
159
  text: string;
165
160
  }) => React.ReactNode;
166
161
  }) => React.ReactNode;
167
- Link: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends LinkValue ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
162
+ Link: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends LinkValue ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
168
163
  name: F;
169
164
  children: (props: {
170
165
  to: string;
@@ -195,9 +190,9 @@ declare function createApp({
195
190
  }) => React.ReactNode;
196
191
  }) => React.ReactNode;
197
192
  Icon: (props: IconProps & {
198
- name: keyof { [F in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F] extends IconValue ? F : never]: ({}[K] extends (infer U)[] ? U : never)[F] };
193
+ name: keyof { [F in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F] extends IconValue ? F : never]: ({}[K] extends (infer U)[] ? U : never)[F]; };
199
194
  }) => React.ReactNode;
200
- Embed: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends EmbedURL ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
195
+ Embed: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends EmbedURL ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
201
196
  name: F;
202
197
  children: (props: {
203
198
  src: string;
@@ -205,6 +200,10 @@ declare function createApp({
205
200
  url: string;
206
201
  }) => React.ReactNode;
207
202
  }) => React.ReactNode;
203
+ Artifact: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends ArtifactSource ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
204
+ name: F;
205
+ children: (props: ArtifactRenderProps) => React.ReactNode;
206
+ }) => React.ReactNode;
208
207
  Image: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ImageValue extends ({}[K] extends (infer U)[] ? U : never)[F_1] ? ({}[K] extends (infer U)[] ? U : never)[F_1] extends ({}[K] extends (infer U)[] ? U : never)[F_1] & {
209
208
  url: string;
210
209
  alt: string;
@@ -214,7 +213,7 @@ declare function createApp({
214
213
  _fileId?: string;
215
214
  } & {
216
215
  readonly __brand: "ImageValue";
217
- } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
216
+ } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
218
217
  name: F;
219
218
  children: (props: {
220
219
  src: string;
@@ -232,11 +231,13 @@ declare function createApp({
232
231
  _fileId?: string;
233
232
  } & {
234
233
  readonly __brand: "FileValue";
235
- } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
234
+ } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
236
235
  name: F;
237
236
  children: (props: {
238
237
  href: string;
239
238
  download: string;
239
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
240
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
240
241
  }, data: FileValue) => React.ReactNode;
241
242
  }) => React.ReactNode;
242
243
  ImageList: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends (infer U_1)[] ? ImageValue extends U_1 ? U_1 extends U_1 & {
@@ -248,7 +249,7 @@ declare function createApp({
248
249
  _fileId?: string;
249
250
  } & {
250
251
  readonly __brand: "ImageValue";
251
- } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
252
+ } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
252
253
  name: F;
253
254
  children: (props: {
254
255
  src: string;
@@ -266,14 +267,24 @@ declare function createApp({
266
267
  _fileId?: string;
267
268
  } & {
268
269
  readonly __brand: "FileValue";
269
- } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
270
+ } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
270
271
  name: F;
271
272
  children: (props: {
272
273
  href: string;
273
274
  download: string;
275
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
276
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
274
277
  }, data: FileValue) => React.ReactNode;
275
278
  }) => React.ReactNode;
276
- Repeater: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends (infer U_1)[] ? ImageValue extends U_1 ? never : FileValue extends U_1 ? never : F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
279
+ Reference: <F extends string>(props: {
280
+ name: F;
281
+ children: (scope: ReferenceScope<ReferenceContent<never[F]>>) => React.ReactNode;
282
+ }) => React.ReactNode;
283
+ ReferenceList: <F extends string>(props: {
284
+ name: F;
285
+ children: (scope: ReferenceScope<ReferenceContent<never[F]>>) => React.ReactNode;
286
+ }) => React.ReactNode;
287
+ Repeater: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends (infer U_1)[] ? ImageValue extends U_1 ? never : FileValue extends U_1 ? never : U_1 extends string ? never : F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
277
288
  name: F;
278
289
  children: (item: {
279
290
  Field: (props: InlineTextStyles & {
@@ -334,6 +345,10 @@ declare function createApp({
334
345
  url: string;
335
346
  }) => React.ReactNode;
336
347
  }) => React.ReactNode;
348
+ Artifact: (props: {
349
+ name: string;
350
+ children: (props: ArtifactRenderProps) => React.ReactNode;
351
+ }) => React.ReactNode;
337
352
  Image: (props: {
338
353
  name: string;
339
354
  children: (props: {
@@ -348,6 +363,8 @@ declare function createApp({
348
363
  children: (props: {
349
364
  href: string;
350
365
  download: string;
366
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
367
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
351
368
  }, data: FileValue) => React.ReactNode;
352
369
  }) => React.ReactNode;
353
370
  ImageList: (props: {
@@ -364,30 +381,42 @@ declare function createApp({
364
381
  children: (props: {
365
382
  href: string;
366
383
  download: string;
384
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
385
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
367
386
  }, data: FileValue) => React.ReactNode;
368
387
  }) => React.ReactNode;
369
388
  Repeater: (props: {
370
389
  name: string;
371
390
  children: (item: any, index: number) => React.ReactNode;
372
391
  }) => React.ReactNode;
392
+ Reference: (props: {
393
+ name: string;
394
+ children: (scope: ReferenceScope<any>) => React.ReactNode;
395
+ }) => React.ReactNode;
396
+ ReferenceList: (props: {
397
+ name: string;
398
+ children: (scope: ReferenceScope<any>) => React.ReactNode;
399
+ }) => React.ReactNode;
373
400
  useSetting: (name: string) => unknown;
374
401
  }, index: number) => React.ReactNode;
375
402
  }) => React.ReactNode;
376
403
  useSetting: <F extends string>(name: F) => never;
377
404
  }, index: number) => React.ReactNode;
378
- }) => _$react_jsx_runtime0.JSX.Element;
405
+ }) => import("react").JSX.Element;
406
+ Reference: <K extends never>({ name, children }: {
407
+ name: K;
408
+ children: (scope: ReferenceScope<never>) => React.ReactNode;
409
+ }) => React.ReactNode;
410
+ ReferenceList: <K extends never>({ name, children }: {
411
+ name: K;
412
+ children: (scope: ReferenceScope<never>) => React.ReactNode;
413
+ }) => React.ReactNode;
379
414
  useSetting: <K extends string>(name: K) => unknown;
380
415
  _internal: {
381
- Component: ({
382
- blockData,
383
- mode,
384
- isFirstBlock,
385
- showAddBlockTop,
386
- showAddBlockBottom,
387
- addBlockAfterPosition
388
- }: BlockComponentProps<{
416
+ Component: ({ blockData, mode, isFirstBlock, showAddBlockTop, showAddBlockBottom, addBlockAfterPosition }: BlockComponentProps<{
389
417
  [x: string]: unknown;
390
- }>) => _$react_jsx_runtime0.JSX.Element;
418
+ }>) => import("react").JSX.Element;
419
+ LayoutItem: ({ collectionId, labelField, properties, record, children, fallback }: LayoutItemProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
391
420
  id: string;
392
421
  title: string;
393
422
  description: string;
@@ -395,13 +424,13 @@ declare function createApp({
395
424
  type: "object";
396
425
  title: string;
397
426
  description: string;
398
- properties: Record<string, _$_sinclair_typebox0.TSchema>;
427
+ properties: Record<string, import("@sinclair/typebox").TSchema>;
399
428
  required: string[];
400
429
  toMarkdown: string[];
401
430
  };
402
431
  settingsSchema: {
403
432
  type: "object";
404
- properties: Record<string, _$_sinclair_typebox0.TSchema>;
433
+ properties: Record<string, import("@sinclair/typebox").TSchema>;
405
434
  required: string[];
406
435
  } | undefined;
407
436
  layoutOnly: boolean;
@@ -421,13 +450,13 @@ declare function createApp({
421
450
  };
422
451
  getPeekBundle: () => {
423
452
  block: {
424
- id: number;
453
+ id: string;
425
454
  pageId: null;
426
455
  layoutId: null;
427
456
  type: string;
428
457
  content: Record<string, unknown>;
429
458
  settings: Record<string, unknown>;
430
- placement: null;
459
+ slot: null;
431
460
  summary: string;
432
461
  position: string;
433
462
  createdAt: number;
@@ -438,31 +467,23 @@ declare function createApp({
438
467
  };
439
468
  };
440
469
  }[];
470
+ /** A loaded block. Call `loadBlock` first for a block that may be lazy. */
441
471
  getBlockById(id: string): {
442
- Detached: ({
443
- children
444
- }: {
472
+ Detached: ({ children }: {
445
473
  children: (props: {
446
- "data-camox-comment-block-id"?: number;
447
- ref: (element: HTMLElement | null) => void;
448
- style: React.CSSProperties;
474
+ "data-camox-block-id"?: string;
475
+ "data-camox-hovered"?: boolean;
476
+ "data-camox-focused"?: boolean;
477
+ "data-camox-overlay-mode"?: "synced";
449
478
  onClickCapture: (e: React.MouseEvent) => void;
450
479
  onMouseEnter: () => void;
451
480
  onMouseLeave: () => void;
452
481
  }) => React.ReactNode;
453
482
  }) => React.JSX.Element;
454
- Icon: ({
455
- name,
456
- ...props
457
- }: IconProps & {
483
+ Icon: ({ name, ...props }: IconProps & {
458
484
  name: never;
459
- }) => _$react_jsx_runtime0.JSX.Element;
460
- Field: <K extends never>({
461
- name,
462
- textStyle,
463
- linkStyle,
464
- children
465
- }: InlineTextStyles & {
485
+ }) => import("react").JSX.Element;
486
+ Field: <K extends never>({ name, textStyle, linkStyle, children }: InlineTextStyles & {
466
487
  name: K;
467
488
  children: (props: {
468
489
  children: React.ReactNode;
@@ -479,10 +500,7 @@ declare function createApp({
479
500
  text: string;
480
501
  }) => React.ReactNode;
481
502
  }) => React.ReactNode;
482
- Embed: <K extends never>({
483
- name,
484
- children
485
- }: {
503
+ Embed: <K extends never>({ name, children }: {
486
504
  name: K;
487
505
  children: (props: {
488
506
  src: string;
@@ -490,10 +508,11 @@ declare function createApp({
490
508
  url: string;
491
509
  }) => React.ReactNode;
492
510
  }) => React.ReactNode;
493
- Link: <K extends never>({
494
- name,
495
- children
496
- }: {
511
+ Artifact: <K extends never>({ name, children }: {
512
+ name: K;
513
+ children: (props: ArtifactRenderProps) => React.ReactNode;
514
+ }) => React.ReactNode;
515
+ Link: <K extends never>({ name, children }: {
497
516
  name: K;
498
517
  children: (props: {
499
518
  to: string;
@@ -523,10 +542,7 @@ declare function createApp({
523
542
  newTab: boolean;
524
543
  }) => React.ReactNode;
525
544
  }) => React.ReactNode;
526
- Image: <K extends never>({
527
- name,
528
- children
529
- }: {
545
+ Image: <K extends never>({ name, children }: {
530
546
  name: K;
531
547
  children: (props: {
532
548
  src: string;
@@ -535,14 +551,13 @@ declare function createApp({
535
551
  sizes?: string;
536
552
  }, data: ImageValue) => React.ReactNode;
537
553
  }) => React.ReactNode;
538
- File: <K extends never>({
539
- name,
540
- children
541
- }: {
554
+ File: <K extends never>({ name, children }: {
542
555
  name: K;
543
556
  children: (props: {
544
557
  href: string;
545
558
  download: string;
559
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
560
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
546
561
  }, data: FileValue) => React.ReactNode;
547
562
  }) => React.ReactNode;
548
563
  ImageList: <K extends never>(props: {
@@ -559,15 +574,14 @@ declare function createApp({
559
574
  children: (props: {
560
575
  href: string;
561
576
  download: string;
577
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
578
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
562
579
  }, data: FileValue) => React.ReactNode;
563
580
  }) => React.ReactNode;
564
- Repeater: <K extends never>({
565
- name,
566
- children
567
- }: {
581
+ Repeater: <K extends never>({ name, children }: {
568
582
  name: K;
569
583
  children: (item: {
570
- Field: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends IconValue ? never : ({}[K] extends (infer U)[] ? U : never)[F_1] extends string ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: InlineTextStyles & {
584
+ Field: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends IconValue | ArtifactSource ? never : ({}[K] extends (infer U)[] ? U : never)[F_1] extends string ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: InlineTextStyles & {
571
585
  name: F;
572
586
  children: (props: {
573
587
  children: React.ReactNode;
@@ -584,7 +598,7 @@ declare function createApp({
584
598
  text: string;
585
599
  }) => React.ReactNode;
586
600
  }) => React.ReactNode;
587
- Link: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends LinkValue ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
601
+ Link: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends LinkValue ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
588
602
  name: F;
589
603
  children: (props: {
590
604
  to: string;
@@ -615,9 +629,9 @@ declare function createApp({
615
629
  }) => React.ReactNode;
616
630
  }) => React.ReactNode;
617
631
  Icon: (props: IconProps & {
618
- name: keyof { [F in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F] extends IconValue ? F : never]: ({}[K] extends (infer U)[] ? U : never)[F] };
632
+ name: keyof { [F in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F] extends IconValue ? F : never]: ({}[K] extends (infer U)[] ? U : never)[F]; };
619
633
  }) => React.ReactNode;
620
- Embed: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends EmbedURL ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
634
+ Embed: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends EmbedURL ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
621
635
  name: F;
622
636
  children: (props: {
623
637
  src: string;
@@ -625,6 +639,10 @@ declare function createApp({
625
639
  url: string;
626
640
  }) => React.ReactNode;
627
641
  }) => React.ReactNode;
642
+ Artifact: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends ArtifactSource ? F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
643
+ name: F;
644
+ children: (props: ArtifactRenderProps) => React.ReactNode;
645
+ }) => React.ReactNode;
628
646
  Image: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ImageValue extends ({}[K] extends (infer U)[] ? U : never)[F_1] ? ({}[K] extends (infer U)[] ? U : never)[F_1] extends ({}[K] extends (infer U)[] ? U : never)[F_1] & {
629
647
  url: string;
630
648
  alt: string;
@@ -634,7 +652,7 @@ declare function createApp({
634
652
  _fileId?: string;
635
653
  } & {
636
654
  readonly __brand: "ImageValue";
637
- } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
655
+ } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
638
656
  name: F;
639
657
  children: (props: {
640
658
  src: string;
@@ -652,11 +670,13 @@ declare function createApp({
652
670
  _fileId?: string;
653
671
  } & {
654
672
  readonly __brand: "FileValue";
655
- } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
673
+ } ? F_1 : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
656
674
  name: F;
657
675
  children: (props: {
658
676
  href: string;
659
677
  download: string;
678
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
679
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
660
680
  }, data: FileValue) => React.ReactNode;
661
681
  }) => React.ReactNode;
662
682
  ImageList: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends (infer U_1)[] ? ImageValue extends U_1 ? U_1 extends U_1 & {
@@ -668,7 +688,7 @@ declare function createApp({
668
688
  _fileId?: string;
669
689
  } & {
670
690
  readonly __brand: "ImageValue";
671
- } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
691
+ } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
672
692
  name: F;
673
693
  children: (props: {
674
694
  src: string;
@@ -686,14 +706,24 @@ declare function createApp({
686
706
  _fileId?: string;
687
707
  } & {
688
708
  readonly __brand: "FileValue";
689
- } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
709
+ } ? F_1 : never : never : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
690
710
  name: F;
691
711
  children: (props: {
692
712
  href: string;
693
713
  download: string;
714
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
715
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
694
716
  }, data: FileValue) => React.ReactNode;
695
717
  }) => React.ReactNode;
696
- Repeater: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends (infer U_1)[] ? ImageValue extends U_1 ? never : FileValue extends U_1 ? never : F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1] }>(props: {
718
+ Reference: <F extends string>(props: {
719
+ name: F;
720
+ children: (scope: ReferenceScope<ReferenceContent<never[F]>>) => React.ReactNode;
721
+ }) => React.ReactNode;
722
+ ReferenceList: <F extends string>(props: {
723
+ name: F;
724
+ children: (scope: ReferenceScope<ReferenceContent<never[F]>>) => React.ReactNode;
725
+ }) => React.ReactNode;
726
+ Repeater: <F extends keyof { [F_1 in keyof ({}[K] extends (infer U)[] ? U : never) as ({}[K] extends (infer U)[] ? U : never)[F_1] extends (infer U_1)[] ? ImageValue extends U_1 ? never : FileValue extends U_1 ? never : U_1 extends string ? never : F_1 : never]: ({}[K] extends (infer U)[] ? U : never)[F_1]; }>(props: {
697
727
  name: F;
698
728
  children: (item: {
699
729
  Field: (props: InlineTextStyles & {
@@ -754,6 +784,10 @@ declare function createApp({
754
784
  url: string;
755
785
  }) => React.ReactNode;
756
786
  }) => React.ReactNode;
787
+ Artifact: (props: {
788
+ name: string;
789
+ children: (props: ArtifactRenderProps) => React.ReactNode;
790
+ }) => React.ReactNode;
757
791
  Image: (props: {
758
792
  name: string;
759
793
  children: (props: {
@@ -768,6 +802,8 @@ declare function createApp({
768
802
  children: (props: {
769
803
  href: string;
770
804
  download: string;
805
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
806
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
771
807
  }, data: FileValue) => React.ReactNode;
772
808
  }) => React.ReactNode;
773
809
  ImageList: (props: {
@@ -784,30 +820,42 @@ declare function createApp({
784
820
  children: (props: {
785
821
  href: string;
786
822
  download: string;
823
+ } & Partial<Pick<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, "onClick" | "onClickCapture" | "onMouseEnter" | "onMouseLeave">> & {
824
+ [attribute: `data-camox-${string}`]: string | boolean | undefined;
787
825
  }, data: FileValue) => React.ReactNode;
788
826
  }) => React.ReactNode;
789
827
  Repeater: (props: {
790
828
  name: string;
791
829
  children: (item: any, index: number) => React.ReactNode;
792
830
  }) => React.ReactNode;
831
+ Reference: (props: {
832
+ name: string;
833
+ children: (scope: ReferenceScope<any>) => React.ReactNode;
834
+ }) => React.ReactNode;
835
+ ReferenceList: (props: {
836
+ name: string;
837
+ children: (scope: ReferenceScope<any>) => React.ReactNode;
838
+ }) => React.ReactNode;
793
839
  useSetting: (name: string) => unknown;
794
840
  }, index: number) => React.ReactNode;
795
841
  }) => React.ReactNode;
796
842
  useSetting: <F extends string>(name: F) => never;
797
843
  }, index: number) => React.ReactNode;
798
- }) => _$react_jsx_runtime0.JSX.Element;
844
+ }) => import("react").JSX.Element;
845
+ Reference: <K extends never>({ name, children }: {
846
+ name: K;
847
+ children: (scope: ReferenceScope<never>) => React.ReactNode;
848
+ }) => React.ReactNode;
849
+ ReferenceList: <K extends never>({ name, children }: {
850
+ name: K;
851
+ children: (scope: ReferenceScope<never>) => React.ReactNode;
852
+ }) => React.ReactNode;
799
853
  useSetting: <K extends string>(name: K) => unknown;
800
854
  _internal: {
801
- Component: ({
802
- blockData,
803
- mode,
804
- isFirstBlock,
805
- showAddBlockTop,
806
- showAddBlockBottom,
807
- addBlockAfterPosition
808
- }: BlockComponentProps<{
855
+ Component: ({ blockData, mode, isFirstBlock, showAddBlockTop, showAddBlockBottom, addBlockAfterPosition }: BlockComponentProps<{
809
856
  [x: string]: unknown;
810
- }>) => _$react_jsx_runtime0.JSX.Element;
857
+ }>) => import("react").JSX.Element;
858
+ LayoutItem: ({ collectionId, labelField, properties, record, children, fallback }: LayoutItemProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
811
859
  id: string;
812
860
  title: string;
813
861
  description: string;
@@ -815,13 +863,13 @@ declare function createApp({
815
863
  type: "object";
816
864
  title: string;
817
865
  description: string;
818
- properties: Record<string, _$_sinclair_typebox0.TSchema>;
866
+ properties: Record<string, import("@sinclair/typebox").TSchema>;
819
867
  required: string[];
820
868
  toMarkdown: string[];
821
869
  };
822
870
  settingsSchema: {
823
871
  type: "object";
824
- properties: Record<string, _$_sinclair_typebox0.TSchema>;
872
+ properties: Record<string, import("@sinclair/typebox").TSchema>;
825
873
  required: string[];
826
874
  } | undefined;
827
875
  layoutOnly: boolean;
@@ -841,13 +889,13 @@ declare function createApp({
841
889
  };
842
890
  getPeekBundle: () => {
843
891
  block: {
844
- id: number;
892
+ id: string;
845
893
  pageId: null;
846
894
  layoutId: null;
847
895
  type: string;
848
896
  content: Record<string, unknown>;
849
897
  settings: Record<string, unknown>;
850
- placement: null;
898
+ slot: null;
851
899
  summary: string;
852
900
  position: string;
853
901
  createdAt: number;
@@ -858,106 +906,52 @@ declare function createApp({
858
906
  };
859
907
  };
860
908
  } | undefined;
861
- getLayouts(): {
862
- BeforeBlocks: {
863
- (): _$react_jsx_runtime0.JSX.Element;
864
- displayName: string;
865
- };
866
- AfterBlocks: {
867
- (): _$react_jsx_runtime0.JSX.Element;
868
- displayName: string;
869
- };
870
- useData(): unknown;
871
- _internal: {
872
- id: string;
873
- kind: "curated" | "derived" | "singleton";
874
- loader: ((context: {
875
- params: Record<string, string>;
876
- }) => unknown) | undefined;
909
+ loadBlock: (id: string) => Promise<Block | undefined>;
910
+ /** Whether a block not loaded yet could still load, rather than not exist. */
911
+ canLoadMoreBlocks(): boolean;
912
+ loadBlocks(ids: Iterable<string>): Promise<void>;
913
+ /** Every block definition, which editing needs, rather than only a page's. */
914
+ loadAllBlocks: () => Promise<void>;
915
+ getLayouts(): Layout[];
916
+ getLayoutById(id: string): Layout | undefined;
917
+ /**
918
+ * The website's Definition Set: every block (lazy ones included, layout-only ones only when a
919
+ * layout declares them), layout and collection definition, and the homepage they declare.
920
+ * Never calls the network; the API computes schema hashes on write.
921
+ */
922
+ getDefinitionSet(): Promise<{
923
+ blocks: {
924
+ blockId: string;
877
925
  title: string;
878
926
  description: string;
879
- buildMetaTitle: (params: {
880
- pageMetaTitle: string;
881
- projectName: string;
882
- pageFullPath: string;
883
- }) => string;
884
- buildOgImage: ((params: OgImageParams) => Promise<Response>) | undefined;
885
- blockDefinitions: ({
886
- type: string;
887
- content: Record<string, unknown>;
888
- settings: Record<string, unknown>;
889
- repeatableItems: {
890
- tempId: string;
891
- parentTempId: string | null;
892
- fieldName: string;
893
- content: Record<string, unknown>;
894
- position: string;
895
- }[];
896
- placement: "before";
897
- } | {
898
- type: string;
899
- content: Record<string, unknown>;
900
- settings: Record<string, unknown>;
901
- repeatableItems: {
902
- tempId: string;
903
- parentTempId: string | null;
904
- fieldName: string;
905
- content: Record<string, unknown>;
906
- position: string;
907
- }[];
908
- placement: "after";
909
- })[];
910
- initialBlockBundles: {
911
- type: string;
912
- content: Record<string, unknown>;
913
- settings: Record<string, unknown>;
914
- repeatableItems: {
915
- tempId: string;
916
- parentTempId: string | null;
917
- fieldName: string;
918
- content: Record<string, unknown>;
919
- position: string;
920
- }[];
921
- }[] | undefined;
922
- component: _$react.ComponentType<{
923
- children: React.ReactNode;
924
- }>;
925
- Provider: ({
926
- layoutBlocks,
927
- children,
928
- data
929
- }: {
930
- layoutBlocks: Record<string, LayoutBlockData>;
931
- children: React.ReactNode;
932
- data?: unknown;
933
- }) => _$react_jsx_runtime0.JSX.Element;
934
- };
935
- }[];
936
- getLayoutById(id: string): {
937
- BeforeBlocks: {
938
- (): _$react_jsx_runtime0.JSX.Element;
939
- displayName: string;
940
- };
941
- AfterBlocks: {
942
- (): _$react_jsx_runtime0.JSX.Element;
943
- displayName: string;
944
- };
945
- useData(): unknown;
946
- _internal: {
947
- id: string;
927
+ contentSchema: {
928
+ type: "object";
929
+ title: string;
930
+ description: string;
931
+ properties: Record<string, import("@sinclair/typebox").TSchema>;
932
+ required: string[];
933
+ toMarkdown: string[];
934
+ };
935
+ settingsSchema: {
936
+ type: "object";
937
+ properties: Record<string, import("@sinclair/typebox").TSchema>;
938
+ required: string[];
939
+ } | undefined;
940
+ defaultContent: {
941
+ [x: string]: unknown;
942
+ };
943
+ defaultSettings: {
944
+ [x: string]: unknown;
945
+ };
946
+ layoutOnly: true | undefined;
947
+ synced: boolean;
948
+ }[];
949
+ layouts: {
950
+ recordPages?: RecordPages | undefined;
951
+ layoutId: string;
948
952
  kind: "curated" | "derived" | "singleton";
949
- loader: ((context: {
950
- params: Record<string, string>;
951
- }) => unknown) | undefined;
952
- title: string;
953
953
  description: string;
954
- buildMetaTitle: (params: {
955
- pageMetaTitle: string;
956
- projectName: string;
957
- pageFullPath: string;
958
- }) => string;
959
- buildOgImage: ((params: OgImageParams) => Promise<Response>) | undefined;
960
- blockDefinitions: ({
954
+ blocks: ({
961
955
  type: string;
962
956
  content: Record<string, unknown>;
963
957
  settings: Record<string, unknown>;
@@ -968,7 +962,7 @@ declare function createApp({
968
962
  content: Record<string, unknown>;
969
963
  position: string;
970
964
  }[];
971
- placement: "before";
965
+ slot: "before";
972
966
  } | {
973
967
  type: string;
974
968
  content: Record<string, unknown>;
@@ -980,9 +974,19 @@ declare function createApp({
980
974
  content: Record<string, unknown>;
981
975
  position: string;
982
976
  }[];
983
- placement: "after";
977
+ slot: "after";
984
978
  })[];
985
- initialBlockBundles: {
979
+ }[];
980
+ collections: {
981
+ collectionId: string;
982
+ title: string;
983
+ description: string;
984
+ label: string;
985
+ contentSchema: any;
986
+ }[];
987
+ homepage: {
988
+ layoutId: string;
989
+ blocks: {
986
990
  type: string;
987
991
  content: Record<string, unknown>;
988
992
  settings: Record<string, unknown>;
@@ -993,88 +997,13 @@ declare function createApp({
993
997
  content: Record<string, unknown>;
994
998
  position: string;
995
999
  }[];
996
- }[] | undefined;
997
- component: _$react.ComponentType<{
998
- children: React.ReactNode;
999
- }>;
1000
- Provider: ({
1001
- layoutBlocks,
1002
- children,
1003
- data
1004
- }: {
1005
- layoutBlocks: Record<string, LayoutBlockData>;
1006
- children: React.ReactNode;
1007
- data?: unknown;
1008
- }) => _$react_jsx_runtime0.JSX.Element;
1009
- };
1010
- } | undefined;
1011
- getSerializableDefinitions(): {
1012
- blockId: string;
1013
- title: string;
1014
- description: string;
1015
- contentSchema: {
1016
- type: "object";
1017
- title: string;
1018
- description: string;
1019
- properties: Record<string, _$_sinclair_typebox0.TSchema>;
1020
- required: string[];
1021
- toMarkdown: string[];
1022
- };
1023
- settingsSchema: {
1024
- type: "object";
1025
- properties: Record<string, _$_sinclair_typebox0.TSchema>;
1026
- required: string[];
1027
- } | undefined;
1028
- layoutOnly: true | undefined;
1029
- synced: boolean;
1030
- }[];
1031
- getSerializableLayoutDefinitions(): {
1032
- layoutId: string;
1033
- kind: "curated" | "derived" | "singleton";
1034
- description: string;
1035
- blocks: ({
1036
- type: string;
1037
- content: Record<string, unknown>;
1038
- settings: Record<string, unknown>;
1039
- repeatableItems: {
1040
- tempId: string;
1041
- parentTempId: string | null;
1042
- fieldName: string;
1043
- content: Record<string, unknown>;
1044
- position: string;
1045
1000
  }[];
1046
- placement: "before";
1047
- } | {
1048
- type: string;
1049
- content: Record<string, unknown>;
1050
- settings: Record<string, unknown>;
1051
- repeatableItems: {
1052
- tempId: string;
1053
- parentTempId: string | null;
1054
- fieldName: string;
1055
- content: Record<string, unknown>;
1056
- position: string;
1057
- }[];
1058
- placement: "after";
1059
- })[];
1060
- }[];
1061
- getInitialPageBundles(): {
1062
- layoutId: string;
1063
- blocks: {
1064
- type: string;
1065
- content: Record<string, unknown>;
1066
- settings: Record<string, unknown>;
1067
- repeatableItems: {
1068
- tempId: string;
1069
- parentTempId: string | null;
1070
- fieldName: string;
1071
- content: Record<string, unknown>;
1072
- position: string;
1073
- }[];
1074
- }[];
1075
- hasInitialBlocks: boolean;
1076
- } | null;
1001
+ hasInitialBlocks: boolean;
1002
+ } | null;
1003
+ }>;
1077
1004
  };
1078
- type CamoxApp = ReturnType<typeof createApp>;
1005
+ export type CamoxApp = ReturnType<typeof createApp>;
1006
+ /** All of a website's definitions taken together, with the content they declare. */
1007
+ export type DefinitionSet = Awaited<ReturnType<CamoxApp["getDefinitionSet"]>>;
1079
1008
  //#endregion
1080
- export { CamoxApp, createApp };
1009
+ export {};