@batterai/editor-shell 0.1.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 (666) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +101 -0
  3. package/README.md +11 -0
  4. package/dist/App.d.ts +4 -0
  5. package/dist/App.d.ts.map +1 -0
  6. package/dist/App.js +388 -0
  7. package/dist/App.js.map +1 -0
  8. package/dist/app/AppCanvas.d.ts +52 -0
  9. package/dist/app/AppCanvas.d.ts.map +1 -0
  10. package/dist/app/AppCanvas.js +43 -0
  11. package/dist/app/AppCanvas.js.map +1 -0
  12. package/dist/app/AppDialogs.d.ts +25 -0
  13. package/dist/app/AppDialogs.d.ts.map +1 -0
  14. package/dist/app/AppDialogs.js +16 -0
  15. package/dist/app/AppDialogs.js.map +1 -0
  16. package/dist/app/AppInspectorPanel.d.ts +66 -0
  17. package/dist/app/AppInspectorPanel.d.ts.map +1 -0
  18. package/dist/app/AppInspectorPanel.js +94 -0
  19. package/dist/app/AppInspectorPanel.js.map +1 -0
  20. package/dist/app/AppStates.d.ts +5 -0
  21. package/dist/app/AppStates.d.ts.map +1 -0
  22. package/dist/app/AppStates.js +8 -0
  23. package/dist/app/AppStates.js.map +1 -0
  24. package/dist/app/AppTypes.d.ts +18 -0
  25. package/dist/app/AppTypes.d.ts.map +1 -0
  26. package/dist/app/AppTypes.js +2 -0
  27. package/dist/app/AppTypes.js.map +1 -0
  28. package/dist/app/OperationErrorBanner.d.ts +5 -0
  29. package/dist/app/OperationErrorBanner.d.ts.map +1 -0
  30. package/dist/app/OperationErrorBanner.js +5 -0
  31. package/dist/app/OperationErrorBanner.js.map +1 -0
  32. package/dist/app/capability-guards.d.ts +9 -0
  33. package/dist/app/capability-guards.d.ts.map +1 -0
  34. package/dist/app/capability-guards.js +22 -0
  35. package/dist/app/capability-guards.js.map +1 -0
  36. package/dist/app/deriveSelectionState.d.ts +31 -0
  37. package/dist/app/deriveSelectionState.d.ts.map +1 -0
  38. package/dist/app/deriveSelectionState.js +79 -0
  39. package/dist/app/deriveSelectionState.js.map +1 -0
  40. package/dist/app/helpers.d.ts +31 -0
  41. package/dist/app/helpers.d.ts.map +1 -0
  42. package/dist/app/helpers.js +145 -0
  43. package/dist/app/helpers.js.map +1 -0
  44. package/dist/app/hostServices.d.ts +2 -0
  45. package/dist/app/hostServices.d.ts.map +1 -0
  46. package/dist/app/hostServices.js +2 -0
  47. package/dist/app/hostServices.js.map +1 -0
  48. package/dist/app/persistence-machine.d.ts +27 -0
  49. package/dist/app/persistence-machine.d.ts.map +1 -0
  50. package/dist/app/persistence-machine.js +66 -0
  51. package/dist/app/persistence-machine.js.map +1 -0
  52. package/dist/app/useCollectionEditing.d.ts +30 -0
  53. package/dist/app/useCollectionEditing.d.ts.map +1 -0
  54. package/dist/app/useCollectionEditing.js +80 -0
  55. package/dist/app/useCollectionEditing.js.map +1 -0
  56. package/dist/app/useCommitActions.d.ts +64 -0
  57. package/dist/app/useCommitActions.d.ts.map +1 -0
  58. package/dist/app/useCommitActions.js +319 -0
  59. package/dist/app/useCommitActions.js.map +1 -0
  60. package/dist/app/useEditorCollaboration.d.ts +30 -0
  61. package/dist/app/useEditorCollaboration.d.ts.map +1 -0
  62. package/dist/app/useEditorCollaboration.js +374 -0
  63. package/dist/app/useEditorCollaboration.js.map +1 -0
  64. package/dist/app/useEditorEffects.d.ts +42 -0
  65. package/dist/app/useEditorEffects.d.ts.map +1 -0
  66. package/dist/app/useEditorEffects.js +105 -0
  67. package/dist/app/useEditorEffects.js.map +1 -0
  68. package/dist/app/useEditorRuntime.d.ts +34 -0
  69. package/dist/app/useEditorRuntime.d.ts.map +1 -0
  70. package/dist/app/useEditorRuntime.js +68 -0
  71. package/dist/app/useEditorRuntime.js.map +1 -0
  72. package/dist/app/useEditorState.d.ts +55 -0
  73. package/dist/app/useEditorState.d.ts.map +1 -0
  74. package/dist/app/useEditorState.js +68 -0
  75. package/dist/app/useEditorState.js.map +1 -0
  76. package/dist/app/usePageOps.d.ts +37 -0
  77. package/dist/app/usePageOps.d.ts.map +1 -0
  78. package/dist/app/usePageOps.js +69 -0
  79. package/dist/app/usePageOps.js.map +1 -0
  80. package/dist/app/usePersistence.d.ts +48 -0
  81. package/dist/app/usePersistence.d.ts.map +1 -0
  82. package/dist/app/usePersistence.js +344 -0
  83. package/dist/app/usePersistence.js.map +1 -0
  84. package/dist/app/usePreviewSession.d.ts +22 -0
  85. package/dist/app/usePreviewSession.d.ts.map +1 -0
  86. package/dist/app/usePreviewSession.js +21 -0
  87. package/dist/app/usePreviewSession.js.map +1 -0
  88. package/dist/app/useWorkspaceDocumentSync.d.ts +33 -0
  89. package/dist/app/useWorkspaceDocumentSync.d.ts.map +1 -0
  90. package/dist/app/useWorkspaceDocumentSync.js +128 -0
  91. package/dist/app/useWorkspaceDocumentSync.js.map +1 -0
  92. package/dist/appearance.d.ts +6 -0
  93. package/dist/appearance.d.ts.map +1 -0
  94. package/dist/appearance.js +53 -0
  95. package/dist/appearance.js.map +1 -0
  96. package/dist/bindingChips.d.ts +28 -0
  97. package/dist/bindingChips.d.ts.map +1 -0
  98. package/dist/bindingChips.js +93 -0
  99. package/dist/bindingChips.js.map +1 -0
  100. package/dist/block-factory.d.ts +21 -0
  101. package/dist/block-factory.d.ts.map +1 -0
  102. package/dist/block-factory.js +78 -0
  103. package/dist/block-factory.js.map +1 -0
  104. package/dist/blockHost.d.ts +22 -0
  105. package/dist/blockHost.d.ts.map +1 -0
  106. package/dist/blockHost.js +103 -0
  107. package/dist/blockHost.js.map +1 -0
  108. package/dist/blockInteraction.d.ts +11 -0
  109. package/dist/blockInteraction.d.ts.map +1 -0
  110. package/dist/blockInteraction.js +16 -0
  111. package/dist/blockInteraction.js.map +1 -0
  112. package/dist/blockPresets.d.ts +4 -0
  113. package/dist/blockPresets.d.ts.map +1 -0
  114. package/dist/blockPresets.js +11 -0
  115. package/dist/blockPresets.js.map +1 -0
  116. package/dist/collaboration.d.ts +41 -0
  117. package/dist/collaboration.d.ts.map +1 -0
  118. package/dist/collaboration.js +4 -0
  119. package/dist/collaboration.js.map +1 -0
  120. package/dist/collectionItemAddress.d.ts +12 -0
  121. package/dist/collectionItemAddress.d.ts.map +1 -0
  122. package/dist/collectionItemAddress.js +19 -0
  123. package/dist/collectionItemAddress.js.map +1 -0
  124. package/dist/components/AddCollectionItemControl.d.ts +15 -0
  125. package/dist/components/AddCollectionItemControl.d.ts.map +1 -0
  126. package/dist/components/AddCollectionItemControl.js +19 -0
  127. package/dist/components/AddCollectionItemControl.js.map +1 -0
  128. package/dist/components/AuditHistoryPanel.d.ts +10 -0
  129. package/dist/components/AuditHistoryPanel.d.ts.map +1 -0
  130. package/dist/components/AuditHistoryPanel.js +11 -0
  131. package/dist/components/AuditHistoryPanel.js.map +1 -0
  132. package/dist/components/Canvas.d.ts +64 -0
  133. package/dist/components/Canvas.d.ts.map +1 -0
  134. package/dist/components/Canvas.js +238 -0
  135. package/dist/components/Canvas.js.map +1 -0
  136. package/dist/components/CollaborationLayer.d.ts +13 -0
  137. package/dist/components/CollaborationLayer.d.ts.map +1 -0
  138. package/dist/components/CollaborationLayer.js +91 -0
  139. package/dist/components/CollaborationLayer.js.map +1 -0
  140. package/dist/components/DesignSettingsPanel.d.ts +10 -0
  141. package/dist/components/DesignSettingsPanel.d.ts.map +1 -0
  142. package/dist/components/DesignSettingsPanel.js +26 -0
  143. package/dist/components/DesignSettingsPanel.js.map +1 -0
  144. package/dist/components/EditableDate.d.ts +24 -0
  145. package/dist/components/EditableDate.d.ts.map +1 -0
  146. package/dist/components/EditableDate.js +41 -0
  147. package/dist/components/EditableDate.js.map +1 -0
  148. package/dist/components/EditableText.d.ts +23 -0
  149. package/dist/components/EditableText.d.ts.map +1 -0
  150. package/dist/components/EditableText.js +53 -0
  151. package/dist/components/EditableText.js.map +1 -0
  152. package/dist/components/FieldControl.d.ts +15 -0
  153. package/dist/components/FieldControl.d.ts.map +1 -0
  154. package/dist/components/FieldControl.js +64 -0
  155. package/dist/components/FieldControl.js.map +1 -0
  156. package/dist/components/IconFieldEditor.d.ts +9 -0
  157. package/dist/components/IconFieldEditor.d.ts.map +1 -0
  158. package/dist/components/IconFieldEditor.js +15 -0
  159. package/dist/components/IconFieldEditor.js.map +1 -0
  160. package/dist/components/ImageFieldEditor.d.ts +15 -0
  161. package/dist/components/ImageFieldEditor.d.ts.map +1 -0
  162. package/dist/components/ImageFieldEditor.js +37 -0
  163. package/dist/components/ImageFieldEditor.js.map +1 -0
  164. package/dist/components/Inspector.d.ts +55 -0
  165. package/dist/components/Inspector.d.ts.map +1 -0
  166. package/dist/components/Inspector.js +44 -0
  167. package/dist/components/Inspector.js.map +1 -0
  168. package/dist/components/LayoutBlockEditor.d.ts +32 -0
  169. package/dist/components/LayoutBlockEditor.d.ts.map +1 -0
  170. package/dist/components/LayoutBlockEditor.js +176 -0
  171. package/dist/components/LayoutBlockEditor.js.map +1 -0
  172. package/dist/components/LicenseWatermark.d.ts +5 -0
  173. package/dist/components/LicenseWatermark.d.ts.map +1 -0
  174. package/dist/components/LicenseWatermark.js +7 -0
  175. package/dist/components/LicenseWatermark.js.map +1 -0
  176. package/dist/components/NestedBlockItem.d.ts +26 -0
  177. package/dist/components/NestedBlockItem.d.ts.map +1 -0
  178. package/dist/components/NestedBlockItem.js +164 -0
  179. package/dist/components/NestedBlockItem.js.map +1 -0
  180. package/dist/components/NestedInsertSlot.d.ts +18 -0
  181. package/dist/components/NestedInsertSlot.d.ts.map +1 -0
  182. package/dist/components/NestedInsertSlot.js +51 -0
  183. package/dist/components/NestedInsertSlot.js.map +1 -0
  184. package/dist/components/NewPageDialog.d.ts +9 -0
  185. package/dist/components/NewPageDialog.d.ts.map +1 -0
  186. package/dist/components/NewPageDialog.js +12 -0
  187. package/dist/components/NewPageDialog.js.map +1 -0
  188. package/dist/components/PageFrame.d.ts +75 -0
  189. package/dist/components/PageFrame.d.ts.map +1 -0
  190. package/dist/components/PageFrame.js +87 -0
  191. package/dist/components/PageFrame.js.map +1 -0
  192. package/dist/components/PageInspector.d.ts +16 -0
  193. package/dist/components/PageInspector.d.ts.map +1 -0
  194. package/dist/components/PageInspector.js +56 -0
  195. package/dist/components/PageInspector.js.map +1 -0
  196. package/dist/components/PresetSaveDialog.d.ts +8 -0
  197. package/dist/components/PresetSaveDialog.d.ts.map +1 -0
  198. package/dist/components/PresetSaveDialog.js +7 -0
  199. package/dist/components/PresetSaveDialog.js.map +1 -0
  200. package/dist/components/ReferenceChipsEditor.d.ts +23 -0
  201. package/dist/components/ReferenceChipsEditor.d.ts.map +1 -0
  202. package/dist/components/ReferenceChipsEditor.js +68 -0
  203. package/dist/components/ReferenceChipsEditor.js.map +1 -0
  204. package/dist/components/TopBar.d.ts +49 -0
  205. package/dist/components/TopBar.d.ts.map +1 -0
  206. package/dist/components/TopBar.js +41 -0
  207. package/dist/components/TopBar.js.map +1 -0
  208. package/dist/components/canvas/CanvasBoard.d.ts +97 -0
  209. package/dist/components/canvas/CanvasBoard.d.ts.map +1 -0
  210. package/dist/components/canvas/CanvasBoard.js +35 -0
  211. package/dist/components/canvas/CanvasBoard.js.map +1 -0
  212. package/dist/components/canvas/EditableCanvasTitle.d.ts +13 -0
  213. package/dist/components/canvas/EditableCanvasTitle.d.ts.map +1 -0
  214. package/dist/components/canvas/EditableCanvasTitle.js +74 -0
  215. package/dist/components/canvas/EditableCanvasTitle.js.map +1 -0
  216. package/dist/components/canvas/camera.d.ts +9 -0
  217. package/dist/components/canvas/camera.d.ts.map +1 -0
  218. package/dist/components/canvas/camera.js +31 -0
  219. package/dist/components/canvas/camera.js.map +1 -0
  220. package/dist/components/canvas/column-window.d.ts +10 -0
  221. package/dist/components/canvas/column-window.d.ts.map +1 -0
  222. package/dist/components/canvas/column-window.js +46 -0
  223. package/dist/components/canvas/column-window.js.map +1 -0
  224. package/dist/components/canvas/keyboard-nav.d.ts +7 -0
  225. package/dist/components/canvas/keyboard-nav.d.ts.map +1 -0
  226. package/dist/components/canvas/keyboard-nav.js +44 -0
  227. package/dist/components/canvas/keyboard-nav.js.map +1 -0
  228. package/dist/components/canvas/links.d.ts +2 -0
  229. package/dist/components/canvas/links.d.ts.map +1 -0
  230. package/dist/components/canvas/links.js +7 -0
  231. package/dist/components/canvas/links.js.map +1 -0
  232. package/dist/components/editable-text/BindingInlineEditor.d.ts +13 -0
  233. package/dist/components/editable-text/BindingInlineEditor.d.ts.map +1 -0
  234. package/dist/components/editable-text/BindingInlineEditor.js +24 -0
  235. package/dist/components/editable-text/BindingInlineEditor.js.map +1 -0
  236. package/dist/components/editable-text/BindingPicker.d.ts +10 -0
  237. package/dist/components/editable-text/BindingPicker.d.ts.map +1 -0
  238. package/dist/components/editable-text/BindingPicker.js +20 -0
  239. package/dist/components/editable-text/BindingPicker.js.map +1 -0
  240. package/dist/components/editable-text/RichTextToolbar.d.ts +13 -0
  241. package/dist/components/editable-text/RichTextToolbar.d.ts.map +1 -0
  242. package/dist/components/editable-text/RichTextToolbar.js +24 -0
  243. package/dist/components/editable-text/RichTextToolbar.js.map +1 -0
  244. package/dist/components/editable-text/bindingHtml.d.ts +19 -0
  245. package/dist/components/editable-text/bindingHtml.d.ts.map +1 -0
  246. package/dist/components/editable-text/bindingHtml.js +106 -0
  247. package/dist/components/editable-text/bindingHtml.js.map +1 -0
  248. package/dist/components/editable-text/editableTextDom.d.ts +5 -0
  249. package/dist/components/editable-text/editableTextDom.d.ts.map +1 -0
  250. package/dist/components/editable-text/editableTextDom.js +24 -0
  251. package/dist/components/editable-text/editableTextDom.js.map +1 -0
  252. package/dist/components/editable-text/floatingPosition.d.ts +25 -0
  253. package/dist/components/editable-text/floatingPosition.d.ts.map +1 -0
  254. package/dist/components/editable-text/floatingPosition.js +35 -0
  255. package/dist/components/editable-text/floatingPosition.js.map +1 -0
  256. package/dist/components/editable-text/formatting.d.ts +15 -0
  257. package/dist/components/editable-text/formatting.d.ts.map +1 -0
  258. package/dist/components/editable-text/formatting.js +82 -0
  259. package/dist/components/editable-text/formatting.js.map +1 -0
  260. package/dist/components/editable-text/richCommands.d.ts +9 -0
  261. package/dist/components/editable-text/richCommands.d.ts.map +1 -0
  262. package/dist/components/editable-text/richCommands.js +41 -0
  263. package/dist/components/editable-text/richCommands.js.map +1 -0
  264. package/dist/components/editable-text/richHtml.d.ts +5 -0
  265. package/dist/components/editable-text/richHtml.d.ts.map +1 -0
  266. package/dist/components/editable-text/richHtml.js +150 -0
  267. package/dist/components/editable-text/richHtml.js.map +1 -0
  268. package/dist/components/editable-text/selection.d.ts +12 -0
  269. package/dist/components/editable-text/selection.d.ts.map +1 -0
  270. package/dist/components/editable-text/selection.js +119 -0
  271. package/dist/components/editable-text/selection.js.map +1 -0
  272. package/dist/components/editable-text/types.d.ts +32 -0
  273. package/dist/components/editable-text/types.d.ts.map +1 -0
  274. package/dist/components/editable-text/types.js +2 -0
  275. package/dist/components/editable-text/types.js.map +1 -0
  276. package/dist/components/editable-text/useEditableText.d.ts +35 -0
  277. package/dist/components/editable-text/useEditableText.d.ts.map +1 -0
  278. package/dist/components/editable-text/useEditableText.js +395 -0
  279. package/dist/components/editable-text/useEditableText.js.map +1 -0
  280. package/dist/components/image-editor/ImageEditorDialog.d.ts +16 -0
  281. package/dist/components/image-editor/ImageEditorDialog.d.ts.map +1 -0
  282. package/dist/components/image-editor/ImageEditorDialog.js +137 -0
  283. package/dist/components/image-editor/ImageEditorDialog.js.map +1 -0
  284. package/dist/components/image-editor/ImagePreview.d.ts +15 -0
  285. package/dist/components/image-editor/ImagePreview.d.ts.map +1 -0
  286. package/dist/components/image-editor/ImagePreview.js +16 -0
  287. package/dist/components/image-editor/ImagePreview.js.map +1 -0
  288. package/dist/components/image-editor/MediaBrowser.d.ts +22 -0
  289. package/dist/components/image-editor/MediaBrowser.d.ts.map +1 -0
  290. package/dist/components/image-editor/MediaBrowser.js +16 -0
  291. package/dist/components/image-editor/MediaBrowser.js.map +1 -0
  292. package/dist/components/image-editor/UsageSettingsForm.d.ts +10 -0
  293. package/dist/components/image-editor/UsageSettingsForm.d.ts.map +1 -0
  294. package/dist/components/image-editor/UsageSettingsForm.js +29 -0
  295. package/dist/components/image-editor/UsageSettingsForm.js.map +1 -0
  296. package/dist/components/image-editor/preview-style.d.ts +7 -0
  297. package/dist/components/image-editor/preview-style.d.ts.map +1 -0
  298. package/dist/components/image-editor/preview-style.js +47 -0
  299. package/dist/components/image-editor/preview-style.js.map +1 -0
  300. package/dist/components/image-editor/stage.d.ts +14 -0
  301. package/dist/components/image-editor/stage.d.ts.map +1 -0
  302. package/dist/components/image-editor/stage.js +116 -0
  303. package/dist/components/image-editor/stage.js.map +1 -0
  304. package/dist/components/image-editor/types.d.ts +38 -0
  305. package/dist/components/image-editor/types.d.ts.map +1 -0
  306. package/dist/components/image-editor/types.js +10 -0
  307. package/dist/components/image-editor/types.js.map +1 -0
  308. package/dist/components/image-editor/usage-conversion.d.ts +35 -0
  309. package/dist/components/image-editor/usage-conversion.d.ts.map +1 -0
  310. package/dist/components/image-editor/usage-conversion.js +249 -0
  311. package/dist/components/image-editor/usage-conversion.js.map +1 -0
  312. package/dist/components/inspector/CollectionItemFields.d.ts +10 -0
  313. package/dist/components/inspector/CollectionItemFields.d.ts.map +1 -0
  314. package/dist/components/inspector/CollectionItemFields.js +13 -0
  315. package/dist/components/inspector/CollectionItemFields.js.map +1 -0
  316. package/dist/components/inspector/ContentBindingControl.d.ts +14 -0
  317. package/dist/components/inspector/ContentBindingControl.d.ts.map +1 -0
  318. package/dist/components/inspector/ContentBindingControl.js +42 -0
  319. package/dist/components/inspector/ContentBindingControl.js.map +1 -0
  320. package/dist/components/inspector/PinControl.d.ts +10 -0
  321. package/dist/components/inspector/PinControl.d.ts.map +1 -0
  322. package/dist/components/inspector/PinControl.js +14 -0
  323. package/dist/components/inspector/PinControl.js.map +1 -0
  324. package/dist/components/inspector/constants.d.ts +8 -0
  325. package/dist/components/inspector/constants.d.ts.map +1 -0
  326. package/dist/components/inspector/constants.js +12 -0
  327. package/dist/components/inspector/constants.js.map +1 -0
  328. package/dist/components/inspector/content-item-label.d.ts +2 -0
  329. package/dist/components/inspector/content-item-label.d.ts.map +1 -0
  330. package/dist/components/inspector/content-item-label.js +23 -0
  331. package/dist/components/inspector/content-item-label.js.map +1 -0
  332. package/dist/components/page-frame/InsertSlot.d.ts +19 -0
  333. package/dist/components/page-frame/InsertSlot.d.ts.map +1 -0
  334. package/dist/components/page-frame/InsertSlot.js +55 -0
  335. package/dist/components/page-frame/InsertSlot.js.map +1 -0
  336. package/dist/components/page-frame/PageFrameBlockList.d.ts +43 -0
  337. package/dist/components/page-frame/PageFrameBlockList.d.ts.map +1 -0
  338. package/dist/components/page-frame/PageFrameBlockList.js +204 -0
  339. package/dist/components/page-frame/PageFrameBlockList.js.map +1 -0
  340. package/dist/components/page-frame/PageFrameControls.d.ts +23 -0
  341. package/dist/components/page-frame/PageFrameControls.d.ts.map +1 -0
  342. package/dist/components/page-frame/PageFrameControls.js +36 -0
  343. package/dist/components/page-frame/PageFrameControls.js.map +1 -0
  344. package/dist/components/page-frame/PageFramePathEditor.d.ts +33 -0
  345. package/dist/components/page-frame/PageFramePathEditor.d.ts.map +1 -0
  346. package/dist/components/page-frame/PageFramePathEditor.js +5 -0
  347. package/dist/components/page-frame/PageFramePathEditor.js.map +1 -0
  348. package/dist/components/page-frame/viewport.d.ts +26 -0
  349. package/dist/components/page-frame/viewport.d.ts.map +1 -0
  350. package/dist/components/page-frame/viewport.js +37 -0
  351. package/dist/components/page-frame/viewport.js.map +1 -0
  352. package/dist/content-model.d.ts +36 -0
  353. package/dist/content-model.d.ts.map +1 -0
  354. package/dist/content-model.js +15 -0
  355. package/dist/content-model.js.map +1 -0
  356. package/dist/contentModel.d.ts +3 -0
  357. package/dist/contentModel.d.ts.map +1 -0
  358. package/dist/contentModel.js +2 -0
  359. package/dist/contentModel.js.map +1 -0
  360. package/dist/designSettings.d.ts +11 -0
  361. package/dist/designSettings.d.ts.map +1 -0
  362. package/dist/designSettings.js +96 -0
  363. package/dist/designSettings.js.map +1 -0
  364. package/dist/drag-transfer.d.ts +28 -0
  365. package/dist/drag-transfer.d.ts.map +1 -0
  366. package/dist/drag-transfer.js +42 -0
  367. package/dist/drag-transfer.js.map +1 -0
  368. package/dist/editor/app/AppCanvas.d.ts +2 -0
  369. package/dist/editor/app/AppCanvas.d.ts.map +1 -0
  370. package/dist/editor/app/AppCanvas.js +2 -0
  371. package/dist/editor/app/AppCanvas.js.map +1 -0
  372. package/dist/editor/app/AppDialogs.d.ts +2 -0
  373. package/dist/editor/app/AppDialogs.d.ts.map +1 -0
  374. package/dist/editor/app/AppDialogs.js +2 -0
  375. package/dist/editor/app/AppDialogs.js.map +1 -0
  376. package/dist/editor/app/AppInspectorPanel.d.ts +2 -0
  377. package/dist/editor/app/AppInspectorPanel.d.ts.map +1 -0
  378. package/dist/editor/app/AppInspectorPanel.js +2 -0
  379. package/dist/editor/app/AppInspectorPanel.js.map +1 -0
  380. package/dist/editor/app/deriveSelectionState.d.ts +2 -0
  381. package/dist/editor/app/deriveSelectionState.d.ts.map +1 -0
  382. package/dist/editor/app/deriveSelectionState.js +2 -0
  383. package/dist/editor/app/deriveSelectionState.js.map +1 -0
  384. package/dist/editor/app/helpers.d.ts +2 -0
  385. package/dist/editor/app/helpers.d.ts.map +1 -0
  386. package/dist/editor/app/helpers.js +2 -0
  387. package/dist/editor/app/helpers.js.map +1 -0
  388. package/dist/editor/app/useCollectionEditing.d.ts +2 -0
  389. package/dist/editor/app/useCollectionEditing.d.ts.map +1 -0
  390. package/dist/editor/app/useCollectionEditing.js +2 -0
  391. package/dist/editor/app/useCollectionEditing.js.map +1 -0
  392. package/dist/editor/app/useCommitActions.d.ts +2 -0
  393. package/dist/editor/app/useCommitActions.d.ts.map +1 -0
  394. package/dist/editor/app/useCommitActions.js +2 -0
  395. package/dist/editor/app/useCommitActions.js.map +1 -0
  396. package/dist/editor/app/useEditorEffects.d.ts +2 -0
  397. package/dist/editor/app/useEditorEffects.d.ts.map +1 -0
  398. package/dist/editor/app/useEditorEffects.js +2 -0
  399. package/dist/editor/app/useEditorEffects.js.map +1 -0
  400. package/dist/editor/app/useEditorRuntime.d.ts +2 -0
  401. package/dist/editor/app/useEditorRuntime.d.ts.map +1 -0
  402. package/dist/editor/app/useEditorRuntime.js +2 -0
  403. package/dist/editor/app/useEditorRuntime.js.map +1 -0
  404. package/dist/editor/app/useEditorState.d.ts +2 -0
  405. package/dist/editor/app/useEditorState.d.ts.map +1 -0
  406. package/dist/editor/app/useEditorState.js +2 -0
  407. package/dist/editor/app/useEditorState.js.map +1 -0
  408. package/dist/editor/app/usePageOps.d.ts +2 -0
  409. package/dist/editor/app/usePageOps.d.ts.map +1 -0
  410. package/dist/editor/app/usePageOps.js +2 -0
  411. package/dist/editor/app/usePageOps.js.map +1 -0
  412. package/dist/editor/app/usePersistence.d.ts +2 -0
  413. package/dist/editor/app/usePersistence.d.ts.map +1 -0
  414. package/dist/editor/app/usePersistence.js +2 -0
  415. package/dist/editor/app/usePersistence.js.map +1 -0
  416. package/dist/editor/app/usePreviewSession.d.ts +2 -0
  417. package/dist/editor/app/usePreviewSession.d.ts.map +1 -0
  418. package/dist/editor/app/usePreviewSession.js +2 -0
  419. package/dist/editor/app/usePreviewSession.js.map +1 -0
  420. package/dist/editor/app/useWorkspaceDocumentSync.d.ts +2 -0
  421. package/dist/editor/app/useWorkspaceDocumentSync.d.ts.map +1 -0
  422. package/dist/editor/app/useWorkspaceDocumentSync.js +2 -0
  423. package/dist/editor/app/useWorkspaceDocumentSync.js.map +1 -0
  424. package/dist/editor/bindingChips.d.ts +2 -0
  425. package/dist/editor/bindingChips.d.ts.map +1 -0
  426. package/dist/editor/bindingChips.js +2 -0
  427. package/dist/editor/bindingChips.js.map +1 -0
  428. package/dist/editor/blockInteraction.d.ts +2 -0
  429. package/dist/editor/blockInteraction.d.ts.map +1 -0
  430. package/dist/editor/blockInteraction.js +2 -0
  431. package/dist/editor/blockInteraction.js.map +1 -0
  432. package/dist/editor/blockPresets.d.ts +2 -0
  433. package/dist/editor/blockPresets.d.ts.map +1 -0
  434. package/dist/editor/blockPresets.js +2 -0
  435. package/dist/editor/blockPresets.js.map +1 -0
  436. package/dist/editor/collectionItemAddress.d.ts +2 -0
  437. package/dist/editor/collectionItemAddress.d.ts.map +1 -0
  438. package/dist/editor/collectionItemAddress.js +2 -0
  439. package/dist/editor/collectionItemAddress.js.map +1 -0
  440. package/dist/editor/contentModel.d.ts +2 -0
  441. package/dist/editor/contentModel.d.ts.map +1 -0
  442. package/dist/editor/contentModel.js +2 -0
  443. package/dist/editor/contentModel.js.map +1 -0
  444. package/dist/editor/designSettings.d.ts +2 -0
  445. package/dist/editor/designSettings.d.ts.map +1 -0
  446. package/dist/editor/designSettings.js +2 -0
  447. package/dist/editor/designSettings.js.map +1 -0
  448. package/dist/editor/editorClipboard.d.ts +2 -0
  449. package/dist/editor/editorClipboard.d.ts.map +1 -0
  450. package/dist/editor/editorClipboard.js +2 -0
  451. package/dist/editor/editorClipboard.js.map +1 -0
  452. package/dist/editor/formatDate.d.ts +2 -0
  453. package/dist/editor/formatDate.d.ts.map +1 -0
  454. package/dist/editor/formatDate.js +2 -0
  455. package/dist/editor/formatDate.js.map +1 -0
  456. package/dist/editor/iconCatalog.d.ts +2 -0
  457. package/dist/editor/iconCatalog.d.ts.map +1 -0
  458. package/dist/editor/iconCatalog.js +2 -0
  459. package/dist/editor/iconCatalog.js.map +1 -0
  460. package/dist/editor/pageActions.d.ts +2 -0
  461. package/dist/editor/pageActions.d.ts.map +1 -0
  462. package/dist/editor/pageActions.js +2 -0
  463. package/dist/editor/pageActions.js.map +1 -0
  464. package/dist/editor/pagePaths.d.ts +2 -0
  465. package/dist/editor/pagePaths.d.ts.map +1 -0
  466. package/dist/editor/pagePaths.js +2 -0
  467. package/dist/editor/pagePaths.js.map +1 -0
  468. package/dist/editor/pagesActions.d.ts +2 -0
  469. package/dist/editor/pagesActions.d.ts.map +1 -0
  470. package/dist/editor/pagesActions.js +2 -0
  471. package/dist/editor/pagesActions.js.map +1 -0
  472. package/dist/editor/renderActions.d.ts +2 -0
  473. package/dist/editor/renderActions.d.ts.map +1 -0
  474. package/dist/editor/renderActions.js +2 -0
  475. package/dist/editor/renderActions.js.map +1 -0
  476. package/dist/editor/translation.d.ts +2 -0
  477. package/dist/editor/translation.d.ts.map +1 -0
  478. package/dist/editor/translation.js +2 -0
  479. package/dist/editor/translation.js.map +1 -0
  480. package/dist/editor/useCanvasBackStack.d.ts +2 -0
  481. package/dist/editor/useCanvasBackStack.d.ts.map +1 -0
  482. package/dist/editor/useCanvasBackStack.js +2 -0
  483. package/dist/editor/useCanvasBackStack.js.map +1 -0
  484. package/dist/editor/useCanvasCamera.d.ts +2 -0
  485. package/dist/editor/useCanvasCamera.d.ts.map +1 -0
  486. package/dist/editor/useCanvasCamera.js +2 -0
  487. package/dist/editor/useCanvasCamera.js.map +1 -0
  488. package/dist/editor/useCanvasFocus.d.ts +2 -0
  489. package/dist/editor/useCanvasFocus.d.ts.map +1 -0
  490. package/dist/editor/useCanvasFocus.js +2 -0
  491. package/dist/editor/useCanvasFocus.js.map +1 -0
  492. package/dist/editor/useCanvasKeyboardNav.d.ts +2 -0
  493. package/dist/editor/useCanvasKeyboardNav.d.ts.map +1 -0
  494. package/dist/editor/useCanvasKeyboardNav.js +2 -0
  495. package/dist/editor/useCanvasKeyboardNav.js.map +1 -0
  496. package/dist/editor/useClipboardActions.d.ts +2 -0
  497. package/dist/editor/useClipboardActions.d.ts.map +1 -0
  498. package/dist/editor/useClipboardActions.js +2 -0
  499. package/dist/editor/useClipboardActions.js.map +1 -0
  500. package/dist/editor/useColumnWindow.d.ts +2 -0
  501. package/dist/editor/useColumnWindow.d.ts.map +1 -0
  502. package/dist/editor/useColumnWindow.js +2 -0
  503. package/dist/editor/useColumnWindow.js.map +1 -0
  504. package/dist/editor/useEditorHistory.d.ts +2 -0
  505. package/dist/editor/useEditorHistory.d.ts.map +1 -0
  506. package/dist/editor/useEditorHistory.js +2 -0
  507. package/dist/editor/useEditorHistory.js.map +1 -0
  508. package/dist/editor/usePagePathEditor.d.ts +2 -0
  509. package/dist/editor/usePagePathEditor.d.ts.map +1 -0
  510. package/dist/editor/usePagePathEditor.js +2 -0
  511. package/dist/editor/usePagePathEditor.js.map +1 -0
  512. package/dist/editor/usePageTitleEditor.d.ts +2 -0
  513. package/dist/editor/usePageTitleEditor.d.ts.map +1 -0
  514. package/dist/editor/usePageTitleEditor.js +2 -0
  515. package/dist/editor/usePageTitleEditor.js.map +1 -0
  516. package/dist/editor/useTextFocusIntent.d.ts +2 -0
  517. package/dist/editor/useTextFocusIntent.d.ts.map +1 -0
  518. package/dist/editor/useTextFocusIntent.js +2 -0
  519. package/dist/editor/useTextFocusIntent.js.map +1 -0
  520. package/dist/editorClipboard.d.ts +23 -0
  521. package/dist/editorClipboard.d.ts.map +1 -0
  522. package/dist/editorClipboard.js +46 -0
  523. package/dist/editorClipboard.js.map +1 -0
  524. package/dist/fields-bridge.d.ts +26 -0
  525. package/dist/fields-bridge.d.ts.map +1 -0
  526. package/dist/fields-bridge.js +217 -0
  527. package/dist/fields-bridge.js.map +1 -0
  528. package/dist/formatDate.d.ts +8 -0
  529. package/dist/formatDate.d.ts.map +1 -0
  530. package/dist/formatDate.js +34 -0
  531. package/dist/formatDate.js.map +1 -0
  532. package/dist/grid-state.d.ts +29 -0
  533. package/dist/grid-state.d.ts.map +1 -0
  534. package/dist/grid-state.js +207 -0
  535. package/dist/grid-state.js.map +1 -0
  536. package/dist/history/commands.d.ts +29 -0
  537. package/dist/history/commands.d.ts.map +1 -0
  538. package/dist/history/commands.js +63 -0
  539. package/dist/history/commands.js.map +1 -0
  540. package/dist/history/diff.d.ts +22 -0
  541. package/dist/history/diff.d.ts.map +1 -0
  542. package/dist/history/diff.js +259 -0
  543. package/dist/history/diff.js.map +1 -0
  544. package/dist/history/transforms.d.ts +19 -0
  545. package/dist/history/transforms.d.ts.map +1 -0
  546. package/dist/history/transforms.js +69 -0
  547. package/dist/history/transforms.js.map +1 -0
  548. package/dist/history/types.d.ts +23 -0
  549. package/dist/history/types.d.ts.map +1 -0
  550. package/dist/history/types.js +11 -0
  551. package/dist/history/types.js.map +1 -0
  552. package/dist/host-services.d.ts +57 -0
  553. package/dist/host-services.d.ts.map +1 -0
  554. package/dist/host-services.js +2 -0
  555. package/dist/host-services.js.map +1 -0
  556. package/dist/iconCatalog.d.ts +16 -0
  557. package/dist/iconCatalog.d.ts.map +1 -0
  558. package/dist/iconCatalog.js +32 -0
  559. package/dist/iconCatalog.js.map +1 -0
  560. package/dist/index.d.ts +33 -0
  561. package/dist/index.d.ts.map +1 -0
  562. package/dist/index.js +26 -0
  563. package/dist/index.js.map +1 -0
  564. package/dist/insert-menu.d.ts +17 -0
  565. package/dist/insert-menu.d.ts.map +1 -0
  566. package/dist/insert-menu.js +35 -0
  567. package/dist/insert-menu.js.map +1 -0
  568. package/dist/model/bind-map.d.ts +6 -0
  569. package/dist/model/bind-map.d.ts.map +1 -0
  570. package/dist/model/bind-map.js +6 -0
  571. package/dist/model/bind-map.js.map +1 -0
  572. package/dist/model/layout-columns.d.ts +51 -0
  573. package/dist/model/layout-columns.d.ts.map +1 -0
  574. package/dist/model/layout-columns.js +74 -0
  575. package/dist/model/layout-columns.js.map +1 -0
  576. package/dist/model/page-topology.d.ts +20 -0
  577. package/dist/model/page-topology.d.ts.map +1 -0
  578. package/dist/model/page-topology.js +94 -0
  579. package/dist/model/page-topology.js.map +1 -0
  580. package/dist/model/page-tree-bridge.d.ts +81 -0
  581. package/dist/model/page-tree-bridge.d.ts.map +1 -0
  582. package/dist/model/page-tree-bridge.js +234 -0
  583. package/dist/model/page-tree-bridge.js.map +1 -0
  584. package/dist/model/prop-access.d.ts +69 -0
  585. package/dist/model/prop-access.d.ts.map +1 -0
  586. package/dist/model/prop-access.js +94 -0
  587. package/dist/model/prop-access.js.map +1 -0
  588. package/dist/mount.d.ts +25 -0
  589. package/dist/mount.d.ts.map +1 -0
  590. package/dist/mount.js +26 -0
  591. package/dist/mount.js.map +1 -0
  592. package/dist/page-actions.d.ts +26 -0
  593. package/dist/page-actions.d.ts.map +1 -0
  594. package/dist/page-actions.js +118 -0
  595. package/dist/page-actions.js.map +1 -0
  596. package/dist/pageActions.d.ts +4 -0
  597. package/dist/pageActions.d.ts.map +1 -0
  598. package/dist/pageActions.js +4 -0
  599. package/dist/pageActions.js.map +1 -0
  600. package/dist/pagePaths.d.ts +30 -0
  601. package/dist/pagePaths.d.ts.map +1 -0
  602. package/dist/pagePaths.js +102 -0
  603. package/dist/pagePaths.js.map +1 -0
  604. package/dist/pagesActions.d.ts +60 -0
  605. package/dist/pagesActions.d.ts.map +1 -0
  606. package/dist/pagesActions.js +216 -0
  607. package/dist/pagesActions.js.map +1 -0
  608. package/dist/preview-auth.d.ts +29 -0
  609. package/dist/preview-auth.d.ts.map +1 -0
  610. package/dist/preview-auth.js +18 -0
  611. package/dist/preview-auth.js.map +1 -0
  612. package/dist/renderActions.d.ts +30 -0
  613. package/dist/renderActions.d.ts.map +1 -0
  614. package/dist/renderActions.js +2 -0
  615. package/dist/renderActions.js.map +1 -0
  616. package/dist/translation.d.ts +78 -0
  617. package/dist/translation.d.ts.map +1 -0
  618. package/dist/translation.js +64 -0
  619. package/dist/translation.js.map +1 -0
  620. package/dist/types.d.ts +128 -0
  621. package/dist/types.d.ts.map +1 -0
  622. package/dist/types.js +2 -0
  623. package/dist/types.js.map +1 -0
  624. package/dist/useCanvasBackStack.d.ts +19 -0
  625. package/dist/useCanvasBackStack.d.ts.map +1 -0
  626. package/dist/useCanvasBackStack.js +49 -0
  627. package/dist/useCanvasBackStack.js.map +1 -0
  628. package/dist/useCanvasCamera.d.ts +37 -0
  629. package/dist/useCanvasCamera.d.ts.map +1 -0
  630. package/dist/useCanvasCamera.js +247 -0
  631. package/dist/useCanvasCamera.js.map +1 -0
  632. package/dist/useCanvasFocus.d.ts +32 -0
  633. package/dist/useCanvasFocus.d.ts.map +1 -0
  634. package/dist/useCanvasFocus.js +114 -0
  635. package/dist/useCanvasFocus.js.map +1 -0
  636. package/dist/useCanvasKeyboardNav.d.ts +32 -0
  637. package/dist/useCanvasKeyboardNav.d.ts.map +1 -0
  638. package/dist/useCanvasKeyboardNav.js +185 -0
  639. package/dist/useCanvasKeyboardNav.js.map +1 -0
  640. package/dist/useClipboardActions.d.ts +37 -0
  641. package/dist/useClipboardActions.d.ts.map +1 -0
  642. package/dist/useClipboardActions.js +126 -0
  643. package/dist/useClipboardActions.js.map +1 -0
  644. package/dist/useColumnWindow.d.ts +29 -0
  645. package/dist/useColumnWindow.d.ts.map +1 -0
  646. package/dist/useColumnWindow.js +80 -0
  647. package/dist/useColumnWindow.js.map +1 -0
  648. package/dist/useEditorHistory.d.ts +18 -0
  649. package/dist/useEditorHistory.d.ts.map +1 -0
  650. package/dist/useEditorHistory.js +91 -0
  651. package/dist/useEditorHistory.js.map +1 -0
  652. package/dist/usePagePathEditor.d.ts +36 -0
  653. package/dist/usePagePathEditor.d.ts.map +1 -0
  654. package/dist/usePagePathEditor.js +163 -0
  655. package/dist/usePagePathEditor.js.map +1 -0
  656. package/dist/usePageTitleEditor.d.ts +17 -0
  657. package/dist/usePageTitleEditor.d.ts.map +1 -0
  658. package/dist/usePageTitleEditor.js +101 -0
  659. package/dist/usePageTitleEditor.js.map +1 -0
  660. package/dist/useTextFocusIntent.d.ts +13 -0
  661. package/dist/useTextFocusIntent.d.ts.map +1 -0
  662. package/dist/useTextFocusIntent.js +70 -0
  663. package/dist/useTextFocusIntent.js.map +1 -0
  664. package/package.json +58 -0
  665. package/styles/index.css +196 -0
  666. package/styles/preview-auth.css +17 -0
@@ -0,0 +1,216 @@
1
+ import { findBlock, insertBlocksToColumn, LAYOUT_BLOCK_TYPE, layoutItems, moveBlockToColumn, moveBlockToTopLevel, removeBlock, } from "./page-actions.js";
2
+ import { createPage as createEditorPage, descendantPageIds, joinPagePath, normalizePagePath, splitPagePath, uniquePagePath, } from "./pagePaths.js";
3
+ import { deriveCanvasPageParents } from "@batterai/contract";
4
+ import { insertNodesAt, pullNodeInto, substituteNode, swapNodes } from "./model/page-tree-bridge.js";
5
+ export { descendantPageIds } from "./pagePaths.js";
6
+ export { createEditorPage as createPage, joinPagePath, normalizePagePath, splitPagePath, uniquePagePath, };
7
+ /**
8
+ * Multi-page canvas layer: every page on the board is in memory at once and
9
+ * block/column ids are unique across pages, so operations locate the owning
10
+ * page by id and delegate to the single-page actions in pageActions.ts.
11
+ */
12
+ export function pageOfBlock(pages, blockId) {
13
+ if (!blockId)
14
+ return null;
15
+ return pages.find((page) => findBlock(page, blockId) !== null) ?? null;
16
+ }
17
+ export function pageOfColumn(pages, columnId) {
18
+ return (pages.find((page) => page.root.some((block) => block.kind === "block" && layoutItems(block).some((column) => column.id === columnId))) ?? null);
19
+ }
20
+ export function findBlockInPages(pages, blockId) {
21
+ const page = pageOfBlock(pages, blockId);
22
+ return page ? findBlock(page, blockId) : null;
23
+ }
24
+ export function updatePage(pages, pageId, fn) {
25
+ return pages.map((page) => (page.id === pageId ? fn(page) : page));
26
+ }
27
+ export function canUsePageAsParent(pages, pageId, parentId) {
28
+ if (!parentId)
29
+ return true;
30
+ if (parentId === pageId)
31
+ return false;
32
+ return !descendantPageIds(pages, pageId).has(parentId);
33
+ }
34
+ function reserveUniquePath(requestedPath, usedPaths) {
35
+ const normalized = normalizePagePath(requestedPath);
36
+ if (!usedPaths.has(normalized)) {
37
+ usedPaths.add(normalized);
38
+ return normalized;
39
+ }
40
+ const { parentPath, segment } = splitPagePath(normalized);
41
+ const baseSegment = segment || "page";
42
+ let counter = 2;
43
+ let candidate = joinPagePath(parentPath ?? "/", `${baseSegment}-${counter}`);
44
+ while (usedPaths.has(candidate)) {
45
+ counter += 1;
46
+ candidate = joinPagePath(parentPath ?? "/", `${baseSegment}-${counter}`);
47
+ }
48
+ usedPaths.add(candidate);
49
+ return candidate;
50
+ }
51
+ export function updatePagePathCascade(pages, pageId, parentId, requestedPath) {
52
+ const hierarchyPages = deriveCanvasPageParents(pages);
53
+ const target = hierarchyPages.find((page) => page.id === pageId);
54
+ if (!target)
55
+ return { pages, changes: [] };
56
+ const nextParentId = parentId && hierarchyPages.some((page) => page.id === parentId) ? parentId : null;
57
+ if (!canUsePageAsParent(hierarchyPages, pageId, nextParentId))
58
+ return { pages, changes: [] };
59
+ const subtreeIds = descendantPageIds(hierarchyPages, pageId);
60
+ subtreeIds.add(pageId);
61
+ const usedPaths = new Set(hierarchyPages
62
+ .filter((page) => !subtreeIds.has(page.id))
63
+ .map((page) => normalizePagePath(page.path)));
64
+ const childrenByParent = new Map();
65
+ for (const page of hierarchyPages) {
66
+ if (!page.parentId)
67
+ continue;
68
+ const children = childrenByParent.get(page.parentId) ?? [];
69
+ children.push(page);
70
+ childrenByParent.set(page.parentId, children);
71
+ }
72
+ const updated = new Map();
73
+ const targetPath = reserveUniquePath(requestedPath, usedPaths);
74
+ updated.set(pageId, { ...target, parentId: nextParentId, path: targetPath });
75
+ const queue = [pageId];
76
+ for (const parentPageId of queue) {
77
+ const parentPage = updated.get(parentPageId);
78
+ if (!parentPage)
79
+ continue;
80
+ for (const child of childrenByParent.get(parentPageId) ?? []) {
81
+ const childSegment = splitPagePath(child.path).segment || child.id;
82
+ const childPath = reserveUniquePath(joinPagePath(parentPage.path, childSegment), usedPaths);
83
+ updated.set(child.id, { ...child, path: childPath });
84
+ queue.push(child.id);
85
+ }
86
+ }
87
+ const changes = [];
88
+ const nextPages = hierarchyPages.map((page) => {
89
+ const nextPage = updated.get(page.id);
90
+ if (!nextPage)
91
+ return page;
92
+ const before = normalizePagePath(page.path);
93
+ const after = normalizePagePath(nextPage.path);
94
+ if (before !== after)
95
+ changes.push({ pageId: page.id, before, after });
96
+ return nextPage;
97
+ });
98
+ return { pages: deriveCanvasPageParents(nextPages), changes };
99
+ }
100
+ /** Apply a single-page action to whichever page owns the block; no-op when
101
+ * the block is not on the board. */
102
+ export function updateOwningPage(pages, blockId, fn) {
103
+ const owner = pageOfBlock(pages, blockId);
104
+ return owner ? updatePage(pages, owner.id, fn) : pages;
105
+ }
106
+ /** Apply a single-page action to whichever page owns the layout column. */
107
+ export function updatePageOwningColumn(pages, columnId, fn) {
108
+ const owner = pageOfColumn(pages, columnId);
109
+ return owner ? updatePage(pages, owner.id, fn) : pages;
110
+ }
111
+ /** Move a block to a top-level position, possibly on another page. */
112
+ export function moveBlockToPageIndex(pages, blockId, targetPageId, index) {
113
+ const source = pageOfBlock(pages, blockId);
114
+ if (!source)
115
+ return pages;
116
+ if (source.id === targetPageId) {
117
+ return updatePage(pages, targetPageId, (page) => moveBlockToTopLevel(page, blockId, index));
118
+ }
119
+ const block = findBlock(source, blockId);
120
+ if (!block)
121
+ return pages;
122
+ const withoutSource = updatePage(pages, source.id, (page) => removeBlock(page, blockId));
123
+ return updatePage(withoutSource, targetPageId, (page) => insertNodesAt(page, null, index, [block]));
124
+ }
125
+ /** Is this the id of a top-level (not column-nested) block on any page? */
126
+ export function isTopLevelBlock(pages, blockId) {
127
+ return pages.some((page) => page.root.some((block) => block.id === blockId));
128
+ }
129
+ /**
130
+ * Can a placed block be dropped ON TOP of another for the swap/replace choice?
131
+ * The blocks may sit anywhere — top level or inside a column, same or different
132
+ * page. The one hard rule is that a layout block can never live inside a column
133
+ * (layouts don't nest), so a swap/replace that would move a layout block into a
134
+ * column slot is rejected. Same block, or an unknown id, is never valid.
135
+ */
136
+ export function canDropBlockOnBlock(pages, sourceId, targetId) {
137
+ if (sourceId === targetId)
138
+ return false;
139
+ const source = findBlockInPages(pages, sourceId);
140
+ const target = findBlockInPages(pages, targetId);
141
+ if (!source || !target)
142
+ return false;
143
+ const sourceNested = !isTopLevelBlock(pages, sourceId);
144
+ const targetNested = !isTopLevelBlock(pages, targetId);
145
+ // Either move would drop a layout block into a column slot — not allowed.
146
+ if (source.blockType === LAYOUT_BLOCK_TYPE && targetNested)
147
+ return false;
148
+ if (target.blockType === LAYOUT_BLOCK_TYPE && sourceNested)
149
+ return false;
150
+ return true;
151
+ }
152
+ /**
153
+ * Swap two blocks' positions (the "Swap" drop choice). Both are kept; each
154
+ * takes the other's slot — top level, inside a column, or on a different page.
155
+ * Each page substitutes whichever of the two ids it owns (block ids are unique
156
+ * across pages), the slot preserved by `page-tree.ts`'s `replacePageNode` — so
157
+ * no index math and no second tree walker.
158
+ */
159
+ export function swapBlocks(pages, aId, bId) {
160
+ if (!canDropBlockOnBlock(pages, aId, bId))
161
+ return pages;
162
+ const a = findBlockInPages(pages, aId);
163
+ const b = findBlockInPages(pages, bId);
164
+ if (!a || !b)
165
+ return pages;
166
+ const pageA = pageOfBlock(pages, aId);
167
+ const pageB = pageOfBlock(pages, bId);
168
+ // Same page: one single-pass swap (safe against the two-substitute
169
+ // double-match). Across pages: each page holds only one id, so substituting
170
+ // both targets on every page swaps them with no collision.
171
+ if (pageA && pageB && pageA.id === pageB.id) {
172
+ return updatePage(pages, pageA.id, (page) => swapNodes(page, aId, bId));
173
+ }
174
+ return pages.map((page) => substituteNode(substituteNode(page, aId, b), bId, a));
175
+ }
176
+ /**
177
+ * Replace a block with another (the "Replace" drop choice): the dragged
178
+ * source takes the target's slot and the target is removed. The source is
179
+ * pulled out of its own slot in the same pass. Works at any nesting level and
180
+ * across pages via `page-tree.ts` (remove source, substitute at target).
181
+ */
182
+ export function replaceBlock(pages, sourceId, targetId) {
183
+ if (!canDropBlockOnBlock(pages, sourceId, targetId))
184
+ return pages;
185
+ const source = findBlockInPages(pages, sourceId);
186
+ if (!source)
187
+ return pages;
188
+ // Same page: remove-and-substitute in one root pass. Across pages: drop the
189
+ // source on its page, place it in the target's slot on the target's page.
190
+ const sourcePage = pageOfBlock(pages, sourceId);
191
+ const targetPage = pageOfBlock(pages, targetId);
192
+ if (sourcePage && targetPage && sourcePage.id === targetPage.id) {
193
+ return updatePage(pages, sourcePage.id, (page) => pullNodeInto(page, sourceId, targetId, source));
194
+ }
195
+ const withoutSource = sourcePage
196
+ ? updatePage(pages, sourcePage.id, (page) => removeBlock(page, sourceId))
197
+ : pages;
198
+ return withoutSource.map((page) => substituteNode(page, targetId, source));
199
+ }
200
+ /** Move a block into a layout column, possibly on another page. Layout
201
+ * blocks never nest, regardless of the target page. */
202
+ export function moveBlockToColumnInPages(pages, blockId, columnId, index) {
203
+ const source = pageOfBlock(pages, blockId);
204
+ const target = pageOfColumn(pages, columnId);
205
+ if (!source || !target)
206
+ return pages;
207
+ const block = findBlock(source, blockId);
208
+ if (!block || block.blockType === LAYOUT_BLOCK_TYPE)
209
+ return pages;
210
+ if (source.id === target.id) {
211
+ return updatePage(pages, target.id, (page) => moveBlockToColumn(page, blockId, columnId, index));
212
+ }
213
+ const withoutSource = updatePage(pages, source.id, (page) => removeBlock(page, blockId));
214
+ return updatePage(withoutSource, target.id, (page) => insertBlocksToColumn(page, columnId, index, [block]));
215
+ }
216
+ //# sourceMappingURL=pagesActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagesActions.js","sourceRoot":"","sources":["../src/pagesActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { CanvasPage, EditorShellContent, EditorShellPreviewUser } from "./types";
2
+ export type EditorPreviewAuthConfig<Content extends EditorShellContent = EditorShellContent, User extends EditorShellPreviewUser<Content> = EditorShellPreviewUser<Content>> = {
3
+ homepagePageId?: string;
4
+ loginPageId?: string;
5
+ loginRouteId?: string;
6
+ users?: (content: Content) => readonly User[];
7
+ loadUserId?: () => string | null;
8
+ storeUserId?: (id: string | null) => void;
9
+ isProtectedPage?: (page: CanvasPage) => boolean;
10
+ isPreviewPage?: (page: CanvasPage, content: Content) => boolean;
11
+ contentForUser?: (content: Content, user: User) => Content;
12
+ lockedTitle?: string;
13
+ lockedDescription?: string;
14
+ };
15
+ export type ResolvedEditorPreviewAuth<Content extends EditorShellContent = EditorShellContent, User extends EditorShellPreviewUser<Content> = EditorShellPreviewUser<Content>> = {
16
+ homepagePageId: string;
17
+ loginPageId: string;
18
+ loginRouteId?: string;
19
+ users: (content: Content) => readonly User[];
20
+ loadUserId: () => string | null;
21
+ storeUserId: (id: string | null) => void;
22
+ isProtectedPage: (page: CanvasPage) => boolean;
23
+ isPreviewPage: (page: CanvasPage, content: Content) => boolean;
24
+ contentForUser: (content: Content, user: User) => Content;
25
+ lockedTitle: string;
26
+ lockedDescription: string;
27
+ };
28
+ export declare function resolvePreviewAuth<Content extends EditorShellContent, User extends EditorShellPreviewUser<Content>>(config: EditorPreviewAuthConfig<Content, User> | undefined): ResolvedEditorPreviewAuth<Content, User>;
29
+ //# sourceMappingURL=preview-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-auth.d.ts","sourceRoot":"","sources":["../src/preview-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtF,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,IAAI,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAC5E;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAChE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,IAAI,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAC5E;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAC/D,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,SAAS,kBAAkB,EAClC,IAAI,SAAS,sBAAsB,CAAC,OAAO,CAAC,EAE5C,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,GACzD,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAmB1C"}
@@ -0,0 +1,18 @@
1
+ export function resolvePreviewAuth(config) {
2
+ return {
3
+ homepagePageId: config?.homepagePageId ?? "home",
4
+ loginPageId: config?.loginPageId ?? "login",
5
+ loginRouteId: config?.loginRouteId,
6
+ users: config?.users ?? (() => []),
7
+ loadUserId: config?.loadUserId ?? (() => null),
8
+ storeUserId: config?.storeUserId ?? (() => undefined),
9
+ isProtectedPage: config?.isProtectedPage ?? (() => false),
10
+ isPreviewPage: config?.isPreviewPage ?? (() => false),
11
+ contentForUser: config?.contentForUser ??
12
+ ((content, user) => ({ ...content, ...(user.content ?? {}) })),
13
+ lockedTitle: config?.lockedTitle ?? "Sign-in required",
14
+ lockedDescription: config?.lockedDescription ??
15
+ "This page depends on the signed-in visitor and is hidden until preview sign-in.",
16
+ };
17
+ }
18
+ //# sourceMappingURL=preview-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-auth.js","sourceRoot":"","sources":["../src/preview-auth.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,kBAAkB,CAIhC,MAA0D;IAE1D,OAAO;QACL,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,MAAM;QAChD,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,OAAO;QAC3C,YAAY,EAAE,MAAM,EAAE,YAAY;QAClC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAClC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC9C,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACrD,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACzD,aAAa,EACX,MAAM,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACxC,cAAc,EACZ,MAAM,EAAE,cAAc;YACtB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAY,CAAC;QAC3E,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,kBAAkB;QACtD,iBAAiB,EACf,MAAM,EAAE,iBAAiB;YACzB,iFAAiF;KACpF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ReactNode } from "react";
2
+ import type { CollectionItem, EditorShellContent, EditorShellPreviewUser } from "./types";
3
+ import type { CanvasContentBinding } from "@batterai/contract";
4
+ export type RendererActions<Content extends EditorShellContent = EditorShellContent> = {
5
+ /** Content item selected at page level. Custom host renderers use this to
6
+ * resolve non-text fields such as galleries and prices against the exact
7
+ * same inherited instance that inline binding edits use. */
8
+ pageContentBinding?: CanvasContentBinding;
9
+ /** Inline icon edit for service-card blocks. Kept specific so rendered
10
+ * blocks do not grow a general prop mutation surface. */
11
+ onEditServiceCardIcon?: (blockId: string, iconId: string) => void;
12
+ /** Clicking a list item (any collection) jumps to that collection's
13
+ * detail template page and shows the clicked item there. */
14
+ onOpenCollectionItem?: (collection: string, itemId: string) => void;
15
+ /** Commit a structured edit to a CMS collection item (e.g. the detail
16
+ * template's controlled-vocabulary chips: category, meta). Same channel as
17
+ * the inspector item panel, so every list/template showing it updates. */
18
+ onEditCollectionItem?: (collection: string, itemId: string, patch: Partial<CollectionItem>) => void;
19
+ /** View-state (not content): which item each detail template currently
20
+ * previews, keyed by collection name. Falls back to the first item. */
21
+ collectionPreviewItems?: Record<string, string>;
22
+ /** Preview-only visitor sign-in; real host auth stays outside the shell. */
23
+ onPreviewLogin?: (user: EditorShellPreviewUser<Content>) => void;
24
+ /** The "+ add item" affordance for a collection-list block. The harness
25
+ * builds it (so every list gets the same control) and hands it in ONLY
26
+ * when this block is the active/selected one; the block decides WHERE to
27
+ * render it. Absent otherwise, so the block shows nothing. */
28
+ addItemControl?: ReactNode;
29
+ };
30
+ //# sourceMappingURL=renderActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderActions.d.ts","sourceRoot":"","sources":["../src/renderActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IACrF;;gEAE4D;IAC5D,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C;6DACyD;IACzD,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE;gEAC4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;;8EAE0E;IAC1E,oBAAoB,CAAC,EAAE,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,KAC3B,IAAI,CAAC;IACV;2EACuE;IACvE,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE;;;kEAG8D;IAC9D,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=renderActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderActions.js","sourceRoot":"","sources":["../src/renderActions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,78 @@
1
+ import type { BindingEntry, BindingToken } from "./bindingChips";
2
+ export type Locale = string;
3
+ export declare const BASE_LOCALE: Locale;
4
+ export declare const AVAILABLE_LOCALES: readonly Locale[];
5
+ export declare const LOCALE_LABELS: Record<Locale, string>;
6
+ /** locale -> "<blockId>:<field>" -> translated text. Base locale is never
7
+ * stored here — it lives directly on block.props. Non-base overrides are
8
+ * loaded from and saved to the host CMS content surface. */
9
+ export type TranslationStore = Partial<Record<Locale, Record<string, string>>>;
10
+ export type BindingTextEdit = {
11
+ readonly token: BindingToken;
12
+ readonly value: string;
13
+ };
14
+ export declare function translationKey(blockId: string, field: string): string;
15
+ export type PendingTextFocus = {
16
+ id: number;
17
+ blockId: string;
18
+ field: string;
19
+ clientX: number;
20
+ clientY: number;
21
+ };
22
+ /** Shared language state exposed to site/block UI. Blocks own the presentation
23
+ * (tabs, a select, a menu, flags, etc.); Canvas owns the state so every picker
24
+ * stays synchronized with the global toolbar control. */
25
+ export type CanvasLanguageController = {
26
+ readonly activeLocale: Locale;
27
+ readonly availableLocales: readonly Locale[];
28
+ readonly changeLocale: (locale: Locale) => void;
29
+ };
30
+ export type EditorRuntime = {
31
+ editMode: boolean;
32
+ globalEditMode: boolean;
33
+ contentBindingMode: boolean;
34
+ activeLocale: Locale;
35
+ readonly language: CanvasLanguageController;
36
+ isBaseLocale: boolean;
37
+ /** Path of the page this block tree is rendered on. Used by the site header
38
+ * to highlight the nav item that points at the current page. Injected
39
+ * per-page by PageFrame; undefined outside a page frame. */
40
+ currentPath?: string;
41
+ /** Resolve display text for a field: the translation override when one
42
+ * exists and we're not on the base locale, otherwise the base value. */
43
+ getText: (blockId: string, field: string, baseValue: string) => string;
44
+ /** Whether the active (non-base) locale has an explicit override. */
45
+ isOverridden: (blockId: string, field: string) => boolean;
46
+ /** Commit an edit: writes to block.props on the base locale, or to the
47
+ * translation store otherwise. */
48
+ onEditText: (blockId: string, field: string, value: string) => void;
49
+ onTextFocusChange: (focused: boolean) => void;
50
+ /** Content-item fields available at this text caret. Used by the Canvas
51
+ * inline @ picker; empty means the block has no active item context. */
52
+ bindingEntriesFor: (blockId: string) => BindingEntry[];
53
+ /** Resolve a stored binding chip to the current item value for rendering. */
54
+ resolveBinding: (blockId: string, token: BindingToken) => string | null;
55
+ /** Commit an inline edit made inside a resolved binding chip. */
56
+ onEditBinding: (blockId: string, token: BindingToken, value: string) => void;
57
+ /** Commit a page text edit and resolved binding-chip edits atomically. */
58
+ onEditTextWithBindings: (blockId: string, field: string, value: string, bindingEdits: readonly BindingTextEdit[]) => void;
59
+ pendingTextFocus?: PendingTextFocus | null;
60
+ onPendingTextFocusHandled?: (id: number) => void;
61
+ requestTextFocus?: (focus: Omit<PendingTextFocus, "id">) => void;
62
+ };
63
+ export declare function createEditorRuntime(params: {
64
+ editMode: boolean;
65
+ activeLocale: Locale;
66
+ availableLocales?: readonly Locale[];
67
+ onLocaleChange?: (locale: Locale) => void;
68
+ baseLocale?: Locale;
69
+ translations: TranslationStore;
70
+ onEditBaseText: (blockId: string, field: string, value: string) => void;
71
+ onEditTranslation: (locale: Locale, blockId: string, field: string, value: string) => void;
72
+ onTextFocusChange: (focused: boolean) => void;
73
+ bindingEntriesFor?: (blockId: string) => BindingEntry[];
74
+ resolveBinding?: (blockId: string, token: BindingToken) => string | null;
75
+ onEditBinding?: (blockId: string, token: BindingToken, value: string) => void;
76
+ onEditTextWithBindings?: (blockId: string, field: string, value: string, bindingEdits: readonly BindingTextEdit[]) => void;
77
+ }): EditorRuntime;
78
+ //# sourceMappingURL=translation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../src/translation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,eAAO,MAAM,WAAW,EAAE,MAAa,CAAC;AACxC,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAiB,CAAC;AAEjE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAC;AAEF;;4DAE4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;yDAEyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,YAAY,EAAE,OAAO,CAAC;IACtB;;gEAE4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;4EACwE;IACxE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,qEAAqE;IACrE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D;sCACkC;IAClC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C;4EACwE;IACxE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;IACvD,6EAA6E;IAC7E,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAC;IACxE,iEAAiE;IACjE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7E,0EAA0E;IAC1E,sBAAsB,EAAE,CACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,eAAe,EAAE,KACrC,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3F,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAC;IACzE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9E,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,eAAe,EAAE,KACrC,IAAI,CAAC;CACX,GAAG,aAAa,CAiEhB"}
@@ -0,0 +1,64 @@
1
+ export const BASE_LOCALE = "nl";
2
+ export const AVAILABLE_LOCALES = ["nl", "en"];
3
+ export const LOCALE_LABELS = {
4
+ nl: "Dutch",
5
+ en: "English",
6
+ };
7
+ export function translationKey(blockId, field) {
8
+ return `${blockId}:${field}`;
9
+ }
10
+ export function createEditorRuntime(params) {
11
+ const { editMode, activeLocale, availableLocales = [activeLocale], onLocaleChange, baseLocale = BASE_LOCALE, translations, onEditBaseText, onEditTranslation, onTextFocusChange, bindingEntriesFor, resolveBinding, onEditBinding, onEditTextWithBindings, } = params;
12
+ const isBaseLocale = activeLocale === baseLocale;
13
+ const editText = (blockId, field, value) => {
14
+ if (isBaseLocale) {
15
+ onEditBaseText(blockId, field, value);
16
+ }
17
+ else {
18
+ onEditTranslation(activeLocale, blockId, field, value);
19
+ }
20
+ };
21
+ return {
22
+ editMode,
23
+ globalEditMode: editMode,
24
+ contentBindingMode: false,
25
+ activeLocale,
26
+ language: {
27
+ activeLocale,
28
+ availableLocales,
29
+ changeLocale(locale) {
30
+ if (availableLocales.includes(locale))
31
+ onLocaleChange?.(locale);
32
+ },
33
+ },
34
+ isBaseLocale,
35
+ getText(blockId, field, baseValue) {
36
+ if (isBaseLocale)
37
+ return baseValue;
38
+ const override = translations[activeLocale]?.[translationKey(blockId, field)];
39
+ return override ?? baseValue;
40
+ },
41
+ isOverridden(blockId, field) {
42
+ if (isBaseLocale)
43
+ return false;
44
+ // Collection item renderers select the host CMS field for the active
45
+ // locale themselves (for example titleEn/titleFr). They are not
46
+ // translation-overlay fallbacks and should never receive the shell's
47
+ // untranslated marker.
48
+ if (blockId.startsWith("item:"))
49
+ return true;
50
+ return translations[activeLocale]?.[translationKey(blockId, field)] !== undefined;
51
+ },
52
+ onEditText: editText,
53
+ onTextFocusChange,
54
+ bindingEntriesFor: bindingEntriesFor ?? (() => []),
55
+ resolveBinding: resolveBinding ?? (() => null),
56
+ onEditBinding: onEditBinding ?? (() => undefined),
57
+ onEditTextWithBindings: onEditTextWithBindings ??
58
+ ((blockId, field, value, bindingEdits) => {
59
+ bindingEdits.forEach((edit) => onEditBinding?.(blockId, edit.token, edit.value));
60
+ editText(blockId, field, value);
61
+ }),
62
+ };
63
+ }
64
+ //# sourceMappingURL=translation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.js","sourceRoot":"","sources":["../src/translation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import type { BlockNode } from "@batterai/bind-core";
2
+ import type { LicenseEvaluation } from "@batterai/trust";
3
+ import type { BlockDefinition, BlockDesignSettings, BlockField, BlockLibrary, BlockPreset, BoxSideSettings, FieldOption, FieldType, GridConfig, SharedBlock } from "@batterai/canvas";
4
+ import type { CanvasDocument } from "@batterai/contract";
5
+ import type { ComponentType, ElementType } from "react";
6
+ export type EditorShellRoute = {
7
+ id: string;
8
+ label: string;
9
+ path: string;
10
+ };
11
+ export type EditorShellMediaAsset = {
12
+ id: string;
13
+ alt: string;
14
+ source?: string;
15
+ title: string;
16
+ url: string;
17
+ };
18
+ export type EditorShellSharedBlock = {
19
+ id: string;
20
+ label: string;
21
+ block: BlockNode;
22
+ };
23
+ export type EditorShellSiteMetadata = {
24
+ title?: string;
25
+ editorTranslationEnabled?: boolean;
26
+ editorBaseLocale?: string;
27
+ editorLocales?: string[];
28
+ };
29
+ export type EditorShellTranslations = Partial<Record<string, Record<string, string>>>;
30
+ export type EditorShellLicenseState = LicenseEvaluation;
31
+ export type EditorShellContent = Record<string, unknown> & {
32
+ media: EditorShellMediaAsset[];
33
+ routes: EditorShellRoute[];
34
+ sharedBlocks?: EditorShellSharedBlock[];
35
+ siteMetadata?: EditorShellSiteMetadata;
36
+ translations?: EditorShellTranslations;
37
+ };
38
+ export type EditorShellCollectionItem = Record<string, unknown> & {
39
+ id: string;
40
+ title?: string;
41
+ date?: string;
42
+ category?: string;
43
+ excerpt?: string;
44
+ body?: string | string[];
45
+ meta?: string[];
46
+ imageId?: string;
47
+ slug?: string;
48
+ };
49
+ export type EditorShellCollectionField = Record<string, unknown> & {
50
+ name: string;
51
+ label?: {
52
+ nl?: string;
53
+ en?: string;
54
+ } | Record<string, string>;
55
+ valueType?: string;
56
+ cardinality?: string;
57
+ };
58
+ export type EditorShellPreviewUser<Content extends EditorShellContent = EditorShellContent> = Record<string, unknown> & {
59
+ id: string;
60
+ name: string;
61
+ email?: string;
62
+ hint?: string;
63
+ content?: Partial<Content>;
64
+ };
65
+ export type EditorShellStatus = {
66
+ adapter?: string;
67
+ connected?: boolean;
68
+ license?: EditorShellLicenseState;
69
+ product?: string;
70
+ runtimeModel?: string;
71
+ source?: string;
72
+ version?: string;
73
+ lastSyncedAt?: string;
74
+ };
75
+ export type { CanvasContentBinding, CanvasPage } from "@batterai/contract";
76
+ export type EditorShellValidationIssue = {
77
+ severity: "error" | "warning";
78
+ message: string;
79
+ blockId?: string;
80
+ };
81
+ export type EditorShellBootstrap<Content extends EditorShellContent = EditorShellContent> = {
82
+ content: Content;
83
+ contentTypes: import("@batterai/bind-core").ContentType[];
84
+ document: CanvasDocument;
85
+ library: BlockLibrary;
86
+ pageStates?: Readonly<Record<string, import("@batterai/contract").HostPageState>>;
87
+ capabilities?: import("@batterai/contract").CanvasCapabilities;
88
+ documentConcurrency?: import("@batterai/contract").HostConcurrencyToken;
89
+ status: EditorShellStatus;
90
+ };
91
+ export type { BlockDefinition, BlockDesignSettings, BlockField, BlockLibrary, BlockPreset, BoxSideSettings, FieldOption, FieldType, GridConfig, SharedBlock, };
92
+ export type CmsStatus = EditorShellStatus;
93
+ export type CmsRoute = EditorShellRoute;
94
+ export type MediaAsset = EditorShellMediaAsset;
95
+ export type CollectionItem = EditorShellCollectionItem;
96
+ export type CollectionFieldDef = EditorShellCollectionField;
97
+ export type CmsTranslations = EditorShellTranslations;
98
+ export type CmsContent = EditorShellContent;
99
+ export type CmsBootstrap = EditorShellBootstrap<CmsContent>;
100
+ export type ValidationIssue = EditorShellValidationIssue;
101
+ export type SiteMetadata = EditorShellSiteMetadata;
102
+ export type PortalUser = EditorShellPreviewUser<CmsContent>;
103
+ export type GenericRendererRuntime = {
104
+ editMode: boolean;
105
+ activeLocale: string;
106
+ /** Optional for delivery-only runtimes. Editor runtimes expose this so a
107
+ * block-designed picker can share Canvas's global language state. */
108
+ language?: {
109
+ readonly activeLocale: string;
110
+ readonly availableLocales: readonly string[];
111
+ readonly changeLocale: (locale: string) => void;
112
+ };
113
+ currentPath?: string;
114
+ };
115
+ export type ShellEditableTextProps<Runtime extends GenericRendererRuntime> = {
116
+ runtime: Runtime;
117
+ blockId: string;
118
+ field: string;
119
+ value: unknown;
120
+ fallback?: string;
121
+ as?: ElementType;
122
+ className?: string;
123
+ multiline?: boolean;
124
+ translatableOnly?: boolean;
125
+ commitOnInput?: boolean;
126
+ };
127
+ export type ShellEditableTextComponent<Runtime extends GenericRendererRuntime> = ComponentType<ShellEditableTextProps<Runtime>>;
128
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}