@drawnagency/primitives 0.1.113 → 0.1.115

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 (534) hide show
  1. package/README.md +1 -1
  2. package/dist/auth/cookies.d.ts +39 -0
  3. package/dist/auth/cookies.d.ts.map +1 -1
  4. package/dist/auth/index.js +3 -3
  5. package/dist/chunk-4WQ36ZP7.js +83 -0
  6. package/dist/{chunk-REDDTTGJ.js → chunk-4Y2JQQZL.js} +19 -1
  7. package/dist/chunk-5GFACGSN.js +6 -0
  8. package/dist/{chunk-AHALSCQH.js → chunk-67P34WNW.js} +76 -131
  9. package/dist/{chunk-S2L3BPLS.js → chunk-7SX42OP4.js} +1 -1
  10. package/dist/{chunk-GGXZZ77Z.js → chunk-AASEGXNT.js} +18 -1
  11. package/dist/chunk-APIJPTFG.js +64 -0
  12. package/dist/{chunk-WKZ7OENC.js → chunk-BQ5TZZUE.js} +5 -1
  13. package/dist/chunk-CDBURDPX.js +90 -0
  14. package/dist/chunk-DFKTF3CH.js +0 -0
  15. package/dist/chunk-DIMDRBFK.js +11 -0
  16. package/dist/chunk-DJABADOO.js +131 -0
  17. package/dist/{chunk-NHN2LSIU.js → chunk-DJOGPSRU.js} +31 -68
  18. package/dist/{chunk-KR2MHTNJ.js → chunk-FHTKSELX.js} +610 -62
  19. package/dist/{chunk-WUJ3XNFI.js → chunk-GGYY3JQJ.js} +19 -24
  20. package/dist/chunk-GNF6KFQ7.js +18 -0
  21. package/dist/{chunk-FRE2CCLV.js → chunk-HHNPSKPT.js} +5 -79
  22. package/dist/{chunk-IINIZBQB.js → chunk-JCDZAFX2.js} +30 -10
  23. package/dist/chunk-JR24U7FJ.js +120 -0
  24. package/dist/{chunk-BDFTMGCL.js → chunk-JXATNKLV.js} +11 -10
  25. package/dist/{chunk-SW6PCQQD.js → chunk-KQA772WQ.js} +2 -1
  26. package/dist/{chunk-6BZ2KNTP.js → chunk-NX7TFHA4.js} +195 -65
  27. package/dist/{chunk-VWWY5TL5.js → chunk-O37AV27P.js} +14 -75
  28. package/dist/chunk-RIITGTV3.js +275 -0
  29. package/dist/{chunk-HBULBDGP.js → chunk-S37DZPHW.js} +1 -1
  30. package/dist/chunk-S7QRHUWO.js +8 -0
  31. package/dist/{chunk-Z7W3DQTR.js → chunk-T26HAKW3.js} +424 -42
  32. package/dist/{chunk-4I5OO5UB.js → chunk-TEOAKGZA.js} +0 -1
  33. package/dist/{chunk-GPPVYLEI.js → chunk-UUUSJDIG.js} +1 -1
  34. package/dist/chunk-VY3IFGE3.js +70 -0
  35. package/dist/chunk-WYOFQHKI.js +176 -0
  36. package/dist/{chunk-4RNF2DRG.js → chunk-XDEPXTBY.js} +0 -2
  37. package/dist/{chunk-DS4GCYV2.js → chunk-YV3YSZEB.js} +223 -16
  38. package/dist/collab/rebase.d.ts +2 -1
  39. package/dist/collab/rebase.d.ts.map +1 -1
  40. package/dist/collab/rebase.js +24 -9
  41. package/dist/components/brandguide/ColorsEditable.d.ts.map +1 -1
  42. package/dist/components/chat/ChatPanel.d.ts.map +1 -1
  43. package/dist/components/chat/ChatWidget.d.ts.map +1 -1
  44. package/dist/components/docfile/DocFilePane.d.ts.map +1 -1
  45. package/dist/components/editor/ChildBlockWrapper.d.ts.map +1 -1
  46. package/dist/components/editor/ConflictDialog.d.ts.map +1 -1
  47. package/dist/components/editor/DragHandle.d.ts +12 -2
  48. package/dist/components/editor/DragHandle.d.ts.map +1 -1
  49. package/dist/components/editor/DropEdgeIndicator.d.ts +15 -6
  50. package/dist/components/editor/DropEdgeIndicator.d.ts.map +1 -1
  51. package/dist/components/editor/NavGroupRow.d.ts +4 -1
  52. package/dist/components/editor/NavGroupRow.d.ts.map +1 -1
  53. package/dist/components/editor/PagesModal.d.ts.map +1 -1
  54. package/dist/components/editor/SectionWrapper.d.ts +1 -1
  55. package/dist/components/editor/SectionWrapper.d.ts.map +1 -1
  56. package/dist/components/editor/SettingsForm.d.ts.map +1 -1
  57. package/dist/components/editor/TagIndicator.d.ts +15 -0
  58. package/dist/components/editor/TagIndicator.d.ts.map +1 -0
  59. package/dist/components/editor/index.js +150 -79
  60. package/dist/components/primitives/DocumentDropZone.d.ts +1 -1
  61. package/dist/components/primitives/EditableGrid.d.ts.map +1 -1
  62. package/dist/components/primitives/EditableList.d.ts.map +1 -1
  63. package/dist/components/primitives/HeadingSection.d.ts +4 -1
  64. package/dist/components/primitives/HeadingSection.d.ts.map +1 -1
  65. package/dist/components/primitives/ResolvedMedia.d.ts +5 -1
  66. package/dist/components/primitives/ResolvedMedia.d.ts.map +1 -1
  67. package/dist/components/primitives/{defineHeadingSection.d.ts → define-heading-section.d.ts} +1 -1
  68. package/dist/components/primitives/define-heading-section.d.ts.map +1 -0
  69. package/dist/components/primitives/{gridDrop.d.ts → grid-drop.d.ts} +1 -1
  70. package/dist/components/primitives/grid-drop.d.ts.map +1 -0
  71. package/dist/components/primitives/index.d.ts +1 -1
  72. package/dist/components/primitives/index.d.ts.map +1 -1
  73. package/dist/components/primitives/index.js +22 -154
  74. package/dist/components/sections/Button/CTAButton.d.ts.map +1 -1
  75. package/dist/components/sections/DoDontMedia/DoDontMediaBlock.d.ts +2 -6
  76. package/dist/components/sections/DoDontMedia/DoDontMediaBlock.d.ts.map +1 -1
  77. package/dist/components/sections/DoDontMedia/index.d.ts +8 -0
  78. package/dist/components/sections/DoDontMedia/index.d.ts.map +1 -1
  79. package/dist/components/sections/IconList/IconList.d.ts +2 -1
  80. package/dist/components/sections/IconList/IconList.d.ts.map +1 -1
  81. package/dist/components/sections/IconList/IconListSettings.d.ts +2 -1
  82. package/dist/components/sections/IconList/IconListSettings.d.ts.map +1 -1
  83. package/dist/components/sections/IconList/index.d.ts +1 -0
  84. package/dist/components/sections/IconList/index.d.ts.map +1 -1
  85. package/dist/components/sections/Media/MediaBlock.d.ts +2 -1
  86. package/dist/components/sections/Media/MediaBlock.d.ts.map +1 -1
  87. package/dist/components/sections/Media/index.d.ts +8 -0
  88. package/dist/components/sections/Media/index.d.ts.map +1 -1
  89. package/dist/components/sections/Reference/ReferenceList.d.ts +35 -0
  90. package/dist/components/sections/Reference/ReferenceList.d.ts.map +1 -0
  91. package/dist/components/sections/Reference/ReferenceSettings.d.ts +12 -0
  92. package/dist/components/sections/Reference/ReferenceSettings.d.ts.map +1 -0
  93. package/dist/components/sections/Reference/index.d.ts +9 -0
  94. package/dist/components/sections/Reference/index.d.ts.map +1 -0
  95. package/dist/components/sections/SectionSummary/SectionSummaryBlock.d.ts +38 -0
  96. package/dist/components/sections/SectionSummary/SectionSummaryBlock.d.ts.map +1 -0
  97. package/dist/components/sections/SectionSummary/SectionSummarySettings.d.ts +20 -0
  98. package/dist/components/sections/SectionSummary/SectionSummarySettings.d.ts.map +1 -0
  99. package/dist/components/sections/SectionSummary/index.d.ts +33 -0
  100. package/dist/components/sections/SectionSummary/index.d.ts.map +1 -0
  101. package/dist/components/sections/all-sections.d.ts +53 -0
  102. package/dist/components/sections/all-sections.d.ts.map +1 -1
  103. package/dist/components/sections/brand-guide.d.ts +41 -2
  104. package/dist/components/sections/brand-guide.d.ts.map +1 -1
  105. package/dist/components/sections/brand-guide.js +17 -10
  106. package/dist/components/sections/core-sections.d.ts +14 -0
  107. package/dist/components/sections/core-sections.d.ts.map +1 -1
  108. package/dist/components/sections/register-schemas.js +25 -18
  109. package/dist/components/sections/register.js +25 -18
  110. package/dist/components/shared/BrandSwatchesContext.d.ts +9 -0
  111. package/dist/components/shared/BrandSwatchesContext.d.ts.map +1 -0
  112. package/dist/components/shared/Button.d.ts +11 -3
  113. package/dist/components/shared/Button.d.ts.map +1 -1
  114. package/dist/components/shared/Checkbox.d.ts +6 -0
  115. package/dist/components/shared/Checkbox.d.ts.map +1 -1
  116. package/dist/components/shared/ConfirmDialog.d.ts +25 -0
  117. package/dist/components/shared/ConfirmDialog.d.ts.map +1 -0
  118. package/dist/components/shared/ConfirmInline.d.ts +25 -0
  119. package/dist/components/shared/ConfirmInline.d.ts.map +1 -0
  120. package/dist/components/shared/ErrorBoundary.d.ts.map +1 -1
  121. package/dist/components/shared/Fab.d.ts +11 -2
  122. package/dist/components/shared/Fab.d.ts.map +1 -1
  123. package/dist/components/shared/FabStack.d.ts +22 -0
  124. package/dist/components/shared/FabStack.d.ts.map +1 -0
  125. package/dist/components/shared/HistoryChangesModal.d.ts.map +1 -1
  126. package/dist/components/shared/HistoryPopover.d.ts.map +1 -1
  127. package/dist/components/shared/ImageBackgroundField.d.ts +9 -0
  128. package/dist/components/shared/ImageBackgroundField.d.ts.map +1 -0
  129. package/dist/components/shared/{UploadRejectionAlert.d.ts → InlineAlert.d.ts} +4 -2
  130. package/dist/components/shared/InlineAlert.d.ts.map +1 -0
  131. package/dist/components/shared/Input.d.ts +10 -0
  132. package/dist/components/shared/Input.d.ts.map +1 -1
  133. package/dist/components/shared/Navigation.d.ts.map +1 -1
  134. package/dist/components/shared/Notice.d.ts +10 -0
  135. package/dist/components/shared/Notice.d.ts.map +1 -0
  136. package/dist/components/shared/Popover.d.ts.map +1 -1
  137. package/dist/components/shared/ReferenceSourcesContext.d.ts +25 -0
  138. package/dist/components/shared/ReferenceSourcesContext.d.ts.map +1 -0
  139. package/dist/components/shared/Select.d.ts +3 -2
  140. package/dist/components/shared/Select.d.ts.map +1 -1
  141. package/dist/components/shared/SplitButton.d.ts.map +1 -1
  142. package/dist/components/shared/SummaryAnchorsContext.d.ts +10 -0
  143. package/dist/components/shared/SummaryAnchorsContext.d.ts.map +1 -0
  144. package/dist/components/shared/Textarea.d.ts +7 -0
  145. package/dist/components/shared/Textarea.d.ts.map +1 -1
  146. package/dist/components/shared/ToolbarFrame.d.ts +17 -0
  147. package/dist/components/shared/ToolbarFrame.d.ts.map +1 -0
  148. package/dist/components/shared/copy.d.ts +13 -0
  149. package/dist/components/shared/copy.d.ts.map +1 -0
  150. package/dist/components/shared/icons.d.ts +0 -12
  151. package/dist/components/shared/icons.d.ts.map +1 -1
  152. package/dist/components/shell/AudienceDetailsPanel.d.ts +7 -1
  153. package/dist/components/shell/AudienceDetailsPanel.d.ts.map +1 -1
  154. package/dist/components/shell/AudienceRow.d.ts.map +1 -1
  155. package/dist/components/shell/BugReportFAB.d.ts +7 -1
  156. package/dist/components/shell/BugReportFAB.d.ts.map +1 -1
  157. package/dist/components/shell/CredentialList.d.ts.map +1 -1
  158. package/dist/components/shell/DocInspector.d.ts.map +1 -1
  159. package/dist/components/shell/DocumentEditorOverlay.d.ts.map +1 -1
  160. package/dist/components/shell/EditorContext.d.ts +4 -0
  161. package/dist/components/shell/EditorContext.d.ts.map +1 -1
  162. package/dist/components/shell/EditorLoginForm.d.ts.map +1 -1
  163. package/dist/components/shell/EditorModal.d.ts.map +1 -1
  164. package/dist/components/shell/EditorShell.d.ts.map +1 -1
  165. package/dist/components/shell/HistoryToolbar.d.ts.map +1 -1
  166. package/dist/components/shell/MediaFolderTile.d.ts +4 -1
  167. package/dist/components/shell/MediaFolderTile.d.ts.map +1 -1
  168. package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
  169. package/dist/components/shell/RestoreModal.d.ts.map +1 -1
  170. package/dist/components/shell/SiteSettingsChatbot.d.ts.map +1 -1
  171. package/dist/components/shell/SiteSettingsDisplay.d.ts.map +1 -1
  172. package/dist/components/shell/SiteSettingsModal.d.ts +3 -1
  173. package/dist/components/shell/SiteSettingsModal.d.ts.map +1 -1
  174. package/dist/components/shell/SiteSettingsTags.d.ts +13 -0
  175. package/dist/components/shell/SiteSettingsTags.d.ts.map +1 -0
  176. package/dist/components/shell/SiteSettingsUsers.d.ts.map +1 -1
  177. package/dist/components/shell/ViewerLoginForm.d.ts.map +1 -1
  178. package/dist/components/shell/{blockMoveDispatch.d.ts → block-move-dispatch.d.ts} +1 -1
  179. package/dist/components/shell/block-move-dispatch.d.ts.map +1 -0
  180. package/dist/components/shell/reference-sources.d.ts +22 -0
  181. package/dist/components/shell/reference-sources.d.ts.map +1 -0
  182. package/dist/deck/index.d.ts +2 -2
  183. package/dist/deck/index.d.ts.map +1 -1
  184. package/dist/deck/index.js +1 -3
  185. package/dist/deck-builder/index.js +10 -17
  186. package/dist/document/index.d.ts +2 -2
  187. package/dist/document/index.d.ts.map +1 -1
  188. package/dist/hooks/useBlockDnd.d.ts +11 -0
  189. package/dist/hooks/useBlockDnd.d.ts.map +1 -1
  190. package/dist/hooks/useBuildStatus.d.ts +1 -1
  191. package/dist/hooks/useBuildStatus.d.ts.map +1 -1
  192. package/dist/hooks/useDocumentUploads.d.ts +1 -1
  193. package/dist/hooks/useDocumentUploads.d.ts.map +1 -1
  194. package/dist/hooks/useEditorPersistence.d.ts +5 -1
  195. package/dist/hooks/useEditorPersistence.d.ts.map +1 -1
  196. package/dist/hooks/useEditorPublish.d.ts +6 -3
  197. package/dist/hooks/useEditorPublish.d.ts.map +1 -1
  198. package/dist/hooks/useMediaPipeline.d.ts.map +1 -1
  199. package/dist/hooks/useNotice.d.ts +19 -0
  200. package/dist/hooks/useNotice.d.ts.map +1 -0
  201. package/dist/hooks/useSortableNavRow.d.ts +11 -0
  202. package/dist/hooks/useSortableNavRow.d.ts.map +1 -1
  203. package/dist/hooks/useSortableRow.d.ts +11 -0
  204. package/dist/hooks/useSortableRow.d.ts.map +1 -1
  205. package/dist/hooks/useStackedEscape.d.ts +32 -0
  206. package/dist/hooks/useStackedEscape.d.ts.map +1 -0
  207. package/dist/index.js +95 -48
  208. package/dist/lib/audience-secret.js +2 -2
  209. package/dist/lib/block-dnd.d.ts +5 -0
  210. package/dist/lib/block-dnd.d.ts.map +1 -1
  211. package/dist/lib/block-move.d.ts.map +1 -1
  212. package/dist/lib/brand-swatches.d.ts +12 -0
  213. package/dist/lib/brand-swatches.d.ts.map +1 -0
  214. package/dist/lib/container-ops.d.ts +3 -2
  215. package/dist/lib/container-ops.d.ts.map +1 -1
  216. package/dist/lib/dexie.d.ts +7 -1
  217. package/dist/lib/dexie.d.ts.map +1 -1
  218. package/dist/lib/dexie.js +12 -3
  219. package/dist/lib/env.d.ts +4 -0
  220. package/dist/lib/env.d.ts.map +1 -1
  221. package/dist/lib/env.js +5 -3
  222. package/dist/lib/events.d.ts +1 -2
  223. package/dist/lib/events.d.ts.map +1 -1
  224. package/dist/lib/image-background.d.ts +8 -0
  225. package/dist/lib/image-background.d.ts.map +1 -0
  226. package/dist/lib/image-variant-plan.d.ts +42 -0
  227. package/dist/lib/image-variant-plan.d.ts.map +1 -0
  228. package/dist/lib/image-variant-plan.js +53 -0
  229. package/dist/lib/index-ops.d.ts.map +1 -1
  230. package/dist/lib/index-ops.js +21 -17
  231. package/dist/lib/index.d.ts +7 -4
  232. package/dist/lib/index.d.ts.map +1 -1
  233. package/dist/lib/index.js +55 -26
  234. package/dist/lib/loader.d.ts +25 -12
  235. package/dist/lib/loader.d.ts.map +1 -1
  236. package/dist/lib/media-ops.d.ts +73 -0
  237. package/dist/lib/media-ops.d.ts.map +1 -0
  238. package/dist/lib/media-ops.js +60 -0
  239. package/dist/lib/nav-tree.d.ts +7 -0
  240. package/dist/lib/nav-tree.d.ts.map +1 -1
  241. package/dist/lib/nav.d.ts +38 -0
  242. package/dist/lib/nav.d.ts.map +1 -1
  243. package/dist/lib/pages.d.ts +2 -1
  244. package/dist/lib/pages.d.ts.map +1 -1
  245. package/dist/lib/platform-broker.d.ts +4 -2
  246. package/dist/lib/platform-broker.d.ts.map +1 -1
  247. package/dist/lib/platform-broker.js +21 -13
  248. package/dist/lib/reference-type.d.ts +2 -0
  249. package/dist/lib/reference-type.d.ts.map +1 -0
  250. package/dist/lib/reference-validation.d.ts +31 -0
  251. package/dist/lib/reference-validation.d.ts.map +1 -0
  252. package/dist/lib/reference-validation.js +39 -0
  253. package/dist/lib/references.d.ts +74 -0
  254. package/dist/lib/references.d.ts.map +1 -0
  255. package/dist/lib/registry.d.ts +35 -0
  256. package/dist/lib/registry.d.ts.map +1 -1
  257. package/dist/lib/{safeRedirect.d.ts → safe-redirect.d.ts} +1 -1
  258. package/dist/lib/safe-redirect.d.ts.map +1 -0
  259. package/dist/lib/sidecar-diagnostics.d.ts +20 -0
  260. package/dist/lib/sidecar-diagnostics.d.ts.map +1 -0
  261. package/dist/lib/sidecars.d.ts +118 -0
  262. package/dist/lib/sidecars.d.ts.map +1 -0
  263. package/dist/lib/sidecars.js +23 -0
  264. package/dist/lib/slug.d.ts +2 -0
  265. package/dist/lib/slug.d.ts.map +1 -0
  266. package/dist/lib/storage-tier.d.ts +17 -0
  267. package/dist/lib/storage-tier.d.ts.map +1 -0
  268. package/dist/lib/storage-tier.js +29 -0
  269. package/dist/lib/tags.d.ts +64 -0
  270. package/dist/lib/tags.d.ts.map +1 -0
  271. package/dist/lib/theme-vars.d.ts +9 -0
  272. package/dist/lib/theme-vars.d.ts.map +1 -1
  273. package/dist/media/index.d.ts +1 -1
  274. package/dist/media/index.d.ts.map +1 -1
  275. package/dist/media/index.js +18 -14
  276. package/dist/media/queue.d.ts +2 -0
  277. package/dist/media/queue.d.ts.map +1 -1
  278. package/dist/media/utils.d.ts +2 -0
  279. package/dist/media/utils.d.ts.map +1 -1
  280. package/dist/media/{videoPoster.d.ts → video-poster.d.ts} +1 -1
  281. package/dist/media/video-poster.d.ts.map +1 -0
  282. package/dist/media/worker.d.ts +1 -35
  283. package/dist/media/worker.d.ts.map +1 -1
  284. package/dist/schemas/audience.js +2 -2
  285. package/dist/schemas/index.d.ts +1 -0
  286. package/dist/schemas/index.d.ts.map +1 -1
  287. package/dist/schemas/index.js +25 -13
  288. package/dist/schemas/media.d.ts +4 -0
  289. package/dist/schemas/media.d.ts.map +1 -1
  290. package/dist/schemas/shared.d.ts +26 -0
  291. package/dist/schemas/shared.d.ts.map +1 -1
  292. package/dist/schemas/site-config.d.ts +6 -0
  293. package/dist/schemas/site-config.d.ts.map +1 -1
  294. package/dist/schemas/tags.d.ts +27 -0
  295. package/dist/schemas/tags.d.ts.map +1 -0
  296. package/dist/storage/index.js +2 -1
  297. package/dist/storage/memory.d.ts +21 -0
  298. package/dist/storage/memory.d.ts.map +1 -0
  299. package/dist/storage/memory.js +129 -0
  300. package/dist/storage/types.d.ts +9 -0
  301. package/dist/storage/types.d.ts.map +1 -1
  302. package/dist/types/database.d.ts.map +1 -1
  303. package/package.json +26 -1
  304. package/src/auth/cookies.ts +111 -0
  305. package/src/collab/rebase.ts +29 -9
  306. package/src/components/brandguide/ColorSwatchSettings.tsx +1 -1
  307. package/src/components/brandguide/ColorsEditable.tsx +1 -0
  308. package/src/components/chat/ChatPanel.tsx +2 -3
  309. package/src/components/chat/ChatWidget.tsx +2 -3
  310. package/src/components/docfile/DocFilePane.tsx +4 -12
  311. package/src/components/editor/ChildBlockWrapper.tsx +13 -19
  312. package/src/components/editor/ConflictDialog.tsx +27 -35
  313. package/src/components/editor/DeleteButton.tsx +2 -2
  314. package/src/components/editor/DragHandle.tsx +16 -3
  315. package/src/components/editor/DropEdgeIndicator.tsx +36 -10
  316. package/src/components/editor/InsertButton.tsx +2 -2
  317. package/src/components/editor/NavGroupRow.tsx +43 -14
  318. package/src/components/editor/PagesModal.tsx +99 -26
  319. package/src/components/editor/SectionWrapper.tsx +64 -23
  320. package/src/components/editor/SettingsButton.tsx +2 -2
  321. package/src/components/editor/SettingsForm.tsx +19 -2
  322. package/src/components/editor/StatusIndicator.tsx +4 -4
  323. package/src/components/editor/TagIndicator.tsx +80 -0
  324. package/src/components/primitives/DocumentDropZone.tsx +1 -1
  325. package/src/components/primitives/EditableGrid.tsx +15 -14
  326. package/src/components/primitives/EditableList.tsx +27 -74
  327. package/src/components/primitives/HeadingSection.tsx +5 -2
  328. package/src/components/primitives/ResolvedMedia.tsx +13 -0
  329. package/src/components/primitives/{defineHeadingSection.tsx → define-heading-section.tsx} +1 -0
  330. package/src/components/primitives/index.ts +1 -1
  331. package/src/components/primitives/useEditablePlainText.ts +5 -5
  332. package/src/components/sections/Button/CTAButton.tsx +3 -1
  333. package/src/components/sections/DoDontMedia/DoDontMediaBlock.tsx +4 -4
  334. package/src/components/sections/DoDontMedia/index.tsx +12 -3
  335. package/src/components/sections/IconList/DoDontToggle.tsx +2 -2
  336. package/src/components/sections/IconList/IconList.tsx +70 -37
  337. package/src/components/sections/IconList/IconListSettings.tsx +55 -17
  338. package/src/components/sections/IconList/index.tsx +10 -3
  339. package/src/components/sections/LinkHeading/index.tsx +1 -1
  340. package/src/components/sections/Media/MediaBlock.tsx +13 -2
  341. package/src/components/sections/Media/index.tsx +12 -4
  342. package/src/components/sections/Reference/ReferenceList.tsx +214 -0
  343. package/src/components/sections/Reference/ReferenceSettings.tsx +159 -0
  344. package/src/components/sections/Reference/index.tsx +47 -0
  345. package/src/components/sections/SectionSummary/SectionSummaryBlock.tsx +476 -0
  346. package/src/components/sections/SectionSummary/SectionSummarySettings.tsx +126 -0
  347. package/src/components/sections/SectionSummary/index.tsx +149 -0
  348. package/src/components/sections/SubHeading/index.tsx +1 -1
  349. package/src/components/sections/SubSubHeading/index.tsx +1 -1
  350. package/src/components/sections/brand-guide.ts +4 -3
  351. package/src/components/sections/core-sections.ts +2 -0
  352. package/src/components/shared/BrandSwatchesContext.ts +13 -0
  353. package/src/components/shared/Button.tsx +47 -34
  354. package/src/components/shared/Checkbox.tsx +21 -12
  355. package/src/components/shared/ConfirmDialog.tsx +87 -0
  356. package/src/components/shared/ConfirmInline.tsx +90 -0
  357. package/src/components/shared/ErrorBoundary.tsx +6 -18
  358. package/src/components/shared/Fab.tsx +15 -5
  359. package/src/components/shared/FabStack.tsx +28 -0
  360. package/src/components/shared/HistoryChangesModal.tsx +43 -41
  361. package/src/components/shared/HistoryPopover.tsx +7 -20
  362. package/src/components/shared/ImageBackgroundField.tsx +92 -0
  363. package/src/components/shared/{UploadRejectionAlert.tsx → InlineAlert.tsx} +21 -5
  364. package/src/components/shared/Input.tsx +23 -7
  365. package/src/components/shared/Navigation.tsx +22 -17
  366. package/src/components/shared/Notice.tsx +59 -0
  367. package/src/components/shared/Popover.tsx +7 -11
  368. package/src/components/shared/ReferenceSourcesContext.ts +27 -0
  369. package/src/components/shared/Select.tsx +5 -2
  370. package/src/components/shared/SplitButton.tsx +11 -17
  371. package/src/components/shared/SummaryAnchorsContext.ts +11 -0
  372. package/src/components/shared/Textarea.tsx +17 -2
  373. package/src/components/shared/ToolbarFrame.tsx +28 -0
  374. package/src/components/shared/VideoSourceField.tsx +1 -1
  375. package/src/components/shared/copy.ts +18 -0
  376. package/src/components/shared/icons.tsx +1 -17
  377. package/src/components/shell/AudienceAddForm.tsx +2 -2
  378. package/src/components/shell/AudienceDetailsPanel.tsx +23 -5
  379. package/src/components/shell/AudienceRow.tsx +22 -15
  380. package/src/components/shell/BugReportFAB.tsx +50 -40
  381. package/src/components/shell/CredentialList.tsx +33 -13
  382. package/src/components/shell/DocInspector.tsx +3 -12
  383. package/src/components/shell/DocumentEditorOverlay.tsx +33 -23
  384. package/src/components/shell/EditorContext.tsx +7 -0
  385. package/src/components/shell/EditorLoginForm.tsx +26 -36
  386. package/src/components/shell/EditorModal.tsx +8 -10
  387. package/src/components/shell/EditorShell.tsx +501 -338
  388. package/src/components/shell/HistoryToolbar.tsx +24 -26
  389. package/src/components/shell/MediaFolderTile.tsx +8 -3
  390. package/src/components/shell/MediaLibraryModal.tsx +59 -60
  391. package/src/components/shell/ProcessingIndicator.tsx +2 -2
  392. package/src/components/shell/RestoreModal.tsx +17 -16
  393. package/src/components/shell/SetPasswordForm.tsx +3 -3
  394. package/src/components/shell/SiteSettingsChatbot.tsx +61 -42
  395. package/src/components/shell/SiteSettingsDisplay.tsx +10 -20
  396. package/src/components/shell/SiteSettingsModal.tsx +24 -2
  397. package/src/components/shell/SiteSettingsTags.tsx +143 -0
  398. package/src/components/shell/SiteSettingsUsers.tsx +36 -26
  399. package/src/components/shell/SiteSettingsViewerAccess.tsx +2 -2
  400. package/src/components/shell/ViewerLoginForm.tsx +5 -4
  401. package/src/components/shell/reference-sources.ts +36 -0
  402. package/src/deck/index.ts +2 -2
  403. package/src/document/index.ts +2 -2
  404. package/src/hooks/useBlockDnd.ts +11 -0
  405. package/src/hooks/useBuildStatus.ts +53 -6
  406. package/src/hooks/useDocumentUploads.ts +1 -1
  407. package/src/hooks/useEditorPersistence.ts +141 -35
  408. package/src/hooks/useEditorPublish.ts +27 -31
  409. package/src/hooks/useMediaPipeline.ts +30 -24
  410. package/src/hooks/useNotice.ts +45 -0
  411. package/src/hooks/useSortableNavRow.ts +11 -0
  412. package/src/hooks/useSortableRow.ts +22 -2
  413. package/src/hooks/useStackedEscape.ts +62 -0
  414. package/src/lib/block-dnd.ts +6 -1
  415. package/src/lib/block-move.ts +3 -0
  416. package/src/lib/brand-swatches.ts +32 -0
  417. package/src/lib/container-ops.ts +5 -3
  418. package/src/lib/dexie.ts +24 -2
  419. package/src/lib/env.ts +9 -0
  420. package/src/lib/events.ts +1 -2
  421. package/src/lib/image-background.ts +31 -0
  422. package/src/lib/image-variant-plan.ts +92 -0
  423. package/src/lib/index-ops.ts +9 -18
  424. package/src/lib/index.ts +20 -4
  425. package/src/lib/loader.ts +28 -88
  426. package/src/lib/media-ops.ts +112 -0
  427. package/src/lib/nav-tree.ts +104 -4
  428. package/src/lib/nav.ts +196 -36
  429. package/src/lib/pages.ts +2 -3
  430. package/src/lib/platform-broker.ts +32 -14
  431. package/src/lib/reference-type.ts +3 -0
  432. package/src/lib/reference-validation.ts +69 -0
  433. package/src/lib/references.ts +130 -0
  434. package/src/lib/registry.ts +37 -0
  435. package/src/lib/sidecar-diagnostics.ts +29 -0
  436. package/src/lib/sidecars.ts +221 -0
  437. package/src/lib/slug.ts +6 -0
  438. package/src/lib/storage-tier.ts +38 -0
  439. package/src/lib/tags.ts +165 -0
  440. package/src/lib/theme-vars.ts +23 -0
  441. package/src/media/index.ts +1 -1
  442. package/src/media/queue.ts +3 -0
  443. package/src/media/utils.ts +19 -1
  444. package/src/media/{videoPoster.ts → video-poster.ts} +2 -2
  445. package/src/media/worker.ts +17 -8
  446. package/src/schemas/index.ts +1 -0
  447. package/src/schemas/media.ts +7 -2
  448. package/src/schemas/shared.ts +24 -1
  449. package/src/schemas/site-config.ts +6 -1
  450. package/src/schemas/tags.ts +33 -0
  451. package/src/storage/memory.ts +178 -0
  452. package/src/storage/types.ts +16 -3
  453. package/src/types/database.ts +2 -0
  454. package/dist/chunk-DNY72JZN.js +0 -86
  455. package/dist/chunk-F2LYQPXV.js +0 -77
  456. package/dist/chunk-JH762VUH.js +0 -128
  457. package/dist/chunk-K7DYZXVU.js +0 -138
  458. package/dist/components/primitives/defineHeadingSection.d.ts.map +0 -1
  459. package/dist/components/primitives/gridDrop.d.ts.map +0 -1
  460. package/dist/components/shared/UploadRejectionAlert.d.ts.map +0 -1
  461. package/dist/components/shell/BuildStatusIndicator.d.ts +0 -7
  462. package/dist/components/shell/BuildStatusIndicator.d.ts.map +0 -1
  463. package/dist/components/shell/blockMoveDispatch.d.ts.map +0 -1
  464. package/dist/hooks/index.d.ts +0 -9
  465. package/dist/hooks/index.d.ts.map +0 -1
  466. package/dist/lib/grid.d.ts +0 -2
  467. package/dist/lib/grid.d.ts.map +0 -1
  468. package/dist/lib/safeRedirect.d.ts.map +0 -1
  469. package/dist/media/videoPoster.d.ts.map +0 -1
  470. package/src/components/brandguide/ColorSwatchSettings.d.ts.map +0 -1
  471. package/src/components/brandguide/Colors.d.ts.map +0 -1
  472. package/src/components/primitives/CustomParagraph.d.ts.map +0 -1
  473. package/src/components/primitives/EditableGrid.d.ts.map +0 -1
  474. package/src/components/primitives/EditablePlainText.d.ts.map +0 -1
  475. package/src/components/primitives/EditableRichText.d.ts.map +0 -1
  476. package/src/components/primitives/HeadingSection.d.ts.map +0 -1
  477. package/src/components/primitives/IconPicker.d.ts.map +0 -1
  478. package/src/components/primitives/LinkPopover.d.ts.map +0 -1
  479. package/src/components/primitives/MediaSettingsForms.d.ts.map +0 -1
  480. package/src/components/primitives/ResolvedMedia.d.ts.map +0 -1
  481. package/src/components/primitives/RichTextToolbar.d.ts.map +0 -1
  482. package/src/components/primitives/tiptap-presets.d.ts.map +0 -1
  483. package/src/components/primitives/useEditableCollection.d.ts.map +0 -1
  484. package/src/components/primitives/useEditablePlainText.d.ts.map +0 -1
  485. package/src/components/primitives/useEditableRichText.d.ts.map +0 -1
  486. package/src/components/sections/Button/CTAButton.d.ts.map +0 -1
  487. package/src/components/sections/Button/index.d.ts.map +0 -1
  488. package/src/components/sections/Colors/index.d.ts.map +0 -1
  489. package/src/components/sections/IconList/IconList.d.ts.map +0 -1
  490. package/src/components/sections/IconList/IconListSettings.d.ts.map +0 -1
  491. package/src/components/sections/IconList/index.d.ts.map +0 -1
  492. package/src/components/sections/LinkHeading/index.d.ts.map +0 -1
  493. package/src/components/sections/Prose/Prose.d.ts.map +0 -1
  494. package/src/components/sections/Prose/index.d.ts.map +0 -1
  495. package/src/components/sections/SubHeading/index.d.ts.map +0 -1
  496. package/src/components/sections/SubSubHeading/index.d.ts.map +0 -1
  497. package/src/components/sections/register-schemas.d.ts.map +0 -1
  498. package/src/components/shared/Button.d.ts.map +0 -1
  499. package/src/components/shared/Checkbox.d.ts.map +0 -1
  500. package/src/components/shared/FormLabel.d.ts.map +0 -1
  501. package/src/components/shared/IconButton.d.ts.map +0 -1
  502. package/src/components/shared/Input.d.ts.map +0 -1
  503. package/src/components/shared/Select.d.ts.map +0 -1
  504. package/src/components/shared/icons.d.ts.map +0 -1
  505. package/src/components/shell/BuildStatusIndicator.tsx +0 -59
  506. package/src/components/shell/MediaLibraryContext.d.ts.map +0 -1
  507. package/src/hooks/index.ts +0 -8
  508. package/src/hooks/useResolvedMedia.d.ts.map +0 -1
  509. package/src/lib/cn.d.ts.map +0 -1
  510. package/src/lib/grid.d.ts.map +0 -1
  511. package/src/lib/grid.ts +0 -7
  512. package/src/lib/icons.d.ts.map +0 -1
  513. package/src/lib/loader.d.ts.map +0 -1
  514. package/src/lib/nav.d.ts.map +0 -1
  515. package/src/lib/registry.d.ts.map +0 -1
  516. package/src/lib/sanitize.d.ts.map +0 -1
  517. package/src/media/github.d.ts.map +0 -1
  518. package/src/media/index.d.ts.map +0 -1
  519. package/src/media/queue.d.ts.map +0 -1
  520. package/src/media/resolve.d.ts.map +0 -1
  521. package/src/media/types.d.ts.map +0 -1
  522. package/src/media/utils.d.ts.map +0 -1
  523. package/src/media/videoPoster.d.ts.map +0 -1
  524. package/src/schemas/auth.d.ts.map +0 -1
  525. package/src/schemas/media-grid-options.d.ts.map +0 -1
  526. package/src/schemas/media.d.ts.map +0 -1
  527. package/src/schemas/sections.d.ts.map +0 -1
  528. package/src/schemas/shared.d.ts.map +0 -1
  529. package/src/schemas/site-config.d.ts.map +0 -1
  530. /package/dist/{chunk-B7VBSE5X.js → chunk-3JDTXOIG.js} +0 -0
  531. /package/dist/{chunk-CXZ5YJG4.js → chunk-L45X7DKX.js} +0 -0
  532. /package/src/components/primitives/{gridDrop.ts → grid-drop.ts} +0 -0
  533. /package/src/components/shell/{blockMoveDispatch.ts → block-move-dispatch.ts} +0 -0
  534. /package/src/lib/{safeRedirect.ts → safe-redirect.ts} +0 -0
@@ -0,0 +1,176 @@
1
+ import {
2
+ getContainerChildren
3
+ } from "./chunk-L45X7DKX.js";
4
+ import {
5
+ audiencePasses
6
+ } from "./chunk-VY3IFGE3.js";
7
+ import {
8
+ pagesInNavOrder
9
+ } from "./chunk-DJOGPSRU.js";
10
+ import {
11
+ siteTags
12
+ } from "./chunk-4WQ36ZP7.js";
13
+ import {
14
+ REFERENCE_TYPE
15
+ } from "./chunk-5GFACGSN.js";
16
+ import {
17
+ getSection
18
+ } from "./chunk-FTPETWXE.js";
19
+
20
+ // src/lib/references.ts
21
+ function referenceItems(opts) {
22
+ const { referenceId, content, index, allSections, audiences } = opts;
23
+ const wanted = new Set(content.sectionIds);
24
+ const tagIds = new Set(content.tagIds);
25
+ for (const tag of siteTags(index)) {
26
+ if (tagIds.has(tag.id)) for (const id of tag.sectionIds) wanted.add(id);
27
+ }
28
+ wanted.delete(referenceId);
29
+ if (wanted.size === 0) return [];
30
+ const byId = new Map(allSections.map((s) => [s.section.id, s]));
31
+ const item = (sectionId, page) => {
32
+ const source = byId.get(sectionId) ?? null;
33
+ const excluded = !source || !page ? "missing" : source.section.type === REFERENCE_TYPE ? "reference" : page.status !== "live" ? "archived-page" : source.meta.status !== "live" ? "not-live" : null;
34
+ const hiddenFrom = excluded || !source || !page ? [] : audiences.filter(
35
+ (a) => !audiencePasses(page.access, a) || !audiencePasses(source.meta.access, a)
36
+ );
37
+ return { sectionId, page, source, excluded, hiddenFrom };
38
+ };
39
+ const items = [];
40
+ const placed = /* @__PURE__ */ new Set();
41
+ for (const page of pagesInNavOrder(index)) {
42
+ for (const id of page.order) {
43
+ if (!wanted.has(id)) continue;
44
+ items.push(item(id, page));
45
+ placed.add(id);
46
+ }
47
+ }
48
+ for (const id of wanted) if (!placed.has(id)) items.push(item(id, null));
49
+ return items;
50
+ }
51
+ function resolveReference(opts) {
52
+ const { audience, ...rest } = opts;
53
+ return referenceItems({ ...rest, audiences: audience === null ? [] : [audience] }).flatMap(
54
+ (i) => i.source && !i.excluded && i.hiddenFrom.length === 0 ? [{ ...i.source, referencedBy: opts.referenceId }] : []
55
+ );
56
+ }
57
+
58
+ // src/lib/nav.ts
59
+ function toSectionId(text) {
60
+ const slug = text.normalize("NFKD").replace(/[̀-ͯ]/g, "").toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/^-+|-+$/g, "");
61
+ if (slug) return slug;
62
+ let hash = 0;
63
+ for (let i = 0; i < text.length; i++) {
64
+ hash = (hash << 5) - hash + text.charCodeAt(i) | 0;
65
+ }
66
+ return `section-${Math.abs(hash).toString(36)}`;
67
+ }
68
+ function flattenForNav(sections) {
69
+ const flat = [];
70
+ const walk = (loaded) => {
71
+ flat.push(loaded);
72
+ for (const child of getContainerChildren(loaded.section)) {
73
+ walk({ section: child, meta: loaded.meta, referencedBy: loaded.referencedBy });
74
+ }
75
+ };
76
+ sections.forEach(walk);
77
+ return flat;
78
+ }
79
+ var SUMMARY_TYPE = "section_summary";
80
+ function summaryNav(section) {
81
+ if (section.type !== SUMMARY_TYPE) return null;
82
+ const options = "options" in section ? section.options : void 0;
83
+ const label = options?.navLabel?.trim() ?? "";
84
+ if (!label || options?.nav !== "heading" && options?.nav !== "subheading") return null;
85
+ return { role: options.nav === "heading" ? "h1" : "h2", label };
86
+ }
87
+ function roleLookup(registry) {
88
+ return (type) => (registry ? registry.getSection(type) : getSection(type))?.navRole;
89
+ }
90
+ function assignAnchors(flat, lookupRole) {
91
+ const anchors = new Array(flat.length);
92
+ const taken = /* @__PURE__ */ new Set();
93
+ const claim = (i, base) => {
94
+ let anchor = base;
95
+ for (let n = 2; taken.has(anchor); n++) anchor = `${base}-${n}`;
96
+ taken.add(anchor);
97
+ anchors[i] = anchor;
98
+ };
99
+ const headingOf = (section) => {
100
+ const heading = section.content.heading;
101
+ return heading && lookupRole(section.type) ? heading : void 0;
102
+ };
103
+ flat.forEach(({ section, referencedBy }, i) => {
104
+ const heading = headingOf(section);
105
+ if (referencedBy || !heading) return;
106
+ anchors[i] = toSectionId(heading);
107
+ taken.add(anchors[i]);
108
+ });
109
+ flat.forEach(({ section, referencedBy }, i) => {
110
+ const entry = summaryNav(section);
111
+ if (!referencedBy && entry) claim(i, toSectionId(entry.label));
112
+ });
113
+ flat.forEach(({ section, referencedBy }, i) => {
114
+ const text = summaryNav(section)?.label ?? headingOf(section);
115
+ if (referencedBy && text) claim(i, `${toSectionId(text)}-${toSectionId(referencedBy)}`);
116
+ });
117
+ return anchors;
118
+ }
119
+ function buildNavLinks(flat, lookupRole, anchors) {
120
+ const nav = [];
121
+ let currentParent = null;
122
+ let currentChild = null;
123
+ for (const [i, { section, meta }] of flat.entries()) {
124
+ let role;
125
+ let label;
126
+ let excluded = false;
127
+ const summary = summaryNav(section);
128
+ if (summary) {
129
+ role = summary.role;
130
+ label = summary.label;
131
+ } else {
132
+ const content = section.content;
133
+ if (!content.heading) continue;
134
+ role = lookupRole(section.type);
135
+ label = content.heading;
136
+ excluded = !!content.excludeFromNav;
137
+ }
138
+ const anchor = anchors[i];
139
+ if (!role || !anchor) continue;
140
+ if (role === "h1") {
141
+ if (excluded) {
142
+ currentParent = null;
143
+ currentChild = null;
144
+ continue;
145
+ }
146
+ currentParent = { href: `#${anchor}`, label, status: meta.status, children: [] };
147
+ currentChild = null;
148
+ nav.push(currentParent);
149
+ } else if (role === "h2") {
150
+ if (excluded) {
151
+ currentChild = null;
152
+ continue;
153
+ }
154
+ if (!currentParent) continue;
155
+ currentChild = { href: `#${anchor}`, label, status: meta.status, children: [] };
156
+ currentParent.children.push(currentChild);
157
+ } else if (role === "h3") {
158
+ if (excluded) continue;
159
+ if (!currentChild) continue;
160
+ currentChild.children.push({ href: `#${anchor}`, label, status: meta.status, children: [] });
161
+ }
162
+ }
163
+ return nav;
164
+ }
165
+ function generateNavLinks(sections, registry) {
166
+ const flat = flattenForNav(sections);
167
+ const lookupRole = roleLookup(registry);
168
+ return buildNavLinks(flat, lookupRole, assignAnchors(flat, lookupRole));
169
+ }
170
+
171
+ export {
172
+ referenceItems,
173
+ resolveReference,
174
+ toSectionId,
175
+ generateNavLinks
176
+ };
@@ -12,7 +12,6 @@ function createEvent(name) {
12
12
  };
13
13
  }
14
14
  var editModeEvent = createEvent("editmodechange");
15
- var navChangeEvent = createEvent("sitenavchange");
16
15
  var darkModeEvent = createEvent("sitedarkmode");
17
16
  var siteNameChangeEvent = createEvent("sitenamechange");
18
17
  var historySelectEvent = createEvent("history-select");
@@ -26,6 +25,5 @@ var audienceDetailsEvent = createEvent("audiencedetailsopen");
26
25
  export {
27
26
  createEvent,
28
27
  editModeEvent,
29
- navChangeEvent,
30
28
  darkModeEvent
31
29
  };
@@ -1,17 +1,18 @@
1
1
  import {
2
- AddIcon,
3
- DeleteIcon,
2
+ computeReorderTarget
3
+ } from "./chunk-DIMDRBFK.js";
4
+ import {
4
5
  DragHandle,
5
- SettingsIcon,
6
+ DropEdgeIndicator,
6
7
  useMediaLibrary,
7
8
  useResolvedMedia
8
- } from "./chunk-JH762VUH.js";
9
+ } from "./chunk-RIITGTV3.js";
9
10
  import {
10
11
  IconButton
11
12
  } from "./chunk-IIDKW7AV.js";
12
13
  import {
13
14
  rebindImageRef
14
- } from "./chunk-FRE2CCLV.js";
15
+ } from "./chunk-HHNPSKPT.js";
15
16
  import {
16
17
  cn
17
18
  } from "./chunk-7EOSDFS3.js";
@@ -152,7 +153,8 @@ function ResolvedMedia({
152
153
  height: propHeight,
153
154
  className,
154
155
  imgClassName,
155
- invertFrom
156
+ invertFrom,
157
+ backdrop
156
158
  }) {
157
159
  const resolved = useResolvedMedia(imageId);
158
160
  const hasResolved = !!resolved.src;
@@ -178,6 +180,15 @@ function ResolvedMedia({
178
180
  )
179
181
  }
180
182
  ),
183
+ backdrop && /* @__PURE__ */ jsx(
184
+ "div",
185
+ {
186
+ "aria-hidden": "true",
187
+ "data-testid": "media-backdrop",
188
+ className: cn("pointer-events-none absolute inset-0", backdrop.className),
189
+ style: backdrop.style
190
+ }
191
+ ),
181
192
  kind === "video" ? /* @__PURE__ */ jsx(
182
193
  "video",
183
194
  {
@@ -268,6 +279,25 @@ function ImageDropZone({ onImageSelected, className, children }) {
268
279
  );
269
280
  }
270
281
 
282
+ // src/lib/image-background.ts
283
+ var LIGHT_MODE = {
284
+ none: void 0,
285
+ light: "bg-surface-light",
286
+ dark: "bg-surface-dark"
287
+ };
288
+ var DARK_MODE = {
289
+ none: "dark:bg-transparent",
290
+ light: "dark:bg-surface-light",
291
+ dark: "dark:bg-surface-dark"
292
+ };
293
+ function imageBackdrop(bg) {
294
+ if (!bg) return void 0;
295
+ if (bg.mode === "custom") return { style: { backgroundColor: bg.color } };
296
+ const light = LIGHT_MODE[bg.light];
297
+ if (!light && bg.dark === "none") return void 0;
298
+ return { className: [light, DARK_MODE[bg.dark]].filter(Boolean).join(" ") };
299
+ }
300
+
271
301
  // src/components/sections/Media/MediaBlock.tsx
272
302
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
273
303
  function MediaBlock({ refValue, options, link, isEditMode, onRefChange }) {
@@ -275,6 +305,7 @@ function MediaBlock({ refValue, options, link, isEditMode, onRefChange }) {
275
305
  const fit = refValue.objectFit ?? options.objectFit;
276
306
  const fitClass = fit === "cover" ? "object-cover" : "object-contain";
277
307
  const showBorder = refValue.border ?? options.border;
308
+ const backdrop = refValue.type === "video" ? void 0 : imageBackdrop(options.background);
278
309
  const captionStr = refValue.caption ? Array.isArray(refValue.caption) ? refValue.caption.join("\n") : refValue.caption : "";
279
310
  const replace = onRefChange ? (imageId) => onRefChange(rebindImageRef(refValue, imageId)) : void 0;
280
311
  const baked = refValue;
@@ -292,7 +323,8 @@ function MediaBlock({ refValue, options, link, isEditMode, onRefChange }) {
292
323
  height: bakedHeight,
293
324
  className: "h-full w-full",
294
325
  imgClassName: fitClass,
295
- invertFrom: refValue.invertFrom
326
+ invertFrom: refValue.invertFrom,
327
+ backdrop
296
328
  }
297
329
  );
298
330
  let media = isEditMode && replace ? /* @__PURE__ */ jsx3(ImageDropZone, { onImageSelected: replace, className: "h-full w-full", children: resolved }) : resolved;
@@ -333,7 +365,7 @@ function MediaBlock({ refValue, options, link, isEditMode, onRefChange }) {
333
365
 
334
366
  // src/components/primitives/EditableGrid.tsx
335
367
  import { useRef as useRef4, useEffect as useEffect4, useState as useState5, useId } from "react";
336
- import { ImageIcon as ImageIcon2 } from "lucide-react";
368
+ import { ImageIcon as ImageIcon2, Plus, Trash2, Settings } from "lucide-react";
337
369
 
338
370
  // src/lib/container-grid.ts
339
371
  var MAX_CONTAINER_COLUMNS = 6;
@@ -457,7 +489,7 @@ function useEditableCollection({
457
489
  return { wrappedItems, onReorder, onAdd, onInsert, onInsertItem, onRemove };
458
490
  }
459
491
 
460
- // src/components/primitives/gridDrop.ts
492
+ // src/components/primitives/grid-drop.ts
461
493
  function resolveDropIndex({
462
494
  fromIndex,
463
495
  targetIndex,
@@ -568,7 +600,7 @@ function EditableGrid({
568
600
  /* @__PURE__ */ jsx4(
569
601
  IconButton,
570
602
  {
571
- icon: /* @__PURE__ */ jsx4(AddIcon, { size: 16 }),
603
+ icon: /* @__PURE__ */ jsx4(Plus, { size: 16 }),
572
604
  label: "Add item",
573
605
  size: "lg",
574
606
  intent: "primary",
@@ -660,12 +692,17 @@ function GridCell({
660
692
  isCellDragging && "opacity-50"
661
693
  ),
662
694
  children: [
663
- showLeftEdge && /* @__PURE__ */ jsx4("div", { className: "absolute top-0 bottom-0 left-0 z-10 w-0.5 -translate-x-2 bg-primary" }),
664
- showRightEdge && /* @__PURE__ */ jsx4("div", { className: "absolute top-0 right-0 bottom-0 z-10 w-0.5 translate-x-2 bg-primary" }),
695
+ /* @__PURE__ */ jsx4(
696
+ DropEdgeIndicator,
697
+ {
698
+ edge: showLeftEdge ? "left" : showRightEdge ? "right" : null,
699
+ style: { transform: showLeftEdge ? "translateX(-0.5rem)" : "translateX(0.5rem)" }
700
+ }
701
+ ),
665
702
  !isDragging && !isLast && /* @__PURE__ */ jsx4(
666
703
  IconButton,
667
704
  {
668
- icon: /* @__PURE__ */ jsx4(AddIcon, { size: 12 }),
705
+ icon: /* @__PURE__ */ jsx4(Plus, { size: 12 }),
669
706
  label: "Insert item",
670
707
  size: "sm",
671
708
  intent: "primary",
@@ -696,7 +733,7 @@ function GridCell({
696
733
  onSettings && /* @__PURE__ */ jsx4(
697
734
  IconButton,
698
735
  {
699
- icon: /* @__PURE__ */ jsx4(SettingsIcon, { size: 16 }),
736
+ icon: /* @__PURE__ */ jsx4(Settings, { size: 16 }),
700
737
  label: "Item settings",
701
738
  onClick: onSettings,
702
739
  className: "bg-base/80 shadow-sm"
@@ -705,7 +742,7 @@ function GridCell({
705
742
  /* @__PURE__ */ jsx4(
706
743
  IconButton,
707
744
  {
708
- icon: /* @__PURE__ */ jsx4(DeleteIcon, { size: 16 }),
745
+ icon: /* @__PURE__ */ jsx4(Trash2, { size: 16 }),
709
746
  label: "Delete item",
710
747
  intent: "destructive",
711
748
  onClick: () => onRemove(id),
@@ -719,6 +756,175 @@ function GridCell({
719
756
  );
720
757
  }
721
758
 
759
+ // src/components/primitives/EditableList.tsx
760
+ import { useId as useId2 } from "react";
761
+ import { Trash2 as Trash22 } from "lucide-react";
762
+
763
+ // src/hooks/useSortableRow.ts
764
+ import { useEffect as useEffect5, useRef as useRef5, useState as useState6 } from "react";
765
+ function useSortableRow({
766
+ index,
767
+ dragType,
768
+ onReorder,
769
+ enabled = true
770
+ }) {
771
+ const rowRef = useRef5(null);
772
+ const handleRef = useRef5(null);
773
+ const [isDragging, setIsDragging] = useState6(false);
774
+ const [closestEdge, setClosestEdge] = useState6(null);
775
+ const onReorderRef = useRef5(onReorder);
776
+ onReorderRef.current = onReorder;
777
+ useEffect5(() => {
778
+ if (!enabled) return;
779
+ const row = rowRef.current;
780
+ const handle = handleRef.current;
781
+ if (!row || !handle) return;
782
+ let cleanup;
783
+ let cancelled = false;
784
+ Promise.all([
785
+ import("./adapter-HH47ZPGM.js"),
786
+ import("./closest-edge-EBOXL3YW.js")
787
+ ]).then(([{ draggable, dropTargetForElements }, { attachClosestEdge, extractClosestEdge }]) => {
788
+ if (cancelled) return;
789
+ const cleanupDraggable = draggable({
790
+ element: row,
791
+ dragHandle: handle,
792
+ getInitialData: () => ({ dragType, index }),
793
+ onGenerateDragPreview: () => {
794
+ row.style.opacity = "0.4";
795
+ requestAnimationFrame(() => {
796
+ row.style.opacity = "";
797
+ });
798
+ },
799
+ onDragStart: () => setIsDragging(true),
800
+ onDrop: () => setIsDragging(false)
801
+ });
802
+ const cleanupDropTarget = dropTargetForElements({
803
+ element: row,
804
+ canDrop: ({ source }) => source.data.dragType === dragType,
805
+ getData: ({ input, element }) => attachClosestEdge({ index }, { input, element, allowedEdges: ["top", "bottom"] }),
806
+ onDragEnter: ({ self }) => {
807
+ const edge = extractClosestEdge(self.data);
808
+ setClosestEdge(edge === "top" || edge === "bottom" ? edge : null);
809
+ },
810
+ onDrag: ({ self }) => {
811
+ const edge = extractClosestEdge(self.data);
812
+ setClosestEdge(edge === "top" || edge === "bottom" ? edge : null);
813
+ },
814
+ onDragLeave: () => setClosestEdge(null),
815
+ onDrop: ({ source, self }) => {
816
+ setClosestEdge(null);
817
+ const fromIndex = source.data.index;
818
+ const rawEdge = extractClosestEdge(self.data);
819
+ const edge = rawEdge === "top" || rawEdge === "bottom" ? rawEdge : null;
820
+ const toIndex = computeReorderTarget(fromIndex, index, edge);
821
+ if (toIndex !== null) onReorderRef.current(fromIndex, toIndex);
822
+ }
823
+ });
824
+ cleanup = () => {
825
+ cleanupDraggable();
826
+ cleanupDropTarget();
827
+ };
828
+ });
829
+ return () => {
830
+ cancelled = true;
831
+ cleanup?.();
832
+ };
833
+ }, [index, dragType, enabled]);
834
+ return { rowRef, handleRef, isDragging, closestEdge };
835
+ }
836
+
837
+ // src/components/primitives/EditableList.tsx
838
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
839
+ function EditableList({
840
+ items,
841
+ onChange,
842
+ createItem,
843
+ isEditMode,
844
+ renderItem,
845
+ className
846
+ }) {
847
+ const { wrappedItems, onReorder, onAdd, onRemove } = useEditableCollection({
848
+ items,
849
+ onChange,
850
+ createItem
851
+ });
852
+ const listId = useId2();
853
+ const dragType = `list-row-${listId}`;
854
+ if (!isEditMode) {
855
+ return /* @__PURE__ */ jsx5("div", { className: cn("flex flex-col gap-2", className), children: wrappedItems.map((wrapped, index) => /* @__PURE__ */ jsx5("div", { children: renderItem(wrapped.data, { isEditMode: false, index }) }, wrapped.id)) });
856
+ }
857
+ return /* @__PURE__ */ jsxs5("div", { className: cn("flex flex-col gap-2", className), children: [
858
+ wrappedItems.map((wrapped, index) => /* @__PURE__ */ jsx5(
859
+ ListRow,
860
+ {
861
+ id: wrapped.id,
862
+ index,
863
+ dragType,
864
+ onReorder,
865
+ onRemove,
866
+ children: renderItem(wrapped.data, { isEditMode: true, index })
867
+ },
868
+ wrapped.id
869
+ )),
870
+ /* @__PURE__ */ jsx5(
871
+ "button",
872
+ {
873
+ onClick: onAdd,
874
+ className: "cursor-pointer rounded border-2 border-dashed border-base-200 px-3 py-2 text-sm text-base-contrast-light hover:border-primary hover:text-primary",
875
+ children: "Add row"
876
+ }
877
+ )
878
+ ] });
879
+ }
880
+ function ListRow({
881
+ id,
882
+ index,
883
+ dragType,
884
+ onReorder,
885
+ onRemove,
886
+ children
887
+ }) {
888
+ const { rowRef, handleRef, isDragging, closestEdge } = useSortableRow({
889
+ index,
890
+ dragType,
891
+ onReorder
892
+ });
893
+ return /* @__PURE__ */ jsxs5(
894
+ "div",
895
+ {
896
+ ref: rowRef,
897
+ className: cn("group/row relative flex items-center gap-2", isDragging && "opacity-50"),
898
+ children: [
899
+ /* @__PURE__ */ jsx5(DropEdgeIndicator, { edge: closestEdge }),
900
+ /* @__PURE__ */ jsx5(
901
+ IconButton,
902
+ {
903
+ ref: handleRef,
904
+ icon: /* @__PURE__ */ jsx5(DragHandle, { size: 14 }),
905
+ label: "Drag to reorder",
906
+ size: "sm",
907
+ className: "shrink-0 cursor-grab opacity-0 group-hover/row:opacity-100 no-hover:opacity-100",
908
+ tabIndex: -1
909
+ }
910
+ ),
911
+ /* @__PURE__ */ jsx5("div", { className: "min-w-0 flex-1", children }),
912
+ /* @__PURE__ */ jsx5(
913
+ IconButton,
914
+ {
915
+ icon: /* @__PURE__ */ jsx5(Trash22, { size: 14 }),
916
+ label: "Delete item",
917
+ size: "sm",
918
+ intent: "destructive",
919
+ onClick: () => onRemove(id),
920
+ className: "shrink-0 opacity-0 group-hover/row:opacity-100 no-hover:opacity-100"
921
+ }
922
+ )
923
+ ]
924
+ }
925
+ );
926
+ }
927
+
722
928
  export {
723
929
  EditablePlainText,
724
930
  ResolvedMedia,
@@ -730,5 +936,6 @@ export {
730
936
  masonryColumnsClass,
731
937
  spacerHiddenClass,
732
938
  useEditableCollection,
733
- EditableGrid
939
+ EditableGrid,
940
+ EditableList
734
941
  };
@@ -80,7 +80,8 @@ export declare function reconcileRemoteIndex(remoteIndex: SiteIndex, localIndex:
80
80
  * never touches, so the peer's nav transfers whole; readers go through
81
81
  * `navEntries()` → `reconcileNav`, which repairs any drift against the
82
82
  * resulting page set. A peer that sends no nav (an older client) leaves ours
83
- * intact rather than flattening it. */
83
+ * intact rather than flattening it. The `tags` sidecar is lifted the same way,
84
+ * for the same reason. */
84
85
  export declare function applyRemoteIndexUpdate(rawRemoteIndex: unknown, localIndex: SiteIndex): SiteIndex | null;
85
86
  export declare function rebaseContent(args: RebaseArgs): RebaseResult;
86
87
  //# sourceMappingURL=rebase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rebase.d.ts","sourceRoot":"","sources":["../../src/collab/rebase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,UAAU,EAAE,SAAS,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;+EAK2E;IAC3E,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;gFAI4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,EAAE,SAAS,CAAC;IAKvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IAIjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;qEAUqE;AACrE;;;;;;;;;;;;;;;;;;;;;oEAqBoE;AACpE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,CAS7F;AAED;;;;;;;;;;;;;;;;;;wCAkBwC;AACxC,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAYvG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CA6H5D"}
1
+ {"version":3,"file":"rebase.d.ts","sourceRoot":"","sources":["../../src/collab/rebase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,UAAU,EAAE,SAAS,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;+EAK2E;IAC3E,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B;;;;gFAI4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,EAAE,SAAS,CAAC;IAKvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,CAAC;IAIjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;qEAUqE;AACrE;;;;;;;;;;;;;;;;;;;;;oEAqBoE;AACpE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,CAS7F;AAED;;;;;;;;;;;;;;;;;;;2BAmB2B;AAC3B,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAmBvG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAyI5D"}
@@ -1,11 +1,18 @@
1
1
  import {
2
- NavFileSchema
3
- } from "../chunk-REDDTTGJ.js";
2
+ NAV,
3
+ TAGS,
4
+ liftSidecars
5
+ } from "../chunk-DJABADOO.js";
6
+ import "../chunk-DJOGPSRU.js";
7
+ import "../chunk-4WQ36ZP7.js";
8
+ import "../chunk-GNF6KFQ7.js";
4
9
  import {
5
10
  IndexSchema
6
- } from "../chunk-AHALSCQH.js";
11
+ } from "../chunk-67P34WNW.js";
7
12
  import "../chunk-4TZJZU2T.js";
8
- import "../chunk-GGXZZ77Z.js";
13
+ import "../chunk-4Y2JQQZL.js";
14
+ import "../chunk-APIJPTFG.js";
15
+ import "../chunk-AASEGXNT.js";
9
16
  import "../chunk-JSBRDJBE.js";
10
17
 
11
18
  // src/collab/rebase.ts
@@ -20,13 +27,17 @@ function reconcileRemoteIndex(remoteIndex, localIndex) {
20
27
  };
21
28
  }
22
29
  function applyRemoteIndexUpdate(rawRemoteIndex, localIndex) {
23
- const rawNav = rawRemoteIndex?.nav;
30
+ const lifted = liftSidecars(rawRemoteIndex);
24
31
  const parsed = IndexSchema.safeParse(rawRemoteIndex);
25
32
  if (!parsed.success) return null;
26
- const parsedNav = rawNav === void 0 ? null : NavFileSchema.safeParse({ entries: rawNav });
27
- const nav = parsedNav?.success ? parsedNav.data.entries : localIndex.nav;
33
+ const nav = lifted.nav && !lifted.nav.degraded ? lifted.nav.entries : localIndex.nav;
34
+ const tags = lifted.tags && !lifted.tags.degraded ? lifted.tags.entries : localIndex.tags;
28
35
  const reconciled = reconcileRemoteIndex(parsed.data, localIndex);
29
- return nav !== void 0 ? { ...reconciled, nav } : reconciled;
36
+ return {
37
+ ...reconciled,
38
+ ...nav !== void 0 ? { nav } : {},
39
+ ...tags !== void 0 ? { tags } : {}
40
+ };
30
41
  }
31
42
  function rebaseContent(args) {
32
43
  const localById = new Map(args.localSections.map((s) => [s.section.id, s]));
@@ -83,8 +94,12 @@ function rebaseContent(args) {
83
94
  }
84
95
  index = { ...args.localIndex, pages, sections };
85
96
  }
86
- const nav = args.remoteIndex.nav !== void 0 ? args.remoteIndex.nav : args.localIndex.nav;
97
+ const nav = NAV.rebase({ base: args.baselineIndex?.nav, local: args.localIndex.nav, remote: args.remoteIndex.nav });
87
98
  if (nav !== void 0) index = { ...index, nav };
99
+ if (args.localIndexDirty) {
100
+ const tags = TAGS.rebase({ base: args.baselineIndex?.tags, local: args.localIndex.tags, remote: args.remoteIndex.tags });
101
+ if (tags !== void 0) index = { ...index, tags };
102
+ }
88
103
  for (const s of merged) {
89
104
  const id = s.section.id;
90
105
  if (id in index.sections) continue;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorsEditable.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/ColorsEditable.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACvF,cAAc,CAShB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAC7E,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,2CAqEA"}
1
+ {"version":3,"file":"ColorsEditable.d.ts","sourceRoot":"","sources":["../../../src/components/brandguide/ColorsEditable.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACvF,cAAc,CAShB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAC7E,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,2CAsEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAgC,MAAM,YAAY,CAAC;AASzE,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE5E;;;0DAG0D;AAC1D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+C5D;;mBAEmB;AACnB,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,8EAA8E;AAC9E,wBAAsB,UAAU,CAC9B,IAAI,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACxH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6CjG;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAkB,EAAE,IAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IAC/N,IAAI,EAAE,OAAO,CAAC;IACd;uDACmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;4CAEwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;6EAEyE;IACzE,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;kFAC8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;+DAC2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,kDAseA"}
1
+ {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAgC,MAAM,YAAY,CAAC;AAQzE,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE5E;;;0DAG0D;AAC1D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+C5D;;mBAEmB;AACnB,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,8EAA8E;AAC9E,wBAAsB,UAAU,CAC9B,IAAI,EAAE;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACxH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6CjG;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAkB,EAAE,IAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IAC/N,IAAI,EAAE,OAAO,CAAC;IACd;uDACmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;4CAEwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;6EAEyE;IACzE,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;kFAC8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;+DAC2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,kDAseA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatWidget.tsx"],"names":[],"mappings":"AA0BA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAWD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAkB,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA4ItJ"}
1
+ {"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatWidget.tsx"],"names":[],"mappings":"AA2BA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAWD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAkB,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA0ItJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocFilePane.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/DocFilePane.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAexD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,GAAG,EACH,OAAO,EACP,MAAc,GACf,EAAE;IAAE,GAAG,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAkM9D"}
1
+ {"version":3,"file":"DocFilePane.d.ts","sourceRoot":"","sources":["../../../src/components/docfile/DocFilePane.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAexD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,GAAG,EACH,OAAO,EACP,MAAc,GACf,EAAE;IAAE,GAAG,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,2CAyL9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildBlockWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/editor/ChildBlockWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uDAAuD,CAAC;AASlF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,mHAyF7B,CAAC"}
1
+ {"version":3,"file":"ChildBlockWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/editor/ChildBlockWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uDAAuD,CAAC;AAUlF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,mHAkF7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConflictDialog.d.ts","sourceRoot":"","sources":["../../../src/components/editor/ConflictDialog.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;wBAIwB;AACxB,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,SAAS,GACV,EAAE;IACD,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC;CACjE,2CAwCA"}
1
+ {"version":3,"file":"ConflictDialog.d.ts","sourceRoot":"","sources":["../../../src/components/editor/ConflictDialog.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;wBAIwB;AACxB,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,SAAS,GACV,EAAE;IACD,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC;CACjE,2CA+BA"}
@@ -1,4 +1,14 @@
1
- export declare const DragHandle: import("react").ForwardRefExoticComponent<{
1
+ interface DragHandleProps {
2
2
  tooltipSide?: "bottom" | "right";
3
- } & import("react").RefAttributes<HTMLButtonElement>>;
3
+ /**
4
+ * Set by callers offering a keyboard alternative (SectionWrapper's Move
5
+ * up/down buttons) so the handle itself is reachable by keyboard and its
6
+ * `aria-describedby` hint announces the alternative. Callers with no
7
+ * keyboard alternative leave this at the default -1 (drag-only, mouse/touch).
8
+ */
9
+ tabIndex?: number;
10
+ "aria-describedby"?: string;
11
+ }
12
+ export declare const DragHandle: import("react").ForwardRefExoticComponent<DragHandleProps & import("react").RefAttributes<HTMLButtonElement>>;
13
+ export {};
4
14
  //# sourceMappingURL=DragHandle.d.ts.map