@abraca/nuxt 1.8.2 → 2.0.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 (475) hide show
  1. package/README.md +27 -2
  2. package/dist/module.d.mts +4 -3
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +50 -4
  5. package/dist/runtime/components/ADocumentTree.vue +1 -1
  6. package/dist/runtime/components/AEditor.d.vue.ts +26 -1
  7. package/dist/runtime/components/AEditor.vue +153 -4
  8. package/dist/runtime/components/AEditor.vue.d.ts +26 -1
  9. package/dist/runtime/components/AIdentityModal.d.vue.ts +46 -0
  10. package/dist/runtime/components/AIdentityModal.vue +157 -0
  11. package/dist/runtime/components/AIdentityModal.vue.d.ts +46 -0
  12. package/dist/runtime/components/AMnemonicLoginModal.d.vue.ts +35 -0
  13. package/dist/runtime/components/AMnemonicLoginModal.vue +173 -0
  14. package/dist/runtime/components/AMnemonicLoginModal.vue.d.ts +35 -0
  15. package/dist/runtime/components/ANodePanel.d.vue.ts +29 -2
  16. package/dist/runtime/components/ANodePanel.vue +148 -27
  17. package/dist/runtime/components/ANodePanel.vue.d.ts +29 -2
  18. package/dist/runtime/components/ANodePanelHeader.d.vue.ts +64 -0
  19. package/dist/runtime/components/ANodePanelHeader.vue +105 -0
  20. package/dist/runtime/components/ANodePanelHeader.vue.d.ts +64 -0
  21. package/dist/runtime/components/ANodeSettingsPanel.d.vue.ts +49 -0
  22. package/dist/runtime/components/ANodeSettingsPanel.vue +59 -0
  23. package/dist/runtime/components/ANodeSettingsPanel.vue.d.ts +49 -0
  24. package/dist/runtime/components/ANotificationBell.d.vue.ts +26 -0
  25. package/dist/runtime/components/ANotificationBell.vue +55 -0
  26. package/dist/runtime/components/ANotificationBell.vue.d.ts +26 -0
  27. package/dist/runtime/components/AOfflineSync.d.vue.ts +11 -0
  28. package/dist/runtime/components/AOfflineSync.vue +217 -0
  29. package/dist/runtime/components/AOfflineSync.vue.d.ts +11 -0
  30. package/dist/runtime/components/ARecoveryPhraseDisplay.d.vue.ts +26 -0
  31. package/dist/runtime/components/ARecoveryPhraseDisplay.vue +94 -0
  32. package/dist/runtime/components/ARecoveryPhraseDisplay.vue.d.ts +26 -0
  33. package/dist/runtime/components/AServerInfoModal.d.vue.ts +43 -0
  34. package/dist/runtime/components/AServerInfoModal.vue +150 -0
  35. package/dist/runtime/components/AServerInfoModal.vue.d.ts +43 -0
  36. package/dist/runtime/components/ASpaceFormModal.vue +1 -1
  37. package/dist/runtime/components/aware/AAccordion.d.vue.ts +25 -0
  38. package/dist/runtime/components/aware/AAccordion.vue +107 -0
  39. package/dist/runtime/components/aware/AAccordion.vue.d.ts +25 -0
  40. package/dist/runtime/components/aware/AArea.vue +24 -11
  41. package/dist/runtime/components/aware/AAvatar.d.vue.ts +6 -0
  42. package/dist/runtime/components/aware/AAvatar.vue +33 -3
  43. package/dist/runtime/components/aware/AAvatar.vue.d.ts +6 -0
  44. package/dist/runtime/components/aware/AAvatarGroup.d.vue.ts +10 -0
  45. package/dist/runtime/components/aware/AAvatarGroup.vue +30 -0
  46. package/dist/runtime/components/aware/AAvatarGroup.vue.d.ts +10 -0
  47. package/dist/runtime/components/aware/AButton.d.vue.ts +4 -2
  48. package/dist/runtime/components/aware/AButton.vue +46 -14
  49. package/dist/runtime/components/aware/AButton.vue.d.ts +4 -2
  50. package/dist/runtime/components/aware/ACalendar.d.vue.ts +17 -0
  51. package/dist/runtime/components/aware/ACalendar.vue +145 -0
  52. package/dist/runtime/components/aware/ACalendar.vue.d.ts +17 -0
  53. package/dist/runtime/components/aware/ACarousel.d.vue.ts +25 -0
  54. package/dist/runtime/components/aware/ACarousel.vue +39 -0
  55. package/dist/runtime/components/aware/ACarousel.vue.d.ts +25 -0
  56. package/dist/runtime/components/aware/ACheckbox.d.vue.ts +11 -0
  57. package/dist/runtime/components/aware/ACheckbox.vue +74 -0
  58. package/dist/runtime/components/aware/ACheckbox.vue.d.ts +11 -0
  59. package/dist/runtime/components/aware/ACheckboxGroup.d.vue.ts +27 -0
  60. package/dist/runtime/components/aware/ACheckboxGroup.vue +79 -0
  61. package/dist/runtime/components/aware/ACheckboxGroup.vue.d.ts +27 -0
  62. package/dist/runtime/components/aware/ACollapsible.d.vue.ts +25 -0
  63. package/dist/runtime/components/aware/ACollapsible.vue +45 -0
  64. package/dist/runtime/components/aware/ACollapsible.vue.d.ts +25 -0
  65. package/dist/runtime/components/aware/AColorPicker.d.vue.ts +15 -0
  66. package/dist/runtime/components/aware/AColorPicker.vue +48 -0
  67. package/dist/runtime/components/aware/AColorPicker.vue.d.ts +15 -0
  68. package/dist/runtime/components/aware/ACommandPalette.d.vue.ts +33 -0
  69. package/dist/runtime/components/aware/ACommandPalette.vue +123 -0
  70. package/dist/runtime/components/aware/ACommandPalette.vue.d.ts +33 -0
  71. package/dist/runtime/components/aware/AContextMenu.d.vue.ts +25 -0
  72. package/dist/runtime/components/aware/AContextMenu.vue +63 -0
  73. package/dist/runtime/components/aware/AContextMenu.vue.d.ts +25 -0
  74. package/dist/runtime/components/aware/ADrawer.d.vue.ts +25 -0
  75. package/dist/runtime/components/aware/ADrawer.vue +57 -0
  76. package/dist/runtime/components/aware/ADrawer.vue.d.ts +25 -0
  77. package/dist/runtime/components/aware/ADropdownMenu.d.vue.ts +25 -0
  78. package/dist/runtime/components/aware/ADropdownMenu.vue +63 -0
  79. package/dist/runtime/components/aware/ADropdownMenu.vue.d.ts +25 -0
  80. package/dist/runtime/components/aware/AFileUpload.d.vue.ts +27 -0
  81. package/dist/runtime/components/aware/AFileUpload.vue +67 -0
  82. package/dist/runtime/components/aware/AFileUpload.vue.d.ts +27 -0
  83. package/dist/runtime/components/aware/AFollowBar.d.vue.ts +21 -0
  84. package/dist/runtime/components/aware/AFollowBar.vue +62 -0
  85. package/dist/runtime/components/aware/AFollowBar.vue.d.ts +21 -0
  86. package/dist/runtime/components/aware/AFollowScroll.d.vue.ts +7 -0
  87. package/dist/runtime/components/aware/AFollowScroll.vue +17 -0
  88. package/dist/runtime/components/aware/AFollowScroll.vue.d.ts +7 -0
  89. package/dist/runtime/components/aware/AFormSync.d.vue.ts +21 -0
  90. package/dist/runtime/components/aware/AFormSync.vue +52 -0
  91. package/dist/runtime/components/aware/AFormSync.vue.d.ts +21 -0
  92. package/dist/runtime/components/aware/AGlobalFocusLayer.d.vue.ts +3 -0
  93. package/dist/runtime/components/aware/AGlobalFocusLayer.vue +90 -0
  94. package/dist/runtime/components/aware/AGlobalFocusLayer.vue.d.ts +3 -0
  95. package/dist/runtime/components/aware/AHoverItem.d.vue.ts +27 -0
  96. package/dist/runtime/components/aware/AHoverItem.vue +124 -0
  97. package/dist/runtime/components/aware/AHoverItem.vue.d.ts +27 -0
  98. package/dist/runtime/components/aware/AInput.d.vue.ts +12 -2
  99. package/dist/runtime/components/aware/AInput.vue +72 -19
  100. package/dist/runtime/components/aware/AInput.vue.d.ts +12 -2
  101. package/dist/runtime/components/aware/AInputMenu.d.vue.ts +17 -0
  102. package/dist/runtime/components/aware/AInputMenu.vue +138 -0
  103. package/dist/runtime/components/aware/AInputMenu.vue.d.ts +17 -0
  104. package/dist/runtime/components/aware/AInputNumber.d.vue.ts +15 -0
  105. package/dist/runtime/components/aware/AInputNumber.vue +67 -0
  106. package/dist/runtime/components/aware/AInputNumber.vue.d.ts +15 -0
  107. package/dist/runtime/components/aware/AInputTags.d.vue.ts +15 -0
  108. package/dist/runtime/components/aware/AInputTags.vue +67 -0
  109. package/dist/runtime/components/aware/AInputTags.vue.d.ts +15 -0
  110. package/dist/runtime/components/aware/AKeyHint.d.vue.ts +3 -0
  111. package/dist/runtime/components/aware/AKeyHint.vue +23 -0
  112. package/dist/runtime/components/aware/AKeyHint.vue.d.ts +3 -0
  113. package/dist/runtime/components/aware/AMedia.d.vue.ts +19 -0
  114. package/dist/runtime/components/aware/AMedia.vue +85 -0
  115. package/dist/runtime/components/aware/AMedia.vue.d.ts +19 -0
  116. package/dist/runtime/components/aware/AModal.d.vue.ts +33 -0
  117. package/dist/runtime/components/aware/AModal.vue +110 -0
  118. package/dist/runtime/components/aware/AModal.vue.d.ts +33 -0
  119. package/dist/runtime/components/aware/ANavigationMenu.d.vue.ts +25 -0
  120. package/dist/runtime/components/aware/ANavigationMenu.vue +82 -0
  121. package/dist/runtime/components/aware/ANavigationMenu.vue.d.ts +25 -0
  122. package/dist/runtime/components/aware/APagination.d.vue.ts +13 -0
  123. package/dist/runtime/components/aware/APagination.vue +53 -0
  124. package/dist/runtime/components/aware/APagination.vue.d.ts +13 -0
  125. package/dist/runtime/components/aware/APeerCaretLayer.d.vue.ts +10 -0
  126. package/dist/runtime/components/aware/APeerCaretLayer.vue +133 -0
  127. package/dist/runtime/components/aware/APeerCaretLayer.vue.d.ts +10 -0
  128. package/dist/runtime/components/aware/APinInput.d.vue.ts +15 -0
  129. package/dist/runtime/components/aware/APinInput.vue +48 -0
  130. package/dist/runtime/components/aware/APinInput.vue.d.ts +15 -0
  131. package/dist/runtime/components/aware/APopover.d.vue.ts +25 -0
  132. package/dist/runtime/components/aware/APopover.vue +57 -0
  133. package/dist/runtime/components/aware/APopover.vue.d.ts +25 -0
  134. package/dist/runtime/components/aware/APresenceBlobs.d.vue.ts +3 -0
  135. package/dist/runtime/components/aware/APresenceBlobs.vue +69 -0
  136. package/dist/runtime/components/aware/APresenceBlobs.vue.d.ts +3 -0
  137. package/dist/runtime/components/aware/APresenceCursors.d.vue.ts +20 -0
  138. package/dist/runtime/components/aware/APresenceCursors.vue +47 -0
  139. package/dist/runtime/components/aware/APresenceCursors.vue.d.ts +20 -0
  140. package/dist/runtime/components/aware/ARadioGroup.d.vue.ts +27 -0
  141. package/dist/runtime/components/aware/ARadioGroup.vue +86 -0
  142. package/dist/runtime/components/aware/ARadioGroup.vue.d.ts +27 -0
  143. package/dist/runtime/components/aware/AScroll.d.vue.ts +25 -0
  144. package/dist/runtime/components/aware/AScroll.vue +87 -0
  145. package/dist/runtime/components/aware/AScroll.vue.d.ts +25 -0
  146. package/dist/runtime/components/aware/ASelect.d.vue.ts +12 -2
  147. package/dist/runtime/components/aware/ASelect.vue +146 -22
  148. package/dist/runtime/components/aware/ASelect.vue.d.ts +12 -2
  149. package/dist/runtime/components/aware/ASelectMenu.d.vue.ts +17 -0
  150. package/dist/runtime/components/aware/ASelectMenu.vue +139 -0
  151. package/dist/runtime/components/aware/ASelectMenu.vue.d.ts +17 -0
  152. package/dist/runtime/components/aware/ASlideover.d.vue.ts +33 -0
  153. package/dist/runtime/components/aware/ASlideover.vue +110 -0
  154. package/dist/runtime/components/aware/ASlideover.vue.d.ts +33 -0
  155. package/dist/runtime/components/aware/ASlider.d.vue.ts +19 -0
  156. package/dist/runtime/components/aware/ASlider.vue +77 -0
  157. package/dist/runtime/components/aware/ASlider.vue.d.ts +19 -0
  158. package/dist/runtime/components/aware/AStepper.d.vue.ts +25 -0
  159. package/dist/runtime/components/aware/AStepper.vue +82 -0
  160. package/dist/runtime/components/aware/AStepper.vue.d.ts +25 -0
  161. package/dist/runtime/components/aware/ASwitch.d.vue.ts +11 -0
  162. package/dist/runtime/components/aware/ASwitch.vue +75 -0
  163. package/dist/runtime/components/aware/ASwitch.vue.d.ts +11 -0
  164. package/dist/runtime/components/aware/ATable.d.vue.ts +23 -0
  165. package/dist/runtime/components/aware/ATable.vue +97 -0
  166. package/dist/runtime/components/aware/ATable.vue.d.ts +23 -0
  167. package/dist/runtime/components/aware/ATabs.d.vue.ts +27 -0
  168. package/dist/runtime/components/aware/ATabs.vue +128 -0
  169. package/dist/runtime/components/aware/ATabs.vue.d.ts +27 -0
  170. package/dist/runtime/components/aware/ATextarea.d.vue.ts +12 -2
  171. package/dist/runtime/components/aware/ATextarea.vue +72 -19
  172. package/dist/runtime/components/aware/ATextarea.vue.d.ts +12 -2
  173. package/dist/runtime/components/aware/AToggleGroup.d.vue.ts +27 -0
  174. package/dist/runtime/components/aware/AToggleGroup.vue +79 -0
  175. package/dist/runtime/components/aware/AToggleGroup.vue.d.ts +27 -0
  176. package/dist/runtime/components/aware/ATree.d.vue.ts +27 -0
  177. package/dist/runtime/components/aware/ATree.vue +111 -0
  178. package/dist/runtime/components/aware/ATree.vue.d.ts +27 -0
  179. package/dist/runtime/components/chat/AChatPanel.d.vue.ts +6 -6
  180. package/dist/runtime/components/chat/AChatPanel.vue.d.ts +6 -6
  181. package/dist/runtime/components/chat/ANodeChatPanel.d.vue.ts +42 -0
  182. package/dist/runtime/components/chat/ANodeChatPanel.vue +53 -0
  183. package/dist/runtime/components/chat/ANodeChatPanel.vue.d.ts +42 -0
  184. package/dist/runtime/components/docs/ADocsNavigation.d.vue.ts +155 -0
  185. package/dist/runtime/components/docs/ADocsNavigation.vue +154 -0
  186. package/dist/runtime/components/docs/ADocsNavigation.vue.d.ts +155 -0
  187. package/dist/runtime/components/docs/ADocsSearch.d.vue.ts +249 -0
  188. package/dist/runtime/components/docs/ADocsSearch.vue +187 -0
  189. package/dist/runtime/components/docs/ADocsSearch.vue.d.ts +249 -0
  190. package/dist/runtime/components/docs/ADocsSearchButton.d.vue.ts +253 -0
  191. package/dist/runtime/components/docs/ADocsSearchButton.vue +99 -0
  192. package/dist/runtime/components/docs/ADocsSearchButton.vue.d.ts +253 -0
  193. package/dist/runtime/components/docs/ADocsSurround.d.vue.ts +56 -0
  194. package/dist/runtime/components/docs/ADocsSurround.vue +68 -0
  195. package/dist/runtime/components/docs/ADocsSurround.vue.d.ts +56 -0
  196. package/dist/runtime/components/docs/ADocsToc.d.vue.ts +117 -0
  197. package/dist/runtime/components/docs/ADocsToc.vue +194 -0
  198. package/dist/runtime/components/docs/ADocsToc.vue.d.ts +117 -0
  199. package/dist/runtime/components/editor/ADocLinkPopover.vue +1 -5
  200. package/dist/runtime/components/editor/AEditorRedoButton.d.vue.ts +26 -0
  201. package/dist/runtime/components/editor/AEditorRedoButton.vue +38 -0
  202. package/dist/runtime/components/editor/AEditorRedoButton.vue.d.ts +26 -0
  203. package/dist/runtime/components/editor/AEditorUndoButton.d.vue.ts +26 -0
  204. package/dist/runtime/components/editor/AEditorUndoButton.vue +38 -0
  205. package/dist/runtime/components/editor/AEditorUndoButton.vue.d.ts +26 -0
  206. package/dist/runtime/components/editor/AIconPickerPopover.d.vue.ts +24 -0
  207. package/dist/runtime/components/editor/AIconPickerPopover.vue +113 -0
  208. package/dist/runtime/components/editor/AIconPickerPopover.vue.d.ts +24 -0
  209. package/dist/runtime/components/editor/ANodeInlineLabel.d.vue.ts +24 -0
  210. package/dist/runtime/components/editor/ANodeInlineLabel.vue +101 -0
  211. package/dist/runtime/components/editor/ANodeInlineLabel.vue.d.ts +24 -0
  212. package/dist/runtime/components/renderers/ADocLoadError.d.vue.ts +3 -0
  213. package/dist/runtime/components/renderers/ADocLoadError.vue +11 -0
  214. package/dist/runtime/components/renderers/ADocLoadError.vue.d.ts +3 -0
  215. package/dist/runtime/components/renderers/ADocLoadingSkeleton.d.vue.ts +3 -0
  216. package/dist/runtime/components/renderers/ADocLoadingSkeleton.vue +5 -0
  217. package/dist/runtime/components/renderers/ADocLoadingSkeleton.vue.d.ts +3 -0
  218. package/dist/runtime/components/renderers/AMediaRenderer.vue +1 -1
  219. package/dist/runtime/components/renderers/AOverviewRenderer.d.vue.ts +22 -0
  220. package/dist/runtime/components/renderers/AOverviewRenderer.vue +1041 -0
  221. package/dist/runtime/components/renderers/AOverviewRenderer.vue.d.ts +22 -0
  222. package/dist/runtime/components/renderers/AProseRenderer.d.vue.ts +23 -0
  223. package/dist/runtime/components/renderers/AProseRenderer.vue +31 -0
  224. package/dist/runtime/components/renderers/AProseRenderer.vue.d.ts +23 -0
  225. package/dist/runtime/components/renderers/ASheetsRenderer.client.d.vue.ts +19 -0
  226. package/dist/runtime/components/renderers/ASheetsRenderer.client.vue +865 -0
  227. package/dist/runtime/components/renderers/ASheetsRenderer.client.vue.d.ts +19 -0
  228. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.d.vue.ts +14 -0
  229. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue +45 -15
  230. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue.d.ts +14 -0
  231. package/dist/runtime/components/renderers/calendar/ACalendarDayView.d.vue.ts +15 -0
  232. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue +93 -20
  233. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue.d.ts +15 -0
  234. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.d.vue.ts +9 -0
  235. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue +31 -2
  236. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue.d.ts +9 -0
  237. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.d.vue.ts +4 -4
  238. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue.d.ts +4 -4
  239. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.d.vue.ts +15 -0
  240. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue +94 -21
  241. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue.d.ts +15 -0
  242. package/dist/runtime/components/renderers/media/MediaTransportBar.d.vue.ts +2 -2
  243. package/dist/runtime/components/renderers/media/MediaTransportBar.vue.d.ts +2 -2
  244. package/dist/runtime/components/renderers/sheets/ASheetsCell.d.vue.ts +45 -0
  245. package/dist/runtime/components/renderers/sheets/ASheetsCell.vue +123 -0
  246. package/dist/runtime/components/renderers/sheets/ASheetsCell.vue.d.ts +45 -0
  247. package/dist/runtime/components/renderers/sheets/ASheetsGrid.d.vue.ts +111 -0
  248. package/dist/runtime/components/renderers/sheets/ASheetsGrid.vue +737 -0
  249. package/dist/runtime/components/renderers/sheets/ASheetsGrid.vue.d.ts +111 -0
  250. package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.d.vue.ts +26 -0
  251. package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.vue +100 -0
  252. package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.vue.d.ts +26 -0
  253. package/dist/runtime/components/renderers/sheets/ASheetsToolbar.d.vue.ts +48 -0
  254. package/dist/runtime/components/renderers/sheets/ASheetsToolbar.vue +243 -0
  255. package/dist/runtime/components/renderers/sheets/ASheetsToolbar.vue.d.ts +48 -0
  256. package/dist/runtime/components/renderers/table/cells/ATableCellColor.d.vue.ts +1 -0
  257. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue +13 -32
  258. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue.d.ts +1 -0
  259. package/dist/runtime/components/renderers/timeline/ATimelineBar.d.vue.ts +6 -0
  260. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue +34 -4
  261. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue.d.ts +6 -0
  262. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.d.vue.ts +16 -0
  263. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue +14 -3
  264. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue.d.ts +16 -0
  265. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.d.vue.ts +13 -1
  266. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue +114 -47
  267. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue.d.ts +13 -1
  268. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.d.vue.ts +4 -0
  269. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue +21 -4
  270. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue.d.ts +4 -0
  271. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.d.vue.ts +2 -2
  272. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue.d.ts +2 -2
  273. package/dist/runtime/components/settings/ASettingsSpacesPanel.vue +7 -25
  274. package/dist/runtime/components/shell/ADocPanelSettings.d.vue.ts +34 -4
  275. package/dist/runtime/components/shell/ADocPanelSettings.vue +289 -2
  276. package/dist/runtime/components/shell/ADocPanelSettings.vue.d.ts +34 -4
  277. package/dist/runtime/components/shell/ASyncStatus.d.vue.ts +1 -1
  278. package/dist/runtime/components/shell/ASyncStatus.vue.d.ts +1 -1
  279. package/dist/runtime/components/shell/AUserMenu.d.vue.ts +2 -2
  280. package/dist/runtime/components/shell/AUserMenu.vue.d.ts +2 -2
  281. package/dist/runtime/components/shell/AWelcomeScreen.d.vue.ts +1 -1
  282. package/dist/runtime/components/shell/AWelcomeScreen.vue.d.ts +1 -1
  283. package/dist/runtime/composables/useAACaret.d.ts +29 -0
  284. package/dist/runtime/composables/useAACaret.js +64 -0
  285. package/dist/runtime/composables/useAAEphemeral.d.ts +32 -0
  286. package/dist/runtime/composables/useAAEphemeral.js +33 -0
  287. package/dist/runtime/composables/useAAField.d.ts +10 -2
  288. package/dist/runtime/composables/useAAField.js +31 -2
  289. package/dist/runtime/composables/useAAFieldValue.d.ts +26 -0
  290. package/dist/runtime/composables/useAAFieldValue.js +32 -0
  291. package/dist/runtime/composables/useAAFocus.d.ts +68 -0
  292. package/dist/runtime/composables/useAAFocus.js +174 -0
  293. package/dist/runtime/composables/useAAFollowAnchor.d.ts +25 -0
  294. package/dist/runtime/composables/useAAFollowAnchor.js +69 -0
  295. package/dist/runtime/composables/useAAFollowPeer.d.ts +29 -0
  296. package/dist/runtime/composables/useAAFollowPeer.js +75 -0
  297. package/dist/runtime/composables/useAAKey.d.ts +22 -0
  298. package/dist/runtime/composables/useAAKey.js +24 -0
  299. package/dist/runtime/composables/useAAPointer.d.ts +30 -0
  300. package/dist/runtime/composables/useAAPointer.js +53 -0
  301. package/dist/runtime/composables/useAAUIState.d.ts +29 -0
  302. package/dist/runtime/composables/useAAUIState.js +28 -0
  303. package/dist/runtime/composables/useAAViewport.d.ts +22 -0
  304. package/dist/runtime/composables/useAAViewport.js +50 -0
  305. package/dist/runtime/composables/useAbraAdmin.d.ts +54 -0
  306. package/dist/runtime/composables/useAbraAdmin.js +115 -0
  307. package/dist/runtime/composables/useAbracadabraAuth.d.ts +8 -0
  308. package/dist/runtime/composables/useAbracadabraAuth.js +8 -0
  309. package/dist/runtime/composables/useAggregatedPresence.d.ts +23 -0
  310. package/dist/runtime/composables/useAggregatedPresence.js +140 -0
  311. package/dist/runtime/composables/useChat.d.ts +16 -2
  312. package/dist/runtime/composables/useChat.js +257 -66
  313. package/dist/runtime/composables/useChatUsers.d.ts +2 -0
  314. package/dist/runtime/composables/useChatUsers.js +2 -1
  315. package/dist/runtime/composables/useDocLookup.d.ts +4 -0
  316. package/dist/runtime/composables/useDocLookup.js +25 -0
  317. package/dist/runtime/composables/useDocSnapshots.d.ts +79 -0
  318. package/dist/runtime/composables/useDocSnapshots.js +234 -0
  319. package/dist/runtime/composables/useDocsSearch.d.ts +24 -0
  320. package/dist/runtime/composables/useDocsSearch.js +34 -0
  321. package/dist/runtime/composables/useEditorDragHandle.d.ts +7 -0
  322. package/dist/runtime/composables/useEditorDragHandle.js +19 -1
  323. package/dist/runtime/composables/useEditorSuggestions.js +26 -1
  324. package/dist/runtime/composables/useEditorToolbar.js +9 -1
  325. package/dist/runtime/composables/useEmailVerification.d.ts +33 -0
  326. package/dist/runtime/composables/useEmailVerification.js +58 -0
  327. package/dist/runtime/composables/useIdentityDoc.js +0 -3
  328. package/dist/runtime/composables/useItemPresence.d.ts +47 -0
  329. package/dist/runtime/composables/useItemPresence.js +73 -0
  330. package/dist/runtime/composables/useResizableWidth.d.ts +24 -0
  331. package/dist/runtime/composables/useResizableWidth.js +87 -0
  332. package/dist/runtime/composables/useServerInfo.d.ts +17 -2
  333. package/dist/runtime/composables/useServerInfo.js +30 -6
  334. package/dist/runtime/composables/useServerSearch.d.ts +36 -0
  335. package/dist/runtime/composables/useServerSearch.js +91 -0
  336. package/dist/runtime/composables/useServerTrash.d.ts +67 -0
  337. package/dist/runtime/composables/useServerTrash.js +128 -0
  338. package/dist/runtime/composables/useSheetsClipboard.d.ts +42 -0
  339. package/dist/runtime/composables/useSheetsClipboard.js +109 -0
  340. package/dist/runtime/composables/useSheetsFormulas.d.ts +38 -0
  341. package/dist/runtime/composables/useSheetsFormulas.js +725 -0
  342. package/dist/runtime/composables/useSheetsSelection.d.ts +68 -0
  343. package/dist/runtime/composables/useSheetsSelection.js +390 -0
  344. package/dist/runtime/composables/useSheetsView.d.ts +31 -0
  345. package/dist/runtime/composables/useSheetsView.js +77 -0
  346. package/dist/runtime/composables/useSpaceConnections.d.ts +43 -0
  347. package/dist/runtime/composables/useSpaceConnections.js +72 -0
  348. package/dist/runtime/composables/useSpaces.d.ts +1 -3
  349. package/dist/runtime/composables/useSpaces.js +2 -5
  350. package/dist/runtime/composables/useTiptapHistory.d.ts +22 -0
  351. package/dist/runtime/composables/useTiptapHistory.js +12 -0
  352. package/dist/runtime/composables/useTreeExpansion.d.ts +28 -0
  353. package/dist/runtime/composables/useTreeExpansion.js +94 -0
  354. package/dist/runtime/composables/useYDoc.js +12 -1
  355. package/dist/runtime/extensions/button.d.ts +3 -0
  356. package/dist/runtime/extensions/button.js +62 -0
  357. package/dist/runtime/extensions/color-swatch.d.ts +2 -0
  358. package/dist/runtime/extensions/color-swatch.js +34 -0
  359. package/dist/runtime/extensions/diff.d.ts +2 -0
  360. package/dist/runtime/extensions/diff.js +40 -0
  361. package/dist/runtime/extensions/divider.d.ts +2 -0
  362. package/dist/runtime/extensions/divider.js +33 -0
  363. package/dist/runtime/extensions/doc-embed.js +2 -1
  364. package/dist/runtime/extensions/doc-link-drop.js +4 -4
  365. package/dist/runtime/extensions/doc-link.d.ts +12 -0
  366. package/dist/runtime/extensions/doc-link.js +60 -0
  367. package/dist/runtime/extensions/embed.d.ts +2 -0
  368. package/dist/runtime/extensions/embed.js +40 -0
  369. package/dist/runtime/extensions/figure.d.ts +2 -0
  370. package/dist/runtime/extensions/figure.js +49 -0
  371. package/dist/runtime/extensions/math.d.ts +15 -0
  372. package/dist/runtime/extensions/math.js +66 -0
  373. package/dist/runtime/extensions/progress.d.ts +2 -0
  374. package/dist/runtime/extensions/progress.js +43 -0
  375. package/dist/runtime/extensions/quote.d.ts +2 -0
  376. package/dist/runtime/extensions/quote.js +39 -0
  377. package/dist/runtime/extensions/spoiler.d.ts +2 -0
  378. package/dist/runtime/extensions/spoiler.js +36 -0
  379. package/dist/runtime/extensions/stat.d.ts +3 -0
  380. package/dist/runtime/extensions/stat.js +58 -0
  381. package/dist/runtime/extensions/video.d.ts +2 -0
  382. package/dist/runtime/extensions/video.js +40 -0
  383. package/dist/runtime/extensions/views/ButtonGroupView.d.vue.ts +4 -0
  384. package/dist/runtime/extensions/views/ButtonGroupView.vue +25 -0
  385. package/dist/runtime/extensions/views/ButtonGroupView.vue.d.ts +4 -0
  386. package/dist/runtime/extensions/views/ButtonView.d.vue.ts +4 -0
  387. package/dist/runtime/extensions/views/ButtonView.vue +171 -0
  388. package/dist/runtime/extensions/views/ButtonView.vue.d.ts +4 -0
  389. package/dist/runtime/extensions/views/ColorSwatchView.d.vue.ts +4 -0
  390. package/dist/runtime/extensions/views/ColorSwatchView.vue +134 -0
  391. package/dist/runtime/extensions/views/ColorSwatchView.vue.d.ts +4 -0
  392. package/dist/runtime/extensions/views/DiffView.d.vue.ts +4 -0
  393. package/dist/runtime/extensions/views/DiffView.vue +163 -0
  394. package/dist/runtime/extensions/views/DiffView.vue.d.ts +4 -0
  395. package/dist/runtime/extensions/views/DividerView.d.vue.ts +4 -0
  396. package/dist/runtime/extensions/views/DividerView.vue +40 -0
  397. package/dist/runtime/extensions/views/DividerView.vue.d.ts +4 -0
  398. package/dist/runtime/extensions/views/DocEmbedView.vue +18 -3
  399. package/dist/runtime/extensions/views/DocLinkView.d.vue.ts +4 -0
  400. package/dist/runtime/extensions/views/DocLinkView.vue +71 -0
  401. package/dist/runtime/extensions/views/DocLinkView.vue.d.ts +4 -0
  402. package/dist/runtime/extensions/views/EmbedView.d.vue.ts +4 -0
  403. package/dist/runtime/extensions/views/EmbedView.vue +166 -0
  404. package/dist/runtime/extensions/views/EmbedView.vue.d.ts +4 -0
  405. package/dist/runtime/extensions/views/FigureView.d.vue.ts +4 -0
  406. package/dist/runtime/extensions/views/FigureView.vue +122 -0
  407. package/dist/runtime/extensions/views/FigureView.vue.d.ts +4 -0
  408. package/dist/runtime/extensions/views/FileNodeView.vue +21 -24
  409. package/dist/runtime/extensions/views/MathBlockView.d.vue.ts +4 -0
  410. package/dist/runtime/extensions/views/MathBlockView.vue +151 -0
  411. package/dist/runtime/extensions/views/MathBlockView.vue.d.ts +4 -0
  412. package/dist/runtime/extensions/views/MathInlineView.d.vue.ts +4 -0
  413. package/dist/runtime/extensions/views/MathInlineView.vue +149 -0
  414. package/dist/runtime/extensions/views/MathInlineView.vue.d.ts +4 -0
  415. package/dist/runtime/extensions/views/MetaFieldView.vue +1129 -550
  416. package/dist/runtime/extensions/views/ProgressView.d.vue.ts +4 -0
  417. package/dist/runtime/extensions/views/ProgressView.vue +156 -0
  418. package/dist/runtime/extensions/views/ProgressView.vue.d.ts +4 -0
  419. package/dist/runtime/extensions/views/QuoteView.d.vue.ts +4 -0
  420. package/dist/runtime/extensions/views/QuoteView.vue +128 -0
  421. package/dist/runtime/extensions/views/QuoteView.vue.d.ts +4 -0
  422. package/dist/runtime/extensions/views/SpoilerView.d.vue.ts +4 -0
  423. package/dist/runtime/extensions/views/SpoilerView.vue +62 -0
  424. package/dist/runtime/extensions/views/SpoilerView.vue.d.ts +4 -0
  425. package/dist/runtime/extensions/views/StatGroupView.d.vue.ts +4 -0
  426. package/dist/runtime/extensions/views/StatGroupView.vue +25 -0
  427. package/dist/runtime/extensions/views/StatGroupView.vue.d.ts +4 -0
  428. package/dist/runtime/extensions/views/StatView.d.vue.ts +4 -0
  429. package/dist/runtime/extensions/views/StatView.vue +89 -0
  430. package/dist/runtime/extensions/views/StatView.vue.d.ts +4 -0
  431. package/dist/runtime/extensions/views/VideoView.d.vue.ts +4 -0
  432. package/dist/runtime/extensions/views/VideoView.vue +190 -0
  433. package/dist/runtime/extensions/views/VideoView.vue.d.ts +4 -0
  434. package/dist/runtime/locale.d.ts +133 -0
  435. package/dist/runtime/locale.js +121 -2
  436. package/dist/runtime/plugin-abracadabra.client.js +251 -38
  437. package/dist/runtime/plugin-abracadabra.server.js +0 -1
  438. package/dist/runtime/plugins/core.plugin.js +76 -4
  439. package/dist/runtime/server/plugins/abracadabra-service.js +4 -2
  440. package/dist/runtime/server/utils/rpcHandler.d.ts +74 -0
  441. package/dist/runtime/server/utils/rpcHandler.js +74 -0
  442. package/dist/runtime/server/utils/spaceManager.js +10 -9
  443. package/dist/runtime/theme/content/_shared.d.ts +6 -0
  444. package/dist/runtime/theme/content/_shared.js +6 -0
  445. package/dist/runtime/theme/content/content-navigation.d.ts +120 -0
  446. package/dist/runtime/theme/content/content-navigation.js +155 -0
  447. package/dist/runtime/theme/content/content-search-button.d.ts +16 -0
  448. package/dist/runtime/theme/content/content-search-button.js +15 -0
  449. package/dist/runtime/theme/content/content-search.d.ts +24 -0
  450. package/dist/runtime/theme/content/content-search.js +23 -0
  451. package/dist/runtime/theme/content/content-surround.d.ts +22 -0
  452. package/dist/runtime/theme/content/content-surround.js +23 -0
  453. package/dist/runtime/theme/content/content-toc.d.ts +84 -0
  454. package/dist/runtime/theme/content/content-toc.js +94 -0
  455. package/dist/runtime/theme/content/index.d.ts +5 -0
  456. package/dist/runtime/theme/content/index.js +5 -0
  457. package/dist/runtime/types.d.ts +63 -10
  458. package/dist/runtime/utils/awareRingStyle.d.ts +22 -0
  459. package/dist/runtime/utils/awareRingStyle.js +16 -0
  460. package/dist/runtime/utils/caretCoordinates.d.ts +41 -0
  461. package/dist/runtime/utils/caretCoordinates.js +126 -0
  462. package/dist/runtime/utils/content.d.ts +19 -0
  463. package/dist/runtime/utils/content.js +23 -0
  464. package/dist/runtime/utils/docReferenceEdges.js +1 -1
  465. package/dist/runtime/utils/docTypes.js +44 -13
  466. package/dist/runtime/utils/domPath.d.ts +42 -0
  467. package/dist/runtime/utils/domPath.js +89 -0
  468. package/dist/runtime/utils/loadKatex.d.ts +1 -0
  469. package/dist/runtime/utils/loadKatex.js +29 -0
  470. package/dist/runtime/utils/lucideIcons.d.ts +16 -0
  471. package/dist/runtime/utils/lucideIcons.js +451 -0
  472. package/dist/runtime/utils/time.d.ts +15 -0
  473. package/dist/runtime/utils/time.js +5 -0
  474. package/dist/types.d.mts +4 -0
  475. package/package.json +38 -20
package/README.md CHANGED
@@ -216,7 +216,7 @@ pnpm install
216
216
  # Generate type stubs
217
217
  pnpm dev:prepare
218
218
 
219
- # Develop with the playground
219
+ # Develop with the playground (one route per module feature)
220
220
  pnpm dev
221
221
 
222
222
  # Build
@@ -225,11 +225,36 @@ pnpm prepack
225
225
  # Lint
226
226
  pnpm lint
227
227
 
228
- # Test
228
+ # Unit + integration tests (requires a running abracadabra-rs at $ABRACADABRA_URL for integration)
229
229
  pnpm test
230
230
  pnpm test:watch
231
+ pnpm test:integration
232
+
233
+ # Browser E2E (Playwright against a real spawned abracadabra-rs + abracadabra-aperio)
234
+ pnpm test:e2e # headless
235
+ pnpm test:e2e:headed # headed debug
236
+ pnpm test:e2e:ui # Playwright UI mode
237
+ ```
238
+
239
+ ### E2E setup
240
+
241
+ `pnpm test:e2e` drives Chromium against a freshly-spawned `abracadabra-rs`
242
+ (release binary) and `abracadabra-aperio` (Nuxt dev) — no mocks. The sibling
243
+ repos must be checked out next to this one:
244
+
245
+ ```
246
+ Abracadabra/
247
+ ├── abracadabra-nuxt/ (this repo)
248
+ ├── abracadabra-rs/ # build: cargo build --release -p abracadabra-server
249
+ └── abracadabra-aperio/ # consumer app under test
231
250
  ```
232
251
 
252
+ The test harness listens on port **3300** for aperio. Keep that free. Set
253
+ `E2E_VERBOSE=1` to stream rs + aperio logs alongside test output — useful
254
+ when a test is surprising you.
255
+
256
+ The `playground/` directory is a focused, multi-page sandbox — one route per module feature — used to develop and visually verify the module in isolation. For a full reference application that exercises the entire module surface (auth, spaces, chat, file transfer, settings, etc.), see [`abracadabra-aperio`](../abracadabra-aperio), the open-source dashboard built on top of `@abraca/nuxt`.
257
+
233
258
  <!-- Badges -->
234
259
  [npm-version-src]: https://img.shields.io/npm/v/@abraca/nuxt/latest.svg?style=flat&colorA=020420&colorB=00DC82
235
260
  [npm-version-href]: https://npmjs.com/package/@abraca/nuxt
package/dist/module.d.mts CHANGED
@@ -8,6 +8,8 @@ export { DocSeoOptions } from '../dist/runtime/composables/useDocSeo.js';
8
8
  export { DocDragState } from '../dist/runtime/composables/useDocDragBus.js';
9
9
  export { ParsedMessage, TextSegment, parseMessageContent, previewMessageContent, renderMessageSegments } from '../dist/runtime/utils/chatContent.js';
10
10
  export { DupEntry, duplicateDocContent, duplicateDocTree } from '../dist/runtime/utils/duplicateDocContent.js';
11
+ export { AuditLogEntry, AuditQueryOpts, AuditVerifyResult, DocSearchHit, ReadyzStatus } from '@abraca/dabra';
12
+ export { ServerTrashEntry } from '../dist/runtime/composables/useServerTrash.js';
11
13
  export { SlugMap, SlugMapEntry, buildSlugMap, isUUID, slugify } from '../dist/runtime/utils/slugify.js';
12
14
  export { avatarBorderStyle, avatarGradient, avatarStyleFromName } from '../dist/runtime/utils/avatarStyle.js';
13
15
  export { COLOR_PALETTES, ColorPalette, ColorShade, findPaletteByHex } from '../dist/runtime/utils/colorPalettes.js';
@@ -87,11 +89,10 @@ interface ModuleOptions {
87
89
  /**
88
90
  * Root document ID to connect to on boot.
89
91
  * When set, skips server-info / spaces discovery and connects directly.
90
- * Useful when your server uses spaces and you know the hub or space doc ID.
91
92
  * Can be overridden at runtime via NUXT_PUBLIC_ABRACADABRA_ENTRY_DOC_ID.
92
93
  *
93
94
  * Discovery priority (first non-empty wins):
94
- * entryDocId > hubDocId (from /spaces/hub) > first space > server index_doc_id
95
+ * entryDocId > saved server entryDocId > first Space (kind="space" top-level doc)
95
96
  */
96
97
  entryDocId?: string;
97
98
  /**
@@ -267,7 +268,7 @@ interface ModuleOptions {
267
268
  publicKey?: string;
268
269
  /** Ed25519 private key (base64url). Stored in private runtime config only. */
269
270
  privateKey?: string;
270
- /** Root document ID to connect to. Defaults to the server's index_doc_id. */
271
+ /** Root document ID to connect to. Defaults to the server's root_doc_id. */
271
272
  rootDocId?: string;
272
273
  /** Disable the service provider even if keys are present. Default: false. */
273
274
  disabled?: boolean;
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=4.0.0"
6
6
  },
7
- "version": "1.8.2",
7
+ "version": "2.0.0",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import { createRequire } from 'node:module';
1
2
  import { defineNuxtModule, createResolver, addPlugin, addImportsDir, addImports, addComponentsDir, addServerHandler, addRouteMiddleware, addServerPlugin, addServerImportsDir } from '@nuxt/kit';
2
3
  import { defu } from 'defu';
3
4
  export { buildSlugMap, isUUID, slugify } from '../dist/runtime/utils/slugify.js';
@@ -118,6 +119,9 @@ const module$1 = defineNuxtModule({
118
119
  "prosemirror-dropcursor",
119
120
  "prosemirror-commands",
120
121
  "prosemirror-tables",
122
+ // y-prosemirror is transitive via @tiptap/extension-collaboration — dedupe
123
+ // is still valuable (prevents two copies if the app happens to install it
124
+ // directly), and Vite dedupe silently skips entries it can't resolve.
121
125
  "y-prosemirror",
122
126
  "yjs",
123
127
  "y-protocols",
@@ -162,7 +166,8 @@ const module$1 = defineNuxtModule({
162
166
  }
163
167
  nuxt.options.vite.optimizeDeps = defu(nuxt.options.vite.optimizeDeps, { include: [] });
164
168
  const includeList = nuxt.options.vite.optimizeDeps.include ?? [];
165
- const prosemirrorDeps = [
169
+ const prebundleDeps = [
170
+ // ProseMirror core (re-exported by @tiptap/pm)
166
171
  "prosemirror-view",
167
172
  "prosemirror-state",
168
173
  "prosemirror-model",
@@ -175,17 +180,52 @@ const module$1 = defineNuxtModule({
175
180
  "prosemirror-inputrules",
176
181
  "prosemirror-history",
177
182
  "prosemirror-schema-list",
178
- "y-prosemirror",
183
+ // TipTap core + Vue binding (shared globals plugin)
184
+ "@tiptap/core",
185
+ "@tiptap/vue-3",
186
+ "@tiptap/starter-kit",
187
+ // TipTap extensions used by core.plugin.ts
179
188
  "@tiptap/extension-table",
180
189
  "@tiptap/extension-table-row",
181
190
  "@tiptap/extension-table-header",
182
191
  "@tiptap/extension-table-cell",
183
192
  "@tiptap/extension-collaboration",
184
193
  "@tiptap/extension-collaboration-caret",
194
+ "@tiptap/extension-task-list",
195
+ "@tiptap/extension-task-item",
196
+ "@tiptap/extension-character-count",
197
+ "@tiptap/extension-text-align",
198
+ "@tiptap/extension-highlight",
199
+ "@tiptap/extension-color",
200
+ "@tiptap/extension-text-style",
201
+ "@tiptap/extension-superscript",
202
+ "@tiptap/extension-subscript",
203
+ "@tiptap/extension-code-block-lowlight",
204
+ "lowlight",
205
+ // Yjs + provider deps (shared globals + client plugin)
206
+ "yjs",
207
+ // NOTE: `@abraca/dabra` deliberately NOT pre-bundled. esbuild treeshakes
208
+ // its `export {}` aggregate in dist/abracadabra-provider.esm.js so re-exports
209
+ // from internal modules (ChannelKeyResolver, decryptChatContent, foldRecords,
210
+ // recordFromYAny, isEncryptedContent) get dropped — useChat.ts then fails to
211
+ // import them. Excluding from optimizeDeps means Vite serves it native ESM.
212
+ "@noble/ed25519",
213
+ "@noble/hashes/sha512",
214
+ // Composable + util deps
215
+ "@vueuse/core",
185
216
  "nanoevents"
186
217
  ];
218
+ try {
219
+ createRequire(`${nuxt.options.rootDir}/`).resolve("jszip");
220
+ prebundleDeps.push("jszip");
221
+ } catch {
222
+ }
187
223
  nuxt.options.vite.optimizeDeps.include = [
188
- .../* @__PURE__ */ new Set([...includeList, ...prosemirrorDeps])
224
+ .../* @__PURE__ */ new Set([...includeList, ...prebundleDeps])
225
+ ];
226
+ const existingExclude = nuxt.options.vite.optimizeDeps.exclude ?? [];
227
+ nuxt.options.vite.optimizeDeps.exclude = [
228
+ .../* @__PURE__ */ new Set([...existingExclude, "@abraca/dabra"])
189
229
  ];
190
230
  if (options.features?.editor !== false) {
191
231
  nuxt.options.css.push(resolver.resolve("./runtime/assets/editor.css"));
@@ -273,6 +313,11 @@ const module$1 = defineNuxtModule({
273
313
  prefix: options.prefix ?? "",
274
314
  pathPrefix: false
275
315
  });
316
+ addComponentsDir({
317
+ path: resolver.resolve("./runtime/components/docs"),
318
+ prefix: options.prefix ?? "",
319
+ pathPrefix: false
320
+ });
276
321
  if (options.features?.chat) {
277
322
  addComponentsDir({
278
323
  path: resolver.resolve("./runtime/components/chat"),
@@ -282,7 +327,8 @@ const module$1 = defineNuxtModule({
282
327
  }
283
328
  addComponentsDir({
284
329
  path: resolver.resolve("./runtime/components"),
285
- prefix: options.prefix ?? ""
330
+ prefix: options.prefix ?? "",
331
+ ignore: ["**/docs/**"]
286
332
  });
287
333
  if (options.server?.render !== false) {
288
334
  addServerHandler({
@@ -254,7 +254,7 @@ function createDirectly(parentId) {
254
254
  if (parentId) {
255
255
  expandedIds.value.add(parentId);
256
256
  expandedIds.value = new Set(expandedIds.value);
257
- client.value?.createChild(parentId, { child_id: id }).catch(() => {
257
+ client.value?.createChild(parentId, { child_id: id, kind: "page" }).catch(() => {
258
258
  });
259
259
  }
260
260
  emit("navigate", id);
@@ -23,6 +23,12 @@ type __VLS_Props = {
23
23
  parentType?: string;
24
24
  /** Override metaSchema directly instead of resolving from parentType */
25
25
  metaSchema?: MetaField[];
26
+ /**
27
+ * Layout variant. 'doc' (default) is the standard rich-text layout.
28
+ * 'prose' switches to a narrow readable measure with serif typography
29
+ * for long-form writing. Same TipTap engine and extensions.
30
+ */
31
+ variant?: 'doc' | 'prose';
26
32
  };
27
33
  type __VLS_ModelProps = {
28
34
  modelValue?: any;
@@ -37,11 +43,29 @@ declare var __VLS_18: {
37
43
  docId?: string | undefined;
38
44
  }[];
39
45
  ready: boolean;
46
+ }, __VLS_27: {
47
+ editor: any;
48
+ }, __VLS_35: {
49
+ editor: any;
50
+ }, __VLS_43: {
51
+ editor: any;
52
+ }, __VLS_46: {
53
+ editor: any;
40
54
  };
41
55
  type __VLS_Slots = {} & {
42
56
  default?: (props: typeof __VLS_18) => any;
57
+ } & {
58
+ link?: (props: typeof __VLS_27) => any;
59
+ } & {
60
+ 'doc-link'?: (props: typeof __VLS_35) => any;
61
+ } & {
62
+ 'create-child-doc'?: (props: typeof __VLS_43) => any;
63
+ } & {
64
+ 'send-to-chat'?: (props: typeof __VLS_46) => any;
43
65
  };
44
- declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
66
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
67
+ editor: import("vue").ComputedRef<any>;
68
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
45
69
  rename: (label: string) => any;
46
70
  update: (content: any) => any;
47
71
  "update:modelValue": (value: any) => any;
@@ -54,6 +78,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
54
78
  onUpdateMeta?: ((patch: Partial<DocPageMeta>) => any) | undefined;
55
79
  onReady?: (() => any) | undefined;
56
80
  }>, {
81
+ variant: "doc" | "prose";
57
82
  contentType: "json" | "html" | "markdown";
58
83
  editable: boolean;
59
84
  showToolbar: boolean;
@@ -1,5 +1,5 @@
1
1
  <script setup>
2
- import { shallowRef, ref, watch, watchEffect, computed, nextTick } from "vue";
2
+ import { shallowRef, ref, watch, watchEffect, computed, nextTick, onBeforeUnmount } from "vue";
3
3
  import { useNuxtApp } from "#imports";
4
4
  import { Fragment } from "@tiptap/pm/model";
5
5
  import { useSyncedMap } from "../composables/useYDoc";
@@ -10,6 +10,9 @@ import { useEditorToolbar } from "../composables/useEditorToolbar";
10
10
  import { useEditorSuggestions } from "../composables/useEditorSuggestions";
11
11
  import { useEditorDragHandle } from "../composables/useEditorDragHandle";
12
12
  import { useEditorEmojis } from "../composables/useEditorEmojis";
13
+ import { useEditorMentions } from "../composables/useEditorMentions";
14
+ import ALinkPopover from "./editor/ALinkPopover.vue";
15
+ import ADocLinkPopover from "./editor/ADocLinkPopover.vue";
13
16
  const props = defineProps({
14
17
  docId: { type: String, required: true },
15
18
  docLabel: { type: String, required: false },
@@ -21,7 +24,8 @@ const props = defineProps({
21
24
  showDragHandle: { type: Boolean, required: false, default: true },
22
25
  docMeta: { type: Object, required: false },
23
26
  parentType: { type: String, required: false },
24
- metaSchema: { type: Array, required: false }
27
+ metaSchema: { type: Array, required: false },
28
+ variant: { type: String, required: false, default: "doc" }
25
29
  });
26
30
  const emit = defineEmits(["ready", "update", "rename", "updateMeta"]);
27
31
  const model = defineModel({ type: null });
@@ -32,10 +36,14 @@ watch(provider, async (prov) => {
32
36
  if (!prov || !props.docId) return;
33
37
  try {
34
38
  childProvider.value = await prov.loadChild(props.docId);
39
+ prov.pinChild?.(props.docId);
35
40
  } catch (e) {
36
41
  console.error("[AEditor] Failed to load child provider:", e);
37
42
  }
38
43
  }, { immediate: true });
44
+ onBeforeUnmount(() => {
45
+ provider.value?.unpinChild?.(props.docId);
46
+ });
39
47
  const { extensions, connectedUsers, ready } = useEditor({
40
48
  childProvider,
41
49
  docId: props.docId
@@ -44,6 +52,8 @@ watch(ready, (val) => {
44
52
  if (val) emit("ready");
45
53
  });
46
54
  const editorRef = ref(null);
55
+ const tiptapEditor = computed(() => editorRef.value?.editor ?? null);
56
+ defineExpose({ editor: tiptapEditor });
47
57
  const { items: toolbarItems } = useEditorToolbar({ docId: props.docId });
48
58
  const resolvedMetaSchema = computed(() => {
49
59
  if (props.metaSchema) return props.metaSchema;
@@ -54,6 +64,7 @@ const resolvedMetaSchema = computed(() => {
54
64
  });
55
65
  const { items: allSuggestionItems, propertiesOnlyItems } = useEditorSuggestions({ docId: props.docId });
56
66
  const { items: emojiItems } = useEditorEmojis();
67
+ const { items: mentionItems } = useEditorMentions({ docId: props.docId });
57
68
  const isInDocumentMeta = ref(false);
58
69
  watchEffect((onCleanup) => {
59
70
  const ed = editorRef.value?.editor;
@@ -216,11 +227,102 @@ watch(() => props.docLabel, (newLabel) => {
216
227
  if (!ed || !ready.value) return;
217
228
  setHeaderText(ed, newLabel || "");
218
229
  });
230
+ function insertNode(editor, type, attrs, content) {
231
+ const node = { type, attrs };
232
+ if (content) node.content = content;
233
+ return editor.chain().focus().insertContent(node);
234
+ }
219
235
  const editorHandlers = {
220
236
  insertMetaField: {
221
237
  canExecute: () => true,
222
238
  execute: (editor, item) => editor.chain().focus().insertMetaField(item.attrs),
223
239
  isActive: () => false
240
+ },
241
+ divider: {
242
+ canExecute: () => true,
243
+ execute: (editor) => insertNode(editor, "divider", { label: "" }),
244
+ isActive: (editor) => editor.isActive("divider")
245
+ },
246
+ quote: {
247
+ canExecute: () => true,
248
+ execute: (editor) => insertNode(editor, "quote", { author: "", role: "", avatar: "" }, [{ type: "paragraph" }]),
249
+ isActive: (editor) => editor.isActive("quote")
250
+ },
251
+ figure: {
252
+ canExecute: () => true,
253
+ execute: (editor) => insertNode(editor, "figure", { src: "", alt: "", caption: "" }),
254
+ isActive: (editor) => editor.isActive("figure")
255
+ },
256
+ embed: {
257
+ canExecute: () => true,
258
+ execute: (editor) => insertNode(editor, "embed", { src: "", title: "", aspectRatio: "16/9" }),
259
+ isActive: (editor) => editor.isActive("embed")
260
+ },
261
+ video: {
262
+ canExecute: () => true,
263
+ execute: (editor) => insertNode(editor, "video", { src: "", aspectRatio: "16/9", caption: "" }),
264
+ isActive: (editor) => editor.isActive("video")
265
+ },
266
+ stat: {
267
+ canExecute: () => true,
268
+ execute: (editor) => insertNode(editor, "stat", { label: "Users", value: "1.2k", trend: "up", trendValue: "+12%" }),
269
+ isActive: (editor) => editor.isActive("stat")
270
+ },
271
+ statGroup: {
272
+ canExecute: () => true,
273
+ execute: (editor) => insertNode(editor, "statGroup", {}, [
274
+ { type: "stat", attrs: { label: "Users", value: "1.2k", trend: "up", trendValue: "+12%" } },
275
+ { type: "stat", attrs: { label: "Revenue", value: "$48k", trend: "up", trendValue: "+8%" } },
276
+ { type: "stat", attrs: { label: "Churn", value: "2.4%", trend: "down", trendValue: "-0.3%" } }
277
+ ]),
278
+ isActive: (editor) => editor.isActive("statGroup")
279
+ },
280
+ button: {
281
+ canExecute: () => true,
282
+ execute: (editor) => insertNode(editor, "button", { label: "Get started", variant: "solid", color: "primary", to: "", icon: "" }),
283
+ isActive: (editor) => editor.isActive("button")
284
+ },
285
+ buttonGroup: {
286
+ canExecute: () => true,
287
+ execute: (editor) => insertNode(editor, "buttonGroup", {}, [
288
+ { type: "button", attrs: { label: "Primary", variant: "solid", color: "primary", to: "", icon: "" } },
289
+ { type: "button", attrs: { label: "Secondary", variant: "outline", color: "neutral", to: "", icon: "" } }
290
+ ]),
291
+ isActive: (editor) => editor.isActive("buttonGroup")
292
+ },
293
+ progress: {
294
+ canExecute: () => true,
295
+ execute: (editor) => insertNode(editor, "progress", { label: "Progress", value: 50, max: 100, color: "primary" }),
296
+ isActive: (editor) => editor.isActive("progress")
297
+ },
298
+ spoiler: {
299
+ canExecute: () => true,
300
+ execute: (editor) => insertNode(editor, "spoiler", { label: "Spoiler", revealed: false }, [{ type: "paragraph" }]),
301
+ isActive: (editor) => editor.isActive("spoiler")
302
+ },
303
+ colorSwatch: {
304
+ canExecute: () => true,
305
+ execute: (editor) => insertNode(editor, "colorSwatch", { color: "#6366f1" }),
306
+ isActive: (editor) => editor.isActive("colorSwatch")
307
+ },
308
+ mathBlock: {
309
+ canExecute: () => true,
310
+ execute: (editor) => insertNode(editor, "mathBlock", { expression: "" }),
311
+ isActive: (editor) => editor.isActive("mathBlock")
312
+ },
313
+ mathInline: {
314
+ canExecute: () => true,
315
+ execute: (editor) => insertNode(editor, "mathInline", { expression: "" }),
316
+ isActive: (editor) => editor.isActive("mathInline")
317
+ },
318
+ diff: {
319
+ canExecute: () => true,
320
+ execute: (editor) => insertNode(editor, "diff", {
321
+ before: 'function hello() {\n return "world"\n}',
322
+ after: "function hello(name) {\n return `hello ${name}`\n}",
323
+ language: "js"
324
+ }),
325
+ isActive: (editor) => editor.isActive("diff")
224
326
  }
225
327
  };
226
328
  const _mentionItems = computed(
@@ -241,6 +343,7 @@ function onPlusClick(e, onClick) {
241
343
  <div
242
344
  v-if="!extensions.length"
243
345
  class="p-6 space-y-3"
346
+ :class="{ 'prose-variant': variant === 'prose' }"
244
347
  >
245
348
  <div class="h-8 w-64 animate-pulse rounded bg-elevated" />
246
349
  <div class="h-4 w-full animate-pulse rounded bg-elevated" />
@@ -250,6 +353,7 @@ function onPlusClick(e, onClick) {
250
353
 
251
354
  <UEditor
252
355
  v-else
356
+ :class="{ 'prose-variant': variant === 'prose' }"
253
357
  ref="editorRef"
254
358
  v-slot="{ editor }"
255
359
  v-model="model"
@@ -268,13 +372,45 @@ function onPlusClick(e, onClick) {
268
372
  :ready="ready"
269
373
  >
270
374
  <!-- ── Bubble toolbar (appears when text is selected) ─────────────── -->
375
+ <!-- 4 named slots are forwarded to consumers:
376
+ #link / #doc-link — defaulted to ALinkPopover / ADocLinkPopover
377
+ #create-child-doc / #send-to-chat — empty by default; app-defined -->
271
378
  <UEditorToolbar
272
379
  v-if="showToolbar"
273
380
  :editor="editor"
274
381
  :items="toolbarItems"
275
382
  layout="bubble"
276
383
  :should-show="({ view, state }) => view.hasFocus() && !state.selection.empty"
277
- />
384
+ >
385
+ <template #link>
386
+ <slot
387
+ name="link"
388
+ :editor="editor"
389
+ >
390
+ <ALinkPopover :editor="editor" />
391
+ </slot>
392
+ </template>
393
+ <template #doc-link>
394
+ <slot
395
+ name="doc-link"
396
+ :editor="editor"
397
+ >
398
+ <ADocLinkPopover :editor="editor" />
399
+ </slot>
400
+ </template>
401
+ <template #create-child-doc>
402
+ <slot
403
+ name="create-child-doc"
404
+ :editor="editor"
405
+ />
406
+ </template>
407
+ <template #send-to-chat>
408
+ <slot
409
+ name="send-to-chat"
410
+ :editor="editor"
411
+ />
412
+ </template>
413
+ </UEditorToolbar>
278
414
 
279
415
  <!-- ── Slash command menu ──────────────────────────────────────────── -->
280
416
  <UEditorSuggestionMenu
@@ -289,6 +425,12 @@ function onPlusClick(e, onClick) {
289
425
  :items="emojiItems"
290
426
  />
291
427
 
428
+ <!-- ── Mention menu (`@` trigger) — users + docs + plugin providers ── -->
429
+ <UEditorMentionMenu
430
+ :editor="editor"
431
+ :items="mentionItems"
432
+ />
433
+
292
434
  <!-- ── Drag handle — plus button + grip dropdown ───────────────────── -->
293
435
  <UEditorDragHandle
294
436
  v-if="showDragHandle"
@@ -330,7 +472,10 @@ function onPlusClick(e, onClick) {
330
472
  </UEditor>
331
473
 
332
474
  <template #fallback>
333
- <div class="p-6 space-y-3">
475
+ <div
476
+ class="p-6 space-y-3"
477
+ :class="{ 'prose-variant': variant === 'prose' }"
478
+ >
334
479
  <div class="h-8 w-64 animate-pulse rounded bg-elevated" />
335
480
  <div class="h-4 w-full animate-pulse rounded bg-elevated" />
336
481
  <div class="h-4 w-3/4 animate-pulse rounded bg-elevated" />
@@ -338,3 +483,7 @@ function onPlusClick(e, onClick) {
338
483
  </template>
339
484
  </ClientOnly>
340
485
  </template>
486
+
487
+ <style scoped>
488
+ .prose-variant :deep(.tiptap){color:var(--ui-text);font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.0625rem;line-height:1.75}.prose-variant :deep(.tiptap p){margin-bottom:1em;margin-top:0}.prose-variant :deep(.tiptap h1),.prose-variant :deep(.tiptap h2),.prose-variant :deep(.tiptap h3),.prose-variant :deep(.tiptap h4){font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;letter-spacing:-.01em;line-height:1.25;margin-bottom:.5em;margin-top:1.75em}.prose-variant :deep(.tiptap h1){font-size:2rem;font-weight:700}.prose-variant :deep(.tiptap h2){font-size:1.5rem;font-weight:700}.prose-variant :deep(.tiptap h3){font-size:1.25rem;font-weight:600}.prose-variant :deep(.tiptap blockquote){border-left:3px solid var(--ui-border);color:var(--ui-text-muted);font-style:italic;margin-left:0;padding-left:1em}.prose-variant :deep(.tiptap ol),.prose-variant :deep(.tiptap ul){margin-bottom:1em;padding-left:1.5em}.prose-variant :deep(.tiptap .document-header){font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:1.5rem}
489
+ </style>
@@ -23,6 +23,12 @@ type __VLS_Props = {
23
23
  parentType?: string;
24
24
  /** Override metaSchema directly instead of resolving from parentType */
25
25
  metaSchema?: MetaField[];
26
+ /**
27
+ * Layout variant. 'doc' (default) is the standard rich-text layout.
28
+ * 'prose' switches to a narrow readable measure with serif typography
29
+ * for long-form writing. Same TipTap engine and extensions.
30
+ */
31
+ variant?: 'doc' | 'prose';
26
32
  };
27
33
  type __VLS_ModelProps = {
28
34
  modelValue?: any;
@@ -37,11 +43,29 @@ declare var __VLS_18: {
37
43
  docId?: string | undefined;
38
44
  }[];
39
45
  ready: boolean;
46
+ }, __VLS_27: {
47
+ editor: any;
48
+ }, __VLS_35: {
49
+ editor: any;
50
+ }, __VLS_43: {
51
+ editor: any;
52
+ }, __VLS_46: {
53
+ editor: any;
40
54
  };
41
55
  type __VLS_Slots = {} & {
42
56
  default?: (props: typeof __VLS_18) => any;
57
+ } & {
58
+ link?: (props: typeof __VLS_27) => any;
59
+ } & {
60
+ 'doc-link'?: (props: typeof __VLS_35) => any;
61
+ } & {
62
+ 'create-child-doc'?: (props: typeof __VLS_43) => any;
63
+ } & {
64
+ 'send-to-chat'?: (props: typeof __VLS_46) => any;
43
65
  };
44
- declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
66
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
67
+ editor: import("vue").ComputedRef<any>;
68
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
45
69
  rename: (label: string) => any;
46
70
  update: (content: any) => any;
47
71
  "update:modelValue": (value: any) => any;
@@ -54,6 +78,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
54
78
  onUpdateMeta?: ((patch: Partial<DocPageMeta>) => any) | undefined;
55
79
  onReady?: (() => any) | undefined;
56
80
  }>, {
81
+ variant: "doc" | "prose";
57
82
  contentType: "json" | "html" | "markdown";
58
83
  editable: boolean;
59
84
  showToolbar: boolean;
@@ -0,0 +1,46 @@
1
+ type __VLS_Props = {
2
+ /** Open state (v-model). */
3
+ open?: boolean;
4
+ /** Display name override. Defaults to useAbracadabra().userName. */
5
+ userName?: string;
6
+ /** Public key override. Defaults to useAbracadabra().publicKeyB64. */
7
+ publicKey?: string | null;
8
+ /** Color override (CSS color or named color). */
9
+ color?: string;
10
+ /** Modal title. */
11
+ title?: string;
12
+ /** Whether the user can edit their display name inline. Default: true. */
13
+ editable?: boolean;
14
+ };
15
+ declare var __VLS_30: {}, __VLS_39: {
16
+ publicKey: string | null;
17
+ userName: string;
18
+ }, __VLS_42: {}, __VLS_51: {};
19
+ type __VLS_Slots = {} & {
20
+ subtitle?: (props: typeof __VLS_30) => any;
21
+ } & {
22
+ content?: (props: typeof __VLS_39) => any;
23
+ } & {
24
+ 'actions-left'?: (props: typeof __VLS_42) => any;
25
+ } & {
26
+ 'actions-right'?: (props: typeof __VLS_51) => any;
27
+ };
28
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ rename: (name: string) => any;
30
+ "update:open": (open: boolean) => any;
31
+ "sign-out": () => any;
32
+ "show-recovery": () => any;
33
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
34
+ onRename?: ((name: string) => any) | undefined;
35
+ "onUpdate:open"?: ((open: boolean) => any) | undefined;
36
+ "onSign-out"?: (() => any) | undefined;
37
+ "onShow-recovery"?: (() => any) | undefined;
38
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
+ declare const _default: typeof __VLS_export;
41
+ export default _default;
42
+ type __VLS_WithSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };