@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
@@ -1,17 +1,27 @@
1
1
  <script setup>
2
- import { ref, computed } from "vue";
2
+ import { ref, computed, watch } from "vue";
3
3
  import { useAbracadabra } from "../composables/useAbracadabra";
4
4
  import { useSyncedMap } from "../composables/useYDoc";
5
5
  import { navigateTo } from "#imports";
6
6
  import { useChildTree } from "../composables/useChildTree";
7
7
  import { useAbraLocale } from "../composables/useAbraLocale";
8
+ import { useResizableWidth } from "../composables/useResizableWidth";
9
+ import ANodePanelHeader from "./ANodePanelHeader.vue";
10
+ import { defineAsyncComponent } from "vue";
11
+ import { useRuntimeConfig } from "#imports";
12
+ import { useChat } from "../composables/useChat";
13
+ const ANodeChatPanel = defineAsyncComponent(() => import("./chat/ANodeChatPanel.vue"));
14
+ const ANodeSettingsPanel = defineAsyncComponent(() => import("./ANodeSettingsPanel.vue"));
8
15
  import { META_FIELD_DEFINITIONS } from "../utils/metaFieldDefinitions";
16
+ import { resolveDocType } from "../utils/docTypes";
9
17
  const props = defineProps({
10
18
  nodeId: { type: [String, null], required: true },
11
19
  nodeLabel: { type: String, required: false },
12
20
  childProvider: { type: null, required: false },
13
21
  docType: { type: String, required: false },
14
- labels: { type: Object, required: false }
22
+ labels: { type: Object, required: false },
23
+ initialTab: { type: String, required: false, default: "editor" },
24
+ tabs: { type: Array, required: false }
15
25
  });
16
26
  const emit = defineEmits(["close"]);
17
27
  const open = computed({
@@ -49,7 +59,41 @@ function patchType(type) {
49
59
  const e = treeMap.data[props.nodeId];
50
60
  if (e) treeMap.set(props.nodeId, { ...e, type, updatedAt: Date.now() });
51
61
  }
52
- const activeTab = ref("editor");
62
+ const activeTab = ref(props.initialTab);
63
+ watch(() => props.nodeId, (id) => {
64
+ if (id) activeTab.value = props.initialTab;
65
+ });
66
+ const docTypeDef = computed(() => resolveDocType(currentType.value, registry));
67
+ const usesPageRenderer = computed(
68
+ () => docTypeDef.value.key !== "doc" && !!docTypeDef.value.component
69
+ );
70
+ const editorRef = ref(null);
71
+ const tiptapEditor = computed(() => editorRef.value?.editor ?? null);
72
+ const resize = useResizableWidth({
73
+ defaultWidth: 672,
74
+ minWidth: 320,
75
+ cookieKey: "abraca-node-panel-width",
76
+ direction: "left"
77
+ });
78
+ const _runtimeFeatures = computed(() => {
79
+ try {
80
+ return useRuntimeConfig().public?.abracadabra?.features ?? {};
81
+ } catch {
82
+ return {};
83
+ }
84
+ });
85
+ const showChatTab = computed(() => {
86
+ if (props.tabs && !props.tabs.includes("chat")) return false;
87
+ return !!_runtimeFeatures.value?.chat;
88
+ });
89
+ const showEditorTab = computed(() => !props.tabs || props.tabs.includes("editor"));
90
+ const showPropertiesTab = computed(() => !props.tabs || props.tabs.includes("properties"));
91
+ const showSettingsTab = computed(() => !props.tabs || props.tabs.includes("settings"));
92
+ const _chat = useChat();
93
+ const chatUnread = computed(() => {
94
+ if (!props.nodeId) return 0;
95
+ return _chat.channels.value[props.nodeId]?.unreadCount ?? 0;
96
+ });
53
97
  const pluginSlots = computed(() => {
54
98
  return registry.getAllNodePanelSlots().filter((slot) => {
55
99
  if (!props.nodeId || !tree.value) return false;
@@ -138,37 +182,48 @@ const addFieldMenuItems = computed(
138
182
  v-model:open="open"
139
183
  side="right"
140
184
  :title="nodeLabel || 'Document'"
141
- :ui="{ content: 'sm:max-w-2xl' }"
185
+ :content="{ style: resize.style.value }"
142
186
  @update:open="(v) => !v && emit('close')"
143
187
  >
144
188
  <template #header>
145
- <div class="flex items-center gap-2 min-w-0 flex-1">
146
- <UIcon
147
- :name="meta.icon ?? 'i-lucide-file-text'"
148
- class="size-4 shrink-0"
149
- :style="meta.color ? `color: ${meta.color}` : ''"
150
- :class="meta.color ? '' : 'text-muted'"
189
+ <!-- Default header uses <ANodePanelHeader>. Consumers can replace the
190
+ whole header via the #header slot, or replace individual pieces
191
+ (presence, actions-right, etc.) by importing <ANodePanelHeader>
192
+ and supplying its own slots. -->
193
+ <slot
194
+ name="header"
195
+ :node-id="nodeId"
196
+ :node-label="nodeLabel"
197
+ :editor="tiptapEditor"
198
+ :meta="meta"
199
+ :doc-type-def="docTypeDef"
200
+ >
201
+ <ANodePanelHeader
202
+ :node-id="nodeId"
203
+ :node-label="nodeLabel"
204
+ :icon="meta.icon ?? docTypeDef.icon"
205
+ :icon-color="meta.color"
206
+ :editor="activeTab === 'editor' && !usesPageRenderer ? tiptapEditor : null"
207
+ @expand="navigateTo(`/app/${nodeId}`)"
151
208
  />
152
- <span class="font-medium truncate flex-1">{{ nodeLabel || "Document" }}</span>
153
- <UTooltip
154
- text="Open as full page"
155
- :content="{ side: 'bottom' }"
156
- >
157
- <UButton
158
- icon="i-lucide-expand"
159
- size="xs"
160
- variant="ghost"
161
- color="neutral"
162
- @click="navigateTo(`/app/${nodeId}`)"
163
- />
164
- </UTooltip>
165
- </div>
209
+ </slot>
166
210
  </template>
167
211
 
168
212
  <template #body>
169
- <!-- Tab bar -->
213
+ <!-- Resize handle: left edge of slideover, desktop only -->
214
+ <div
215
+ class="absolute left-0 top-0 bottom-0 w-1.5 z-10 cursor-col-resize hidden sm:block group"
216
+ :class="resize.isResizing.value ? 'bg-(--ui-primary)/20' : 'hover:bg-(--ui-primary)/10'"
217
+ @mousedown.stop.prevent="resize.onMouseDown"
218
+ @touchstart.stop.prevent="resize.onTouchStart"
219
+ @dblclick="resize.onDoubleClick"
220
+ />
221
+
222
+ <!-- Tab bar — built-in tabs are individually toggleable via the
223
+ `tabs` prop; plugin-registered tabs always render. -->
170
224
  <div class="flex items-center gap-1 border-b border-(--ui-border) mb-4 -mt-2">
171
225
  <UButton
226
+ v-if="showEditorTab"
172
227
  icon="i-lucide-file-text"
173
228
  :label="locale.editorTab"
174
229
  size="sm"
@@ -177,6 +232,7 @@ const addFieldMenuItems = computed(
177
232
  @click="activeTab = 'editor'"
178
233
  />
179
234
  <UButton
235
+ v-if="showPropertiesTab"
180
236
  icon="i-lucide-sliders-horizontal"
181
237
  :label="locale.propertiesTab"
182
238
  size="sm"
@@ -184,6 +240,32 @@ const addFieldMenuItems = computed(
184
240
  :variant="activeTab === 'properties' ? 'soft' : 'ghost'"
185
241
  @click="activeTab = 'properties'"
186
242
  />
243
+ <UChip
244
+ v-if="showChatTab"
245
+ :text="chatUnread > 0 && activeTab !== 'chat' ? String(chatUnread) : void 0"
246
+ color="error"
247
+ size="lg"
248
+ :show="chatUnread > 0 && activeTab !== 'chat'"
249
+ :inset="true"
250
+ >
251
+ <UButton
252
+ icon="i-lucide-message-circle"
253
+ label="Chat"
254
+ size="sm"
255
+ :color="activeTab === 'chat' ? 'primary' : 'neutral'"
256
+ :variant="activeTab === 'chat' ? 'soft' : 'ghost'"
257
+ @click="activeTab = 'chat'"
258
+ />
259
+ </UChip>
260
+ <UButton
261
+ v-if="showSettingsTab"
262
+ icon="i-lucide-settings-2"
263
+ label="Settings"
264
+ size="sm"
265
+ :color="activeTab === 'settings' ? 'primary' : 'neutral'"
266
+ :variant="activeTab === 'settings' ? 'soft' : 'ghost'"
267
+ @click="activeTab = 'settings'"
268
+ />
187
269
  <UButton
188
270
  v-for="slot in pluginSlots"
189
271
  :key="slot.id"
@@ -196,13 +278,23 @@ const addFieldMenuItems = computed(
196
278
  />
197
279
  </div>
198
280
 
199
- <!-- Editor tab -->
281
+ <!-- Editor tab — swaps to the registered page-type renderer when the
282
+ doc has a non-'doc' type (kanban / table / calendar / etc.). -->
200
283
  <div
201
284
  v-show="activeTab === 'editor'"
202
285
  class="min-h-[60vh]"
203
286
  >
287
+ <component
288
+ :is="docTypeDef.component"
289
+ v-if="nodeId && usesPageRenderer"
290
+ :key="`${nodeId}-${currentType}`"
291
+ :doc-id="nodeId"
292
+ :doc-label="nodeLabel || ''"
293
+ :child-provider="childProvider"
294
+ />
204
295
  <AEditor
205
- v-if="nodeId"
296
+ v-else-if="nodeId"
297
+ ref="editorRef"
206
298
  :doc-id="nodeId"
207
299
  :child-provider="childProvider"
208
300
  :parent-type="docType"
@@ -212,6 +304,35 @@ const addFieldMenuItems = computed(
212
304
  />
213
305
  </div>
214
306
 
307
+ <!-- Chat tab -->
308
+ <div
309
+ v-if="showChatTab"
310
+ v-show="activeTab === 'chat'"
311
+ class="min-h-[60vh] -mx-4 -mb-4 sm:-mx-6"
312
+ >
313
+ <ANodeChatPanel
314
+ v-if="nodeId"
315
+ :doc-id="nodeId"
316
+ :label="nodeLabel || 'Chat'"
317
+ />
318
+ </div>
319
+
320
+ <!-- Settings tab — snapshots wired by default; permissions and
321
+ encryption are app-supplied via slots. -->
322
+ <div
323
+ v-if="showSettingsTab"
324
+ v-show="activeTab === 'settings'"
325
+ class="min-h-[60vh]"
326
+ >
327
+ <ANodeSettingsPanel
328
+ v-if="nodeId"
329
+ :doc-id="nodeId"
330
+ :doc-type-key="currentType"
331
+ :doc-meta="meta"
332
+ @update-meta="patchMeta"
333
+ />
334
+ </div>
335
+
215
336
  <!-- Properties tab -->
216
337
  <div
217
338
  v-show="activeTab === 'properties'"
@@ -1,15 +1,42 @@
1
1
  import type { AbracadabraLocale } from '../locale.js';
2
+ import type { DocPageMeta } from '../types.js';
2
3
  type __VLS_Props = {
3
4
  nodeId: string | null;
4
5
  nodeLabel?: string;
5
6
  childProvider?: any;
6
7
  docType?: string;
7
8
  labels?: Partial<AbracadabraLocale['nodePanel']>;
9
+ /** Tab to open initially. Defaults to 'editor'. */
10
+ initialTab?: 'editor' | 'properties' | 'chat' | 'settings' | string;
11
+ /**
12
+ * Built-in tabs to render. Defaults to all-on; pass an array to limit which
13
+ * tabs appear (useful when a developer wants only properties + chat).
14
+ * Plugin-registered tab slots are unaffected.
15
+ */
16
+ tabs?: Array<'editor' | 'properties' | 'chat' | 'settings'>;
8
17
  };
9
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ declare var __VLS_11: {
19
+ nodeId: string | null;
20
+ nodeLabel: string | undefined;
21
+ editor: any;
22
+ meta: DocPageMeta;
23
+ docTypeDef: import("../utils/docTypes.js").DocTypeDefinition;
24
+ };
25
+ type __VLS_Slots = {} & {
26
+ header?: (props: typeof __VLS_11) => any;
27
+ };
28
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
29
  close: () => any;
11
30
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
31
  onClose?: (() => any) | undefined;
13
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ }>, {
33
+ initialTab: "editor" | "properties" | "chat" | "settings" | string;
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
36
  declare const _default: typeof __VLS_export;
15
37
  export default _default;
38
+ type __VLS_WithSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
@@ -0,0 +1,64 @@
1
+ import type { Editor } from '@tiptap/vue-3';
2
+ type __VLS_Props = {
3
+ /** Document ID — passed through to default presence/expand handlers */
4
+ nodeId?: string | null;
5
+ /** Display label */
6
+ nodeLabel?: string;
7
+ /** Lucide icon name (with `i-lucide-` prefix or just the suffix) */
8
+ icon?: string;
9
+ /** Optional inline CSS color for the icon */
10
+ iconColor?: string;
11
+ /** TipTap editor — when passed, default undo/redo buttons render */
12
+ editor?: Editor | null;
13
+ /** Show undo/redo buttons in default slot. Default: true when editor passed */
14
+ showUndoRedo?: boolean;
15
+ /** Show expand-to-full-page button. Default: true when nodeId passed */
16
+ showExpand?: boolean;
17
+ /** Show presence facepile in default presence slot. Default: true when nodeId passed */
18
+ showPresence?: boolean;
19
+ /** Tooltip text for the expand button */
20
+ expandTooltip?: string;
21
+ };
22
+ declare var __VLS_1: {
23
+ icon: string;
24
+ color: string | undefined;
25
+ }, __VLS_8: {
26
+ label: string | undefined;
27
+ }, __VLS_10: {}, __VLS_12: {}, __VLS_19: {
28
+ editor: Editor | null | undefined;
29
+ }, __VLS_31: {}, __VLS_33: {
30
+ expand: () => void;
31
+ };
32
+ type __VLS_Slots = {} & {
33
+ icon?: (props: typeof __VLS_1) => any;
34
+ } & {
35
+ title?: (props: typeof __VLS_8) => any;
36
+ } & {
37
+ 'actions-left'?: (props: typeof __VLS_10) => any;
38
+ } & {
39
+ presence?: (props: typeof __VLS_12) => any;
40
+ } & {
41
+ 'undo-redo'?: (props: typeof __VLS_19) => any;
42
+ } & {
43
+ 'actions-right'?: (props: typeof __VLS_31) => any;
44
+ } & {
45
+ expand?: (props: typeof __VLS_33) => any;
46
+ };
47
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ expand: () => any;
49
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
50
+ onExpand?: (() => any) | undefined;
51
+ }>, {
52
+ showUndoRedo: boolean;
53
+ showExpand: boolean;
54
+ showPresence: boolean;
55
+ expandTooltip: string;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
57
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
58
+ declare const _default: typeof __VLS_export;
59
+ export default _default;
60
+ type __VLS_WithSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
@@ -0,0 +1,105 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import AFacepile from "./aware/AFacepile.vue";
4
+ import AEditorUndoButton from "./editor/AEditorUndoButton.vue";
5
+ import AEditorRedoButton from "./editor/AEditorRedoButton.vue";
6
+ const props = defineProps({
7
+ nodeId: { type: [String, null], required: false },
8
+ nodeLabel: { type: String, required: false },
9
+ icon: { type: String, required: false },
10
+ iconColor: { type: String, required: false },
11
+ editor: { type: [Object, null], required: false },
12
+ showUndoRedo: { type: Boolean, required: false, default: void 0 },
13
+ showExpand: { type: Boolean, required: false, default: void 0 },
14
+ showPresence: { type: Boolean, required: false, default: void 0 },
15
+ expandTooltip: { type: String, required: false, default: "Open as full page" }
16
+ });
17
+ const emit = defineEmits(["expand"]);
18
+ const resolvedIcon = computed(() => {
19
+ const i = props.icon;
20
+ if (!i) return "i-lucide-file-text";
21
+ return i.startsWith("i-") ? i : `i-lucide-${i}`;
22
+ });
23
+ const undoRedoEnabled = computed(
24
+ () => props.showUndoRedo === void 0 ? !!props.editor : props.showUndoRedo
25
+ );
26
+ const expandEnabled = computed(
27
+ () => props.showExpand === void 0 ? !!props.nodeId : props.showExpand
28
+ );
29
+ const presenceEnabled = computed(
30
+ () => props.showPresence === void 0 ? !!props.nodeId : props.showPresence
31
+ );
32
+ </script>
33
+
34
+ <template>
35
+ <div class="flex items-center gap-2 min-w-0 flex-1">
36
+ <!-- icon slot -->
37
+ <slot
38
+ name="icon"
39
+ :icon="resolvedIcon"
40
+ :color="iconColor"
41
+ >
42
+ <UIcon
43
+ :name="resolvedIcon"
44
+ class="size-4 shrink-0"
45
+ :style="iconColor ? `color: ${iconColor}` : ''"
46
+ :class="iconColor ? '' : 'text-muted'"
47
+ />
48
+ </slot>
49
+
50
+ <!-- title slot -->
51
+ <slot
52
+ name="title"
53
+ :label="nodeLabel"
54
+ >
55
+ <span class="font-medium truncate flex-1">{{ nodeLabel || "Document" }}</span>
56
+ </slot>
57
+
58
+ <!-- left-of-presence actions (badges, status indicators, etc.) -->
59
+ <slot name="actions-left" />
60
+
61
+ <!-- presence -->
62
+ <slot name="presence">
63
+ <AFacepile
64
+ v-if="presenceEnabled && nodeId"
65
+ :doc-id="nodeId"
66
+ size="2xs"
67
+ :max="3"
68
+ />
69
+ </slot>
70
+
71
+ <!-- editor-coupled actions: undo/redo -->
72
+ <slot
73
+ name="undo-redo"
74
+ :editor="editor"
75
+ >
76
+ <template v-if="undoRedoEnabled && editor">
77
+ <AEditorUndoButton :editor="editor" />
78
+ <AEditorRedoButton :editor="editor" />
79
+ </template>
80
+ </slot>
81
+
82
+ <!-- right-of-undo extension actions -->
83
+ <slot name="actions-right" />
84
+
85
+ <!-- expand to full page -->
86
+ <slot
87
+ name="expand"
88
+ :expand="() => emit('expand')"
89
+ >
90
+ <UTooltip
91
+ v-if="expandEnabled"
92
+ :text="expandTooltip"
93
+ :content="{ side: 'bottom' }"
94
+ >
95
+ <UButton
96
+ icon="i-lucide-expand"
97
+ size="xs"
98
+ variant="ghost"
99
+ color="neutral"
100
+ @click="emit('expand')"
101
+ />
102
+ </UTooltip>
103
+ </slot>
104
+ </div>
105
+ </template>
@@ -0,0 +1,64 @@
1
+ import type { Editor } from '@tiptap/vue-3';
2
+ type __VLS_Props = {
3
+ /** Document ID — passed through to default presence/expand handlers */
4
+ nodeId?: string | null;
5
+ /** Display label */
6
+ nodeLabel?: string;
7
+ /** Lucide icon name (with `i-lucide-` prefix or just the suffix) */
8
+ icon?: string;
9
+ /** Optional inline CSS color for the icon */
10
+ iconColor?: string;
11
+ /** TipTap editor — when passed, default undo/redo buttons render */
12
+ editor?: Editor | null;
13
+ /** Show undo/redo buttons in default slot. Default: true when editor passed */
14
+ showUndoRedo?: boolean;
15
+ /** Show expand-to-full-page button. Default: true when nodeId passed */
16
+ showExpand?: boolean;
17
+ /** Show presence facepile in default presence slot. Default: true when nodeId passed */
18
+ showPresence?: boolean;
19
+ /** Tooltip text for the expand button */
20
+ expandTooltip?: string;
21
+ };
22
+ declare var __VLS_1: {
23
+ icon: string;
24
+ color: string | undefined;
25
+ }, __VLS_8: {
26
+ label: string | undefined;
27
+ }, __VLS_10: {}, __VLS_12: {}, __VLS_19: {
28
+ editor: Editor | null | undefined;
29
+ }, __VLS_31: {}, __VLS_33: {
30
+ expand: () => void;
31
+ };
32
+ type __VLS_Slots = {} & {
33
+ icon?: (props: typeof __VLS_1) => any;
34
+ } & {
35
+ title?: (props: typeof __VLS_8) => any;
36
+ } & {
37
+ 'actions-left'?: (props: typeof __VLS_10) => any;
38
+ } & {
39
+ presence?: (props: typeof __VLS_12) => any;
40
+ } & {
41
+ 'undo-redo'?: (props: typeof __VLS_19) => any;
42
+ } & {
43
+ 'actions-right'?: (props: typeof __VLS_31) => any;
44
+ } & {
45
+ expand?: (props: typeof __VLS_33) => any;
46
+ };
47
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
+ expand: () => any;
49
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
50
+ onExpand?: (() => any) | undefined;
51
+ }>, {
52
+ showUndoRedo: boolean;
53
+ showExpand: boolean;
54
+ showPresence: boolean;
55
+ expandTooltip: string;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
57
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
58
+ declare const _default: typeof __VLS_export;
59
+ export default _default;
60
+ type __VLS_WithSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
@@ -0,0 +1,49 @@
1
+ import type { PermissionEntry, OnlineUser } from './shell/ADocPanelSettings.vue.js';
2
+ import type { DocPageMeta } from '../types.js';
3
+ type __VLS_Props = {
4
+ docId: string;
5
+ /** Document type key (drives metaSchema form). */
6
+ docTypeKey?: string;
7
+ /** Document meta to read/write. */
8
+ docMeta?: DocPageMeta | null;
9
+ /** Permission entries — left to the consumer (varies per backend). */
10
+ permissions?: PermissionEntry[];
11
+ /** Loading flag for permissions. */
12
+ loadingPermissions?: boolean;
13
+ /** Online users not yet in permission list. */
14
+ onlineNotGranted?: OnlineUser[];
15
+ /** Whether the current user is owner. */
16
+ isOwner?: boolean;
17
+ };
18
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ "update-meta": (patch: Partial<DocPageMeta>) => any;
20
+ "grant-permission": (userId: string, role: string) => any;
21
+ "change-role": (userId: string, role: string) => any;
22
+ "revoke-permission": (userId: string) => any;
23
+ "create-invite": (options: {
24
+ role: string;
25
+ maxUses?: number;
26
+ expiresIn?: number;
27
+ }) => any;
28
+ "sync-doc": () => any;
29
+ "open-encryption": () => any;
30
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
31
+ "onUpdate-meta"?: ((patch: Partial<DocPageMeta>) => any) | undefined;
32
+ "onGrant-permission"?: ((userId: string, role: string) => any) | undefined;
33
+ "onChange-role"?: ((userId: string, role: string) => any) | undefined;
34
+ "onRevoke-permission"?: ((userId: string) => any) | undefined;
35
+ "onCreate-invite"?: ((options: {
36
+ role: string;
37
+ maxUses?: number;
38
+ expiresIn?: number;
39
+ }) => any) | undefined;
40
+ "onSync-doc"?: (() => any) | undefined;
41
+ "onOpen-encryption"?: (() => any) | undefined;
42
+ }>, {
43
+ isOwner: boolean;
44
+ permissions: PermissionEntry[];
45
+ loadingPermissions: boolean;
46
+ onlineNotGranted: OnlineUser[];
47
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
48
+ declare const _default: typeof __VLS_export;
49
+ export default _default;
@@ -0,0 +1,59 @@
1
+ <script setup>
2
+ import { computed, toRef } from "vue";
3
+ import { useDocSnapshots } from "../composables/useDocSnapshots";
4
+ import { useAbracadabra } from "../composables/useAbracadabra";
5
+ import ADocPanelSettings from "./shell/ADocPanelSettings.vue";
6
+ const props = defineProps({
7
+ docId: { type: String, required: true },
8
+ docTypeKey: { type: String, required: false },
9
+ docMeta: { type: [Object, null], required: false },
10
+ permissions: { type: Array, required: false, default: () => [] },
11
+ loadingPermissions: { type: Boolean, required: false, default: false },
12
+ onlineNotGranted: { type: Array, required: false, default: () => [] },
13
+ isOwner: { type: Boolean, required: false, default: false }
14
+ });
15
+ const emit = defineEmits(["grant-permission", "change-role", "revoke-permission", "create-invite", "sync-doc", "open-encryption", "update-meta"]);
16
+ const abra = useAbracadabra();
17
+ const docIdRef = toRef(props, "docId");
18
+ const snaps = useDocSnapshots(docIdRef);
19
+ const effectiveRole = computed(() => abra.provider.value?.effectiveRole ?? null);
20
+ const userName = computed(() => abra.userName?.value ?? "");
21
+ const syncStatusIcon = computed(() => abra.provider.value ? "i-lucide-cloud" : "i-lucide-cloud-off");
22
+ const syncStatusColor = computed(() => abra.provider.value ? "text-success" : "text-muted");
23
+ const syncStatusLabel = computed(() => abra.provider.value ? "Connected" : "Disconnected");
24
+ </script>
25
+
26
+ <template>
27
+ <ADocPanelSettings
28
+ :doc-id="docId"
29
+ :effective-role="effectiveRole"
30
+ :user-name="userName"
31
+ :is-owner="isOwner"
32
+ :permissions="permissions"
33
+ :loading-permissions="loadingPermissions"
34
+ :online-not-granted="onlineNotGranted"
35
+ :sync-status-icon="syncStatusIcon"
36
+ :sync-status-color="syncStatusColor"
37
+ :sync-status-label="syncStatusLabel"
38
+ :doc-type-key="docTypeKey"
39
+ :doc-meta="docMeta"
40
+ :snapshots="snaps.snapshots.value"
41
+ :loading-snapshots="snaps.loading.value"
42
+ :snapshots-error="snaps.error.value"
43
+ :has-more-snapshots="snaps.hasMore.value"
44
+ :pending-snapshot-version="null"
45
+ :is-creating-snapshot="snaps.creating.value"
46
+ @grant-permission="(u, r) => emit('grant-permission', u, r)"
47
+ @change-role="(u, r) => emit('change-role', u, r)"
48
+ @revoke-permission="(u) => emit('revoke-permission', u)"
49
+ @create-invite="(o) => emit('create-invite', o)"
50
+ @sync-doc="emit('sync-doc')"
51
+ @open-encryption="emit('open-encryption')"
52
+ @update-meta="(p) => emit('update-meta', p)"
53
+ @create-snapshot="(label) => snaps.create(label)"
54
+ @delete-snapshot="(v) => snaps.remove(v)"
55
+ @restore-snapshot="(v) => snaps.restore(v)"
56
+ @fork-snapshot="(v) => snaps.fork(v)"
57
+ @load-more-snapshots="snaps.loadMore"
58
+ />
59
+ </template>