@abraca/nuxt 0.3.0 → 1.6.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 (507) hide show
  1. package/dist/module.d.mts +26 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +51 -8
  4. package/dist/runtime/components/AAccountSwitcherModal.d.vue.ts +10 -0
  5. package/dist/runtime/components/AAccountSwitcherModal.vue +158 -0
  6. package/dist/runtime/components/AAccountSwitcherModal.vue.d.ts +10 -0
  7. package/dist/runtime/components/AClaimAccountModal.d.vue.ts +10 -0
  8. package/dist/runtime/components/AClaimAccountModal.vue +230 -0
  9. package/dist/runtime/components/AClaimAccountModal.vue.d.ts +10 -0
  10. package/dist/runtime/components/ACollaborationUsers.vue +1 -0
  11. package/dist/runtime/components/AColorPicker.vue +4 -2
  12. package/dist/runtime/components/ACommandPalette.vue +4 -2
  13. package/dist/runtime/components/AConnectServerModal.d.vue.ts +12 -0
  14. package/dist/runtime/components/AConnectServerModal.vue +200 -0
  15. package/dist/runtime/components/AConnectServerModal.vue.d.ts +12 -0
  16. package/dist/runtime/components/AConnectionStatus.vue +1 -0
  17. package/dist/runtime/components/ADocPickModal.d.vue.ts +13 -0
  18. package/dist/runtime/components/ADocPickModal.vue +71 -0
  19. package/dist/runtime/components/ADocPickModal.vue.d.ts +13 -0
  20. package/dist/runtime/components/ADocRenderer.d.vue.ts +1 -1
  21. package/dist/runtime/components/ADocRenderer.vue +6 -0
  22. package/dist/runtime/components/ADocRenderer.vue.d.ts +1 -1
  23. package/dist/runtime/components/ADocTypeSelect.vue +4 -3
  24. package/dist/runtime/components/ADocumentTree.d.vue.ts +3 -3
  25. package/dist/runtime/components/ADocumentTree.vue +118 -10
  26. package/dist/runtime/components/ADocumentTree.vue.d.ts +3 -3
  27. package/dist/runtime/components/AEditor.d.vue.ts +4 -4
  28. package/dist/runtime/components/AEditor.vue +16 -1
  29. package/dist/runtime/components/AEditor.vue.d.ts +4 -4
  30. package/dist/runtime/components/AFloatingWindow.d.vue.ts +54 -2
  31. package/dist/runtime/components/AFloatingWindow.vue +15 -14
  32. package/dist/runtime/components/AFloatingWindow.vue.d.ts +54 -2
  33. package/dist/runtime/components/AIconPicker.vue +2 -0
  34. package/dist/runtime/components/AInviteRedeemModal.d.vue.ts +10 -0
  35. package/dist/runtime/components/AInviteRedeemModal.vue +122 -0
  36. package/dist/runtime/components/AInviteRedeemModal.vue.d.ts +10 -0
  37. package/dist/runtime/components/ANodePanel.vue +10 -2
  38. package/dist/runtime/components/ANotifications.vue +3 -1
  39. package/dist/runtime/components/APermissionGuard.vue +1 -0
  40. package/dist/runtime/components/APresence.vue +1 -0
  41. package/dist/runtime/components/AProvider.d.vue.ts +0 -1
  42. package/dist/runtime/components/AProvider.vue +17 -4
  43. package/dist/runtime/components/AProvider.vue.d.ts +0 -1
  44. package/dist/runtime/components/ARoleBadge.vue +1 -0
  45. package/dist/runtime/components/ASpaceFormModal.d.vue.ts +16 -0
  46. package/dist/runtime/components/ASpaceFormModal.vue +182 -0
  47. package/dist/runtime/components/ASpaceFormModal.vue.d.ts +16 -0
  48. package/dist/runtime/components/AVoiceBar.vue +3 -1
  49. package/dist/runtime/components/AVoiceTile.vue +1 -0
  50. package/dist/runtime/components/AWindowLayer.vue +1 -0
  51. package/dist/runtime/components/aware/AArea.d.vue.ts +1 -1
  52. package/dist/runtime/components/aware/AArea.vue +2 -1
  53. package/dist/runtime/components/aware/AArea.vue.d.ts +1 -1
  54. package/dist/runtime/components/aware/AAvatar.vue +2 -0
  55. package/dist/runtime/components/aware/AButton.vue +2 -1
  56. package/dist/runtime/components/aware/ACursorLabel.vue +1 -0
  57. package/dist/runtime/components/aware/ADocBadge.vue +2 -0
  58. package/dist/runtime/components/aware/AFacepile.vue +2 -0
  59. package/dist/runtime/components/aware/AInput.vue +3 -2
  60. package/dist/runtime/components/aware/ASelect.vue +3 -2
  61. package/dist/runtime/components/aware/ATextarea.vue +3 -2
  62. package/dist/runtime/components/aware/AUserList.vue +2 -0
  63. package/dist/runtime/components/chat/AChatAgentStatus.d.vue.ts +15 -0
  64. package/dist/runtime/components/chat/AChatAgentStatus.vue +95 -0
  65. package/dist/runtime/components/chat/AChatAgentStatus.vue.d.ts +15 -0
  66. package/dist/runtime/components/chat/AChatDocLink.d.vue.ts +18 -0
  67. package/dist/runtime/components/chat/AChatDocLink.vue +29 -0
  68. package/dist/runtime/components/chat/AChatDocLink.vue.d.ts +18 -0
  69. package/dist/runtime/components/chat/AChatDocQuote.d.vue.ts +26 -0
  70. package/dist/runtime/components/chat/AChatDocQuote.vue +47 -0
  71. package/dist/runtime/components/chat/AChatDocQuote.vue.d.ts +26 -0
  72. package/dist/runtime/components/chat/AChatInput.d.vue.ts +45 -0
  73. package/dist/runtime/components/chat/AChatInput.vue +219 -0
  74. package/dist/runtime/components/chat/AChatInput.vue.d.ts +45 -0
  75. package/dist/runtime/components/chat/AChatList.d.vue.ts +59 -0
  76. package/dist/runtime/components/chat/AChatList.vue +184 -0
  77. package/dist/runtime/components/chat/AChatList.vue.d.ts +59 -0
  78. package/dist/runtime/components/chat/AChatMemberList.d.vue.ts +24 -0
  79. package/dist/runtime/components/chat/AChatMemberList.vue +97 -0
  80. package/dist/runtime/components/chat/AChatMemberList.vue.d.ts +24 -0
  81. package/dist/runtime/components/chat/AChatMessages.d.vue.ts +31 -0
  82. package/dist/runtime/components/chat/AChatMessages.vue +161 -0
  83. package/dist/runtime/components/chat/AChatMessages.vue.d.ts +31 -0
  84. package/dist/runtime/components/chat/AChatPanel.d.vue.ts +84 -0
  85. package/dist/runtime/components/chat/AChatPanel.vue +89 -0
  86. package/dist/runtime/components/chat/AChatPanel.vue.d.ts +84 -0
  87. package/dist/runtime/components/chat/AChatTypingIndicator.d.vue.ts +11 -0
  88. package/dist/runtime/components/chat/AChatTypingIndicator.vue +58 -0
  89. package/dist/runtime/components/chat/AChatTypingIndicator.vue.d.ts +11 -0
  90. package/dist/runtime/components/editor/AColorPalettePopover.d.vue.ts +23 -0
  91. package/dist/runtime/components/editor/AColorPalettePopover.vue +71 -0
  92. package/dist/runtime/components/editor/AColorPalettePopover.vue.d.ts +23 -0
  93. package/dist/runtime/components/editor/ADocLinkPopover.d.vue.ts +7 -0
  94. package/dist/runtime/components/editor/ADocLinkPopover.vue +74 -0
  95. package/dist/runtime/components/editor/ADocLinkPopover.vue.d.ts +7 -0
  96. package/dist/runtime/components/editor/AFileAudioPlayer.d.vue.ts +10 -0
  97. package/dist/runtime/components/editor/AFileAudioPlayer.vue +353 -0
  98. package/dist/runtime/components/editor/AFileAudioPlayer.vue.d.ts +10 -0
  99. package/dist/runtime/components/editor/AFileGlbViewer.d.vue.ts +13 -0
  100. package/dist/runtime/components/editor/AFileGlbViewer.vue +187 -0
  101. package/dist/runtime/components/editor/AFileGlbViewer.vue.d.ts +13 -0
  102. package/dist/runtime/components/editor/AFileVideoPlayer.d.vue.ts +7 -0
  103. package/dist/runtime/components/editor/AFileVideoPlayer.vue +62 -0
  104. package/dist/runtime/components/editor/AFileVideoPlayer.vue.d.ts +7 -0
  105. package/dist/runtime/components/editor/ALinkPopover.d.vue.ts +8 -0
  106. package/dist/runtime/components/editor/ALinkPopover.vue +149 -0
  107. package/dist/runtime/components/editor/ALinkPopover.vue.d.ts +8 -0
  108. package/dist/runtime/components/editor/ALocationPickerPopover.d.vue.ts +28 -0
  109. package/dist/runtime/components/editor/ALocationPickerPopover.vue +232 -0
  110. package/dist/runtime/components/editor/ALocationPickerPopover.vue.d.ts +28 -0
  111. package/dist/runtime/components/renderers/ACalendarRenderer.d.vue.ts +2 -0
  112. package/dist/runtime/components/renderers/ACalendarRenderer.vue +207 -327
  113. package/dist/runtime/components/renderers/ACalendarRenderer.vue.d.ts +2 -0
  114. package/dist/runtime/components/renderers/ACallRenderer.vue +3 -0
  115. package/dist/runtime/components/renderers/AChecklistRenderer.vue +1 -0
  116. package/dist/runtime/components/renderers/ADashboardRenderer.vue +14 -12
  117. package/dist/runtime/components/renderers/AGalleryRenderer.vue +120 -12
  118. package/dist/runtime/components/renderers/AGraphRenderer.vue +5 -2
  119. package/dist/runtime/components/renderers/AKanbanRenderer.vue +21 -5
  120. package/dist/runtime/components/renderers/AMapRenderer.vue +2 -0
  121. package/dist/runtime/components/renderers/AMediaRenderer.d.vue.ts +19 -0
  122. package/dist/runtime/components/renderers/AMediaRenderer.vue +224 -0
  123. package/dist/runtime/components/renderers/AMediaRenderer.vue.d.ts +19 -0
  124. package/dist/runtime/components/renderers/AOutlineRenderer.vue +1 -0
  125. package/dist/runtime/components/renderers/ASpatialRenderer.d.vue.ts +19 -0
  126. package/dist/runtime/components/renderers/ASpatialRenderer.vue +436 -0
  127. package/dist/runtime/components/renderers/ASpatialRenderer.vue.d.ts +19 -0
  128. package/dist/runtime/components/renderers/ATableRenderer.vue +65 -45
  129. package/dist/runtime/components/renderers/ATimelineRenderer.vue +282 -260
  130. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.d.vue.ts +41 -0
  131. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue +109 -0
  132. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue.d.ts +41 -0
  133. package/dist/runtime/components/renderers/calendar/ACalendarDayView.d.vue.ts +49 -0
  134. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue +152 -0
  135. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue.d.ts +49 -0
  136. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.d.vue.ts +39 -0
  137. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue +101 -0
  138. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue.d.ts +39 -0
  139. package/dist/runtime/components/renderers/calendar/ACalendarMonthView.d.vue.ts +43 -0
  140. package/dist/runtime/components/renderers/calendar/ACalendarMonthView.vue +87 -0
  141. package/dist/runtime/components/renderers/calendar/ACalendarMonthView.vue.d.ts +43 -0
  142. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.d.vue.ts +38 -0
  143. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue +206 -0
  144. package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue.d.ts +38 -0
  145. package/dist/runtime/components/renderers/calendar/ACalendarUnscheduled.d.vue.ts +28 -0
  146. package/dist/runtime/components/renderers/calendar/ACalendarUnscheduled.vue +33 -0
  147. package/dist/runtime/components/renderers/calendar/ACalendarUnscheduled.vue.d.ts +28 -0
  148. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.d.vue.ts +50 -0
  149. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue +188 -0
  150. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue.d.ts +50 -0
  151. package/dist/runtime/components/renderers/media/MediaPlaylist.d.vue.ts +25 -0
  152. package/dist/runtime/components/renderers/media/MediaPlaylist.vue +115 -0
  153. package/dist/runtime/components/renderers/media/MediaPlaylist.vue.d.ts +25 -0
  154. package/dist/runtime/components/renderers/media/MediaSyncBar.d.vue.ts +21 -0
  155. package/dist/runtime/components/renderers/media/MediaSyncBar.vue +61 -0
  156. package/dist/runtime/components/renderers/media/MediaSyncBar.vue.d.ts +21 -0
  157. package/dist/runtime/components/renderers/media/MediaTransportBar.d.vue.ts +22 -0
  158. package/dist/runtime/components/renderers/media/MediaTransportBar.vue +98 -0
  159. package/dist/runtime/components/renderers/media/MediaTransportBar.vue.d.ts +22 -0
  160. package/dist/runtime/components/renderers/spatial/SpatialGround.d.vue.ts +20 -0
  161. package/dist/runtime/components/renderers/spatial/SpatialGround.vue +26 -0
  162. package/dist/runtime/components/renderers/spatial/SpatialGround.vue.d.ts +20 -0
  163. package/dist/runtime/components/renderers/spatial/SpatialObject.d.vue.ts +17 -0
  164. package/dist/runtime/components/renderers/spatial/SpatialObject.vue +257 -0
  165. package/dist/runtime/components/renderers/spatial/SpatialObject.vue.d.ts +17 -0
  166. package/dist/runtime/components/renderers/spatial/SpatialSceneBridge.d.vue.ts +15 -0
  167. package/dist/runtime/components/renderers/spatial/SpatialSceneBridge.vue +18 -0
  168. package/dist/runtime/components/renderers/spatial/SpatialSceneBridge.vue.d.ts +15 -0
  169. package/dist/runtime/components/renderers/spatial/SpatialUserAvatar.d.vue.ts +8 -0
  170. package/dist/runtime/components/renderers/spatial/SpatialUserAvatar.vue +53 -0
  171. package/dist/runtime/components/renderers/spatial/SpatialUserAvatar.vue.d.ts +8 -0
  172. package/dist/runtime/components/renderers/table/ATableColumnHeader.d.vue.ts +25 -0
  173. package/dist/runtime/components/renderers/table/ATableColumnHeader.vue +129 -0
  174. package/dist/runtime/components/renderers/table/ATableColumnHeader.vue.d.ts +25 -0
  175. package/dist/runtime/components/renderers/table/ATableFlatMode.d.vue.ts +21 -0
  176. package/dist/runtime/components/renderers/table/ATableFlatMode.vue +370 -0
  177. package/dist/runtime/components/renderers/table/ATableFlatMode.vue.d.ts +21 -0
  178. package/dist/runtime/components/renderers/table/ATableToolbar.d.vue.ts +22 -0
  179. package/dist/runtime/components/renderers/table/ATableToolbar.vue +106 -0
  180. package/dist/runtime/components/renderers/table/ATableToolbar.vue.d.ts +22 -0
  181. package/dist/runtime/components/renderers/table/cells/ATableCell.d.vue.ts +18 -0
  182. package/dist/runtime/components/renderers/table/cells/ATableCell.vue +54 -0
  183. package/dist/runtime/components/renderers/table/cells/ATableCell.vue.d.ts +18 -0
  184. package/dist/runtime/components/renderers/table/cells/ATableCellColor.d.vue.ts +14 -0
  185. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue +67 -0
  186. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue.d.ts +14 -0
  187. package/dist/runtime/components/renderers/table/cells/ATableCellDate.d.vue.ts +16 -0
  188. package/dist/runtime/components/renderers/table/cells/ATableCellDate.vue +91 -0
  189. package/dist/runtime/components/renderers/table/cells/ATableCellDate.vue.d.ts +16 -0
  190. package/dist/runtime/components/renderers/table/cells/ATableCellMembers.d.vue.ts +6 -0
  191. package/dist/runtime/components/renderers/table/cells/ATableCellMembers.vue +30 -0
  192. package/dist/runtime/components/renderers/table/cells/ATableCellMembers.vue.d.ts +6 -0
  193. package/dist/runtime/components/renderers/table/cells/ATableCellMultiSelect.d.vue.ts +17 -0
  194. package/dist/runtime/components/renderers/table/cells/ATableCellMultiSelect.vue +76 -0
  195. package/dist/runtime/components/renderers/table/cells/ATableCellMultiSelect.vue.d.ts +17 -0
  196. package/dist/runtime/components/renderers/table/cells/ATableCellNumber.d.vue.ts +17 -0
  197. package/dist/runtime/components/renderers/table/cells/ATableCellNumber.vue +54 -0
  198. package/dist/runtime/components/renderers/table/cells/ATableCellNumber.vue.d.ts +17 -0
  199. package/dist/runtime/components/renderers/table/cells/ATableCellRating.d.vue.ts +16 -0
  200. package/dist/runtime/components/renderers/table/cells/ATableCellRating.vue +35 -0
  201. package/dist/runtime/components/renderers/table/cells/ATableCellRating.vue.d.ts +16 -0
  202. package/dist/runtime/components/renderers/table/cells/ATableCellSelect.d.vue.ts +18 -0
  203. package/dist/runtime/components/renderers/table/cells/ATableCellSelect.vue +111 -0
  204. package/dist/runtime/components/renderers/table/cells/ATableCellSelect.vue.d.ts +18 -0
  205. package/dist/runtime/components/renderers/table/cells/ATableCellSlider.d.vue.ts +16 -0
  206. package/dist/runtime/components/renderers/table/cells/ATableCellSlider.vue +35 -0
  207. package/dist/runtime/components/renderers/table/cells/ATableCellSlider.vue.d.ts +16 -0
  208. package/dist/runtime/components/renderers/table/cells/ATableCellTags.d.vue.ts +15 -0
  209. package/dist/runtime/components/renderers/table/cells/ATableCellTags.vue +92 -0
  210. package/dist/runtime/components/renderers/table/cells/ATableCellTags.vue.d.ts +15 -0
  211. package/dist/runtime/components/renderers/table/cells/ATableCellText.d.vue.ts +15 -0
  212. package/dist/runtime/components/renderers/table/cells/ATableCellText.vue +44 -0
  213. package/dist/runtime/components/renderers/table/cells/ATableCellText.vue.d.ts +15 -0
  214. package/dist/runtime/components/renderers/table/cells/ATableCellToggle.d.vue.ts +14 -0
  215. package/dist/runtime/components/renderers/table/cells/ATableCellToggle.vue +31 -0
  216. package/dist/runtime/components/renderers/table/cells/ATableCellToggle.vue.d.ts +14 -0
  217. package/dist/runtime/components/renderers/table/cells/ATableCellUrl.d.vue.ts +15 -0
  218. package/dist/runtime/components/renderers/table/cells/ATableCellUrl.vue +63 -0
  219. package/dist/runtime/components/renderers/table/cells/ATableCellUrl.vue.d.ts +15 -0
  220. package/dist/runtime/components/renderers/timeline/ATimelineAxis.d.vue.ts +9 -0
  221. package/dist/runtime/components/renderers/timeline/ATimelineAxis.vue +53 -0
  222. package/dist/runtime/components/renderers/timeline/ATimelineAxis.vue.d.ts +9 -0
  223. package/dist/runtime/components/renderers/timeline/ATimelineBar.d.vue.ts +26 -0
  224. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue +59 -0
  225. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue.d.ts +26 -0
  226. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.d.vue.ts +28 -0
  227. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue +109 -0
  228. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue.d.ts +28 -0
  229. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.d.vue.ts +43 -0
  230. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue +168 -0
  231. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue.d.ts +43 -0
  232. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.d.vue.ts +24 -0
  233. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue +46 -0
  234. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue.d.ts +24 -0
  235. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.d.vue.ts +34 -0
  236. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue +193 -0
  237. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue.d.ts +34 -0
  238. package/dist/runtime/components/settings/ASettingsAdminPanel.d.vue.ts +3 -0
  239. package/dist/runtime/components/settings/ASettingsAdminPanel.vue +159 -0
  240. package/dist/runtime/components/settings/ASettingsAdminPanel.vue.d.ts +3 -0
  241. package/dist/runtime/components/settings/ASettingsConnectionPanel.d.vue.ts +3 -0
  242. package/dist/runtime/components/settings/ASettingsConnectionPanel.vue +146 -0
  243. package/dist/runtime/components/settings/ASettingsConnectionPanel.vue.d.ts +3 -0
  244. package/dist/runtime/components/settings/ASettingsInvitesPanel.d.vue.ts +3 -0
  245. package/dist/runtime/components/settings/ASettingsInvitesPanel.vue +157 -0
  246. package/dist/runtime/components/settings/ASettingsInvitesPanel.vue.d.ts +3 -0
  247. package/dist/runtime/components/settings/ASettingsMembersPanel.d.vue.ts +3 -0
  248. package/dist/runtime/components/settings/ASettingsMembersPanel.vue +134 -0
  249. package/dist/runtime/components/settings/ASettingsMembersPanel.vue.d.ts +3 -0
  250. package/dist/runtime/components/settings/ASettingsModal.d.vue.ts +3 -0
  251. package/dist/runtime/components/settings/ASettingsModal.vue +176 -0
  252. package/dist/runtime/components/settings/ASettingsModal.vue.d.ts +3 -0
  253. package/dist/runtime/components/settings/ASettingsOfflinePanel.d.vue.ts +3 -0
  254. package/dist/runtime/components/settings/ASettingsOfflinePanel.vue +170 -0
  255. package/dist/runtime/components/settings/ASettingsOfflinePanel.vue.d.ts +3 -0
  256. package/dist/runtime/components/settings/ASettingsPluginsPanel.d.vue.ts +3 -0
  257. package/dist/runtime/components/settings/ASettingsPluginsPanel.vue +96 -0
  258. package/dist/runtime/components/settings/ASettingsPluginsPanel.vue.d.ts +3 -0
  259. package/dist/runtime/components/settings/ASettingsProfilePanel.d.vue.ts +3 -0
  260. package/dist/runtime/components/settings/ASettingsProfilePanel.vue +223 -0
  261. package/dist/runtime/components/settings/ASettingsProfilePanel.vue.d.ts +3 -0
  262. package/dist/runtime/components/settings/ASettingsSecurityPanel.d.vue.ts +3 -0
  263. package/dist/runtime/components/settings/ASettingsSecurityPanel.vue +312 -0
  264. package/dist/runtime/components/settings/ASettingsSecurityPanel.vue.d.ts +3 -0
  265. package/dist/runtime/components/settings/ASettingsSpacesPanel.d.vue.ts +3 -0
  266. package/dist/runtime/components/settings/ASettingsSpacesPanel.vue +195 -0
  267. package/dist/runtime/components/settings/ASettingsSpacesPanel.vue.d.ts +3 -0
  268. package/dist/runtime/components/settings/ASettingsTrashPanel.d.vue.ts +3 -0
  269. package/dist/runtime/components/settings/ASettingsTrashPanel.vue +135 -0
  270. package/dist/runtime/components/settings/ASettingsTrashPanel.vue.d.ts +3 -0
  271. package/dist/runtime/components/shell/AChildContextMenu.d.vue.ts +30 -0
  272. package/dist/runtime/components/shell/AChildContextMenu.vue +48 -0
  273. package/dist/runtime/components/shell/AChildContextMenu.vue.d.ts +30 -0
  274. package/dist/runtime/components/shell/ACursorOverlay.d.vue.ts +11 -0
  275. package/dist/runtime/components/shell/ACursorOverlay.vue +55 -0
  276. package/dist/runtime/components/shell/ACursorOverlay.vue.d.ts +11 -0
  277. package/dist/runtime/components/shell/ADocDragGhost.d.vue.ts +3 -0
  278. package/dist/runtime/components/shell/ADocDragGhost.vue +58 -0
  279. package/dist/runtime/components/shell/ADocDragGhost.vue.d.ts +3 -0
  280. package/dist/runtime/components/shell/ADocPanelSettings.d.vue.ts +111 -0
  281. package/dist/runtime/components/shell/ADocPanelSettings.vue +621 -0
  282. package/dist/runtime/components/shell/ADocPanelSettings.vue.d.ts +111 -0
  283. package/dist/runtime/components/shell/AFavoritesList.d.vue.ts +27 -0
  284. package/dist/runtime/components/shell/AFavoritesList.vue +83 -0
  285. package/dist/runtime/components/shell/AFavoritesList.vue.d.ts +27 -0
  286. package/dist/runtime/components/shell/ANodeContextMenu.d.vue.ts +17 -0
  287. package/dist/runtime/components/shell/ANodeContextMenu.vue +14 -0
  288. package/dist/runtime/components/shell/ANodeContextMenu.vue.d.ts +17 -0
  289. package/dist/runtime/components/shell/ASidebar.d.vue.ts +54 -0
  290. package/dist/runtime/components/shell/ASidebar.vue +92 -0
  291. package/dist/runtime/components/shell/ASidebar.vue.d.ts +54 -0
  292. package/dist/runtime/components/shell/ASidebarToggle.d.vue.ts +7 -0
  293. package/dist/runtime/components/shell/ASidebarToggle.vue +23 -0
  294. package/dist/runtime/components/shell/ASidebarToggle.vue.d.ts +7 -0
  295. package/dist/runtime/components/shell/ASpaceSwitcher.d.vue.ts +32 -0
  296. package/dist/runtime/components/shell/ASpaceSwitcher.vue +63 -0
  297. package/dist/runtime/components/shell/ASpaceSwitcher.vue.d.ts +32 -0
  298. package/dist/runtime/components/shell/ASyncStatus.d.vue.ts +25 -0
  299. package/dist/runtime/components/shell/ASyncStatus.vue +96 -0
  300. package/dist/runtime/components/shell/ASyncStatus.vue.d.ts +25 -0
  301. package/dist/runtime/components/shell/AUserMenu.d.vue.ts +28 -0
  302. package/dist/runtime/components/shell/AUserMenu.vue +79 -0
  303. package/dist/runtime/components/shell/AUserMenu.vue.d.ts +28 -0
  304. package/dist/runtime/components/shell/AUserProfilePopover.d.vue.ts +54 -0
  305. package/dist/runtime/components/shell/AUserProfilePopover.vue +176 -0
  306. package/dist/runtime/components/shell/AUserProfilePopover.vue.d.ts +54 -0
  307. package/dist/runtime/components/shell/AWelcomeScreen.d.vue.ts +96 -0
  308. package/dist/runtime/components/shell/AWelcomeScreen.vue +422 -0
  309. package/dist/runtime/components/shell/AWelcomeScreen.vue.d.ts +96 -0
  310. package/dist/runtime/composables/useAAField.js +2 -0
  311. package/dist/runtime/composables/useAbraLocale.js +1 -0
  312. package/dist/runtime/composables/useAbracadabra.js +1 -0
  313. package/dist/runtime/composables/useAbracadabraAuth.d.ts +3 -4
  314. package/dist/runtime/composables/useAbracadabraAuth.js +4 -0
  315. package/dist/runtime/composables/useAwareness.js +1 -0
  316. package/dist/runtime/composables/useAwarenessPeers.js +1 -0
  317. package/dist/runtime/composables/useBackgroundSync.d.ts +5 -0
  318. package/dist/runtime/composables/useBackgroundSync.js +24 -3
  319. package/dist/runtime/composables/useCalendarView.d.ts +86 -0
  320. package/dist/runtime/composables/useCalendarView.js +316 -0
  321. package/dist/runtime/composables/useChat.d.ts +2 -1
  322. package/dist/runtime/composables/useChat.js +17 -10
  323. package/dist/runtime/composables/useChatUsers.js +1 -0
  324. package/dist/runtime/composables/useChildTree.d.ts +4 -2
  325. package/dist/runtime/composables/useChildTree.js +31 -21
  326. package/dist/runtime/composables/useCommandPalette.js +16 -17
  327. package/dist/runtime/composables/useConnectionStatus.d.ts +1 -1
  328. package/dist/runtime/composables/useConnectionStatus.js +1 -1
  329. package/dist/runtime/composables/useCrossWindowSync.d.ts +11 -0
  330. package/dist/runtime/composables/useCrossWindowSync.js +38 -0
  331. package/dist/runtime/composables/useDashboard.js +17 -9
  332. package/dist/runtime/composables/useDevicePairing.js +2 -0
  333. package/dist/runtime/composables/useDocDragBus.d.ts +28 -0
  334. package/dist/runtime/composables/useDocDragBus.js +22 -0
  335. package/dist/runtime/composables/useDocDropZone.d.ts +51 -0
  336. package/dist/runtime/composables/useDocDropZone.js +84 -0
  337. package/dist/runtime/composables/useDocExport.js +2 -0
  338. package/dist/runtime/composables/useDocImport.js +1 -0
  339. package/dist/runtime/composables/useDocLabels.d.ts +22 -0
  340. package/dist/runtime/composables/useDocLabels.js +11 -0
  341. package/dist/runtime/composables/useDocLinkPick.d.ts +18 -0
  342. package/dist/runtime/composables/useDocLinkPick.js +22 -0
  343. package/dist/runtime/composables/useDocSeo.js +3 -2
  344. package/dist/runtime/composables/useDocSlugs.js +3 -0
  345. package/dist/runtime/composables/useDocTree.d.ts +1 -0
  346. package/dist/runtime/composables/useDocTree.js +6 -2
  347. package/dist/runtime/composables/useEditor.js +1 -0
  348. package/dist/runtime/composables/useEditorDragHandle.js +2 -0
  349. package/dist/runtime/composables/useEditorEmojis.d.ts +22 -0
  350. package/dist/runtime/composables/useEditorEmojis.js +57 -0
  351. package/dist/runtime/composables/useEditorMentions.d.ts +10 -3
  352. package/dist/runtime/composables/useEditorMentions.js +31 -3
  353. package/dist/runtime/composables/useEditorSuggestions.d.ts +2 -2
  354. package/dist/runtime/composables/useEditorSuggestions.js +27 -19
  355. package/dist/runtime/composables/useEditorToolbar.d.ts +1 -1
  356. package/dist/runtime/composables/useEditorToolbar.js +3 -0
  357. package/dist/runtime/composables/useFavorites.d.ts +13 -0
  358. package/dist/runtime/composables/useFavorites.js +42 -0
  359. package/dist/runtime/composables/useFileIndex.js +2 -0
  360. package/dist/runtime/composables/useFileTransfer.js +13 -1
  361. package/dist/runtime/composables/useFollowUser.js +2 -0
  362. package/dist/runtime/composables/useIdentityDoc.d.ts +89 -0
  363. package/dist/runtime/composables/useIdentityDoc.js +349 -0
  364. package/dist/runtime/composables/useInstalledPlugins.d.ts +31 -0
  365. package/dist/runtime/composables/useInstalledPlugins.js +58 -0
  366. package/dist/runtime/composables/useInvites.js +1 -0
  367. package/dist/runtime/composables/useJoinLink.d.ts +25 -0
  368. package/dist/runtime/composables/useJoinLink.js +58 -0
  369. package/dist/runtime/composables/useMediaExtractor.d.ts +31 -0
  370. package/dist/runtime/composables/useMediaExtractor.js +46 -0
  371. package/dist/runtime/composables/useMediaPlayback.d.ts +43 -0
  372. package/dist/runtime/composables/useMediaPlayback.js +465 -0
  373. package/dist/runtime/composables/useNodeContextMenu.d.ts +26 -0
  374. package/dist/runtime/composables/useNodeContextMenu.js +99 -0
  375. package/dist/runtime/composables/useNodePanel.d.ts +7 -1
  376. package/dist/runtime/composables/useNodePanel.js +45 -8
  377. package/dist/runtime/composables/useNodePanelFollow.d.ts +2 -0
  378. package/dist/runtime/composables/useNodePanelFollow.js +37 -0
  379. package/dist/runtime/composables/useNotifications.d.ts +1 -0
  380. package/dist/runtime/composables/useNotifications.js +7 -2
  381. package/dist/runtime/composables/usePluginRegistry.js +1 -0
  382. package/dist/runtime/composables/useRendererBase.d.ts +16 -1
  383. package/dist/runtime/composables/useRendererBase.js +10 -1
  384. package/dist/runtime/composables/useSearchIndex.js +2 -0
  385. package/dist/runtime/composables/useSettingsModal.d.ts +18 -0
  386. package/dist/runtime/composables/useSettingsModal.js +30 -0
  387. package/dist/runtime/composables/useSlideoverSwipe.d.ts +39 -0
  388. package/dist/runtime/composables/useSlideoverSwipe.js +48 -0
  389. package/dist/runtime/composables/useSlugRoute.js +2 -0
  390. package/dist/runtime/composables/useSpaces.js +2 -0
  391. package/dist/runtime/composables/useSpatialCamera.d.ts +16 -0
  392. package/dist/runtime/composables/useSpatialCamera.js +175 -0
  393. package/dist/runtime/composables/useSpatialDrag.d.ts +14 -0
  394. package/dist/runtime/composables/useSpatialDrag.js +137 -0
  395. package/dist/runtime/composables/useTableView.d.ts +29 -0
  396. package/dist/runtime/composables/useTableView.js +184 -0
  397. package/dist/runtime/composables/useTimelineView.d.ts +55 -0
  398. package/dist/runtime/composables/useTimelineView.js +434 -0
  399. package/dist/runtime/composables/useTiptapDragState.d.ts +8 -0
  400. package/dist/runtime/composables/useTiptapDragState.js +5 -0
  401. package/dist/runtime/composables/useTouchDrag.d.ts +2 -0
  402. package/dist/runtime/composables/useTouchDrag.js +3 -0
  403. package/dist/runtime/composables/useTrash.d.ts +4 -0
  404. package/dist/runtime/composables/useTrash.js +6 -3
  405. package/dist/runtime/composables/useTreeUndoManager.d.ts +22 -0
  406. package/dist/runtime/composables/useTreeUndoManager.js +45 -0
  407. package/dist/runtime/composables/useUndoRedo.d.ts +37 -0
  408. package/dist/runtime/composables/useUndoRedo.js +115 -0
  409. package/dist/runtime/composables/useVoice.js +2 -0
  410. package/dist/runtime/composables/useWebRTC.js +2 -0
  411. package/dist/runtime/composables/useWindowManager.d.ts +2 -0
  412. package/dist/runtime/composables/useWindowManager.js +63 -1
  413. package/dist/runtime/extensions/code-preview.d.ts +2 -0
  414. package/dist/runtime/extensions/code-preview.js +17 -0
  415. package/dist/runtime/extensions/code-tree.d.ts +2 -0
  416. package/dist/runtime/extensions/code-tree.js +33 -0
  417. package/dist/runtime/extensions/doc-embed.d.ts +12 -0
  418. package/dist/runtime/extensions/doc-embed.js +63 -0
  419. package/dist/runtime/extensions/doc-link-drop.d.ts +3 -0
  420. package/dist/runtime/extensions/doc-link-drop.js +63 -0
  421. package/dist/runtime/extensions/document-header.js +1 -1
  422. package/dist/runtime/extensions/field.d.ts +3 -0
  423. package/dist/runtime/extensions/field.js +53 -0
  424. package/dist/runtime/extensions/mention-drop.d.ts +8 -0
  425. package/dist/runtime/extensions/mention-drop.js +47 -0
  426. package/dist/runtime/extensions/meta-field.js +2 -0
  427. package/dist/runtime/extensions/selection-drag.d.ts +13 -0
  428. package/dist/runtime/extensions/selection-drag.js +126 -0
  429. package/dist/runtime/extensions/views/AccordionItemView.vue +1 -0
  430. package/dist/runtime/extensions/views/BadgeView.vue +1 -0
  431. package/dist/runtime/extensions/views/CardView.vue +1 -0
  432. package/dist/runtime/extensions/views/CodeCollapseView.vue +1 -0
  433. package/dist/runtime/extensions/views/CodeGroupView.vue +1 -0
  434. package/dist/runtime/extensions/views/CodePreviewView.d.vue.ts +4 -0
  435. package/dist/runtime/extensions/views/CodePreviewView.vue +48 -0
  436. package/dist/runtime/extensions/views/CodePreviewView.vue.d.ts +4 -0
  437. package/dist/runtime/extensions/views/CodeTreeView.d.vue.ts +4 -0
  438. package/dist/runtime/extensions/views/CodeTreeView.vue +88 -0
  439. package/dist/runtime/extensions/views/CodeTreeView.vue.d.ts +4 -0
  440. package/dist/runtime/extensions/views/CollapsibleView.vue +1 -0
  441. package/dist/runtime/extensions/views/DocEmbedView.d.vue.ts +4 -0
  442. package/dist/runtime/extensions/views/DocEmbedView.vue +198 -0
  443. package/dist/runtime/extensions/views/DocEmbedView.vue.d.ts +4 -0
  444. package/dist/runtime/extensions/views/FieldGroupView.d.vue.ts +4 -0
  445. package/dist/runtime/extensions/views/FieldGroupView.vue +25 -0
  446. package/dist/runtime/extensions/views/FieldGroupView.vue.d.ts +4 -0
  447. package/dist/runtime/extensions/views/FieldView.d.vue.ts +4 -0
  448. package/dist/runtime/extensions/views/FieldView.vue +53 -0
  449. package/dist/runtime/extensions/views/FieldView.vue.d.ts +4 -0
  450. package/dist/runtime/extensions/views/FileNodeView.vue +2 -0
  451. package/dist/runtime/extensions/views/KbdView.vue +1 -0
  452. package/dist/runtime/extensions/views/MetaFieldView.vue +68 -2
  453. package/dist/runtime/extensions/views/ProseIconView.vue +1 -0
  454. package/dist/runtime/extensions/views/StepsView.vue +1 -0
  455. package/dist/runtime/extensions/views/TabsView.vue +1 -0
  456. package/dist/runtime/locale.d.ts +65 -0
  457. package/dist/runtime/locale.js +67 -2
  458. package/dist/runtime/middleware/abracadabra-auth.d.ts +1 -10
  459. package/dist/runtime/middleware/abracadabra-auth.js +2 -0
  460. package/dist/runtime/plugin-abracadabra.client.d.ts +1 -1
  461. package/dist/runtime/plugin-abracadabra.client.js +99 -53
  462. package/dist/runtime/plugin-abracadabra.server.d.ts +1 -1
  463. package/dist/runtime/plugin-abracadabra.server.js +2 -0
  464. package/dist/runtime/plugin-shared-globals.client.d.ts +1 -1
  465. package/dist/runtime/plugin-shared-globals.client.js +1 -0
  466. package/dist/runtime/plugins/core.plugin.js +40 -4
  467. package/dist/runtime/server/api/_abracadabra/render/[docId].get.d.ts +19 -17
  468. package/dist/runtime/server/api/_abracadabra/render/[docId].get.js +4 -0
  469. package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.d.ts +11 -1
  470. package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.js +1 -0
  471. package/dist/runtime/server/api/_abracadabra/slugs.get.js +1 -0
  472. package/dist/runtime/server/api/_abracadabra/spaces.get.d.ts +1 -10
  473. package/dist/runtime/server/api/_abracadabra/spaces.get.js +3 -0
  474. package/dist/runtime/server/plugins/abracadabra-service.js +24 -12
  475. package/dist/runtime/server/utils/docCache.d.ts +8 -6
  476. package/dist/runtime/server/utils/docCache.js +3 -3
  477. package/dist/runtime/server/utils/serverPluginLoader.d.ts +20 -0
  478. package/dist/runtime/server/utils/serverPluginLoader.js +42 -0
  479. package/dist/runtime/server/utils/serverRunner.d.ts +11 -2
  480. package/dist/runtime/server/utils/serverRunner.js +21 -10
  481. package/dist/runtime/server/utils/spaceManager.d.ts +25 -0
  482. package/dist/runtime/server/utils/spaceManager.js +188 -0
  483. package/dist/runtime/types.d.ts +128 -30
  484. package/dist/runtime/types.js +17 -17
  485. package/dist/runtime/utils/chatContent.d.ts +41 -0
  486. package/dist/runtime/utils/chatContent.js +65 -0
  487. package/dist/runtime/utils/colorPalettes.js +12 -6
  488. package/dist/runtime/utils/coverCache.d.ts +12 -0
  489. package/dist/runtime/utils/coverCache.js +14 -0
  490. package/dist/runtime/utils/docReferenceEdges.d.ts +26 -0
  491. package/dist/runtime/utils/docReferenceEdges.js +122 -0
  492. package/dist/runtime/utils/docTypes.d.ts +6 -1
  493. package/dist/runtime/utils/duplicateDocContent.d.ts +19 -0
  494. package/dist/runtime/utils/duplicateDocContent.js +68 -0
  495. package/dist/runtime/utils/extractFileMetadata.d.ts +13 -0
  496. package/dist/runtime/utils/extractFileMetadata.js +94 -0
  497. package/dist/runtime/utils/getMetaColor.d.ts +6 -0
  498. package/dist/runtime/utils/getMetaColor.js +12 -0
  499. package/dist/runtime/utils/htmlToYjs.d.ts +19 -0
  500. package/dist/runtime/utils/htmlToYjs.js +235 -0
  501. package/dist/runtime/utils/markdownToYjs.js +3 -3
  502. package/dist/runtime/utils/metaFieldDefinitions.js +9 -0
  503. package/dist/runtime/utils/notificationRenderers.d.ts +13 -0
  504. package/dist/runtime/utils/notificationRenderers.js +41 -0
  505. package/dist/runtime/utils/sdkRef.d.ts +12 -2
  506. package/dist/types.d.mts +12 -0
  507. package/package.json +26 -27
@@ -0,0 +1,8 @@
1
+ export interface TiptapDragState {
2
+ html: string;
3
+ nodeType: string;
4
+ sourceDocId: string;
5
+ sourceDocLabel: string;
6
+ deleteFromSource: () => void;
7
+ }
8
+ export declare function useTiptapDragState(): import("vue").ShallowRef<TiptapDragState | null, TiptapDragState | null>;
@@ -0,0 +1,5 @@
1
+ import { shallowRef } from "vue";
2
+ const tiptapDragState = shallowRef(null);
3
+ export function useTiptapDragState() {
4
+ return tiptapDragState;
5
+ }
@@ -14,6 +14,8 @@ export declare function useTouchDrag(opts: {
14
14
  onDrop?: (dragId: string, targetId: string) => void;
15
15
  /** Called when an item is dropped on a container (cross-container move) */
16
16
  onMoveToContainer?: (dragId: string, containerId: string, targetId: string | null) => void;
17
+ /** Called on every pointermove while over a container (for live previews) */
18
+ onMoveOverContainer?: (dragId: string, containerId: string, event: PointerEvent) => void;
17
19
  /** Called when drag starts */
18
20
  onDragStart?: (id: string) => void;
19
21
  /** Called when drag ends (always, even if no drop) */
@@ -127,6 +127,9 @@ export function useTouchDrag(opts) {
127
127
  const { id, container } = findTarget(e.clientX, e.clientY);
128
128
  dragOverId.value = id && id !== dragId.value ? id : null;
129
129
  dragOverContainer.value = container;
130
+ if (container && dragId.value && opts.onMoveOverContainer) {
131
+ opts.onMoveOverContainer(dragId.value, container, e);
132
+ }
130
133
  autoScroll(e.clientY);
131
134
  }
132
135
  function autoScroll(clientY) {
@@ -18,6 +18,8 @@ export interface TrashEntry {
18
18
  meta?: Record<string, any>;
19
19
  deletedAt: number;
20
20
  deletedBy?: string;
21
+ /** Batch ID for grouping items deleted together (for accurate restore). */
22
+ batchId?: string;
21
23
  }
22
24
  export declare function useTrash(rootDoc?: ShallowRef<Y.Doc | null>): {
23
25
  trashMap: {
@@ -37,6 +39,8 @@ export declare function useTrash(rootDoc?: ShallowRef<Y.Doc | null>): {
37
39
  meta?: Record<string, any>;
38
40
  deletedAt: number;
39
41
  deletedBy?: string;
42
+ /** Batch ID for grouping items deleted together (for accurate restore). */
43
+ batchId?: string;
40
44
  id: string;
41
45
  }[]>;
42
46
  trashedCount: import("vue").ComputedRef<number>;
@@ -1,5 +1,6 @@
1
1
  import { computed, ref } from "vue";
2
2
  import { useSyncedMap } from "./useYDoc.js";
3
+ import { useAbracadabra } from "./useAbracadabra.js";
3
4
  const TRASH_SETTINGS_KEY = "abracadabra_trash_settings";
4
5
  function loadTrashSettings() {
5
6
  try {
@@ -42,6 +43,7 @@ export function useTrash(rootDoc) {
42
43
  const doc = _doc.value;
43
44
  if (!doc) return;
44
45
  const now = Date.now();
46
+ const batchId = crypto.randomUUID();
45
47
  doc.transact(() => {
46
48
  for (const id of collectDescendants(docId)) {
47
49
  const entry = treeMap.get(id);
@@ -53,7 +55,8 @@ export function useTrash(rootDoc) {
53
55
  type: entry.type,
54
56
  meta: entry.meta,
55
57
  deletedAt: now,
56
- deletedBy: deletedBy ?? userName.value
58
+ deletedBy: deletedBy ?? userName.value,
59
+ batchId
57
60
  });
58
61
  treeMap.remove(id);
59
62
  }
@@ -64,9 +67,9 @@ export function useTrash(rootDoc) {
64
67
  if (!doc) return;
65
68
  const entry = trashMap.get(docId);
66
69
  if (!entry) return;
67
- const { deletedAt } = entry;
70
+ const { deletedAt, batchId } = entry;
68
71
  doc.transact(() => {
69
- const toRestore = Object.entries(trashMap.data).filter(([, e]) => Math.abs(e.deletedAt - deletedAt) < 1e3);
72
+ const toRestore = Object.entries(trashMap.data).filter(([, e]) => batchId ? e.batchId === batchId : Math.abs(e.deletedAt - deletedAt) < 1e3);
70
73
  for (const [id, trashEntry] of toRestore) {
71
74
  const parentExists = trashEntry.parentId === null || treeMap.get(trashEntry.parentId) !== void 0 || toRestore.some(([rid]) => rid === trashEntry.parentId);
72
75
  treeMap.set(id, {
@@ -0,0 +1,22 @@
1
+ import type { ShallowRef, Ref, InjectionKey } from 'vue';
2
+ import * as Y from 'yjs';
3
+ export interface TreeUndoContext {
4
+ canUndo: Ref<boolean>;
5
+ canRedo: Ref<boolean>;
6
+ undo: () => void;
7
+ redo: () => void;
8
+ undoManager: ShallowRef<Y.UndoManager | null>;
9
+ }
10
+ export declare const treeUndoKey: InjectionKey<TreeUndoContext>;
11
+ /**
12
+ * Creates a Y.UndoManager scoped to the root doc's "doc-tree" and "doc-trash"
13
+ * Y.Maps. Tracks only local user changes (origin === null) so remote CRDT
14
+ * updates are never reversed.
15
+ *
16
+ * Both maps are tracked because deleteEntry moves items from tree -> trash in a
17
+ * single transaction — the UndoManager must see both sides to reverse it
18
+ * atomically.
19
+ *
20
+ * Should be called once in the layout and provided via `treeUndoKey`.
21
+ */
22
+ export declare function useTreeUndoManager(rootDoc: ShallowRef<Y.Doc | null>): TreeUndoContext;
@@ -0,0 +1,45 @@
1
+ import { ref, shallowRef, watch, onBeforeUnmount } from "vue";
2
+ import * as Y from "yjs";
3
+ export const treeUndoKey = Symbol("treeUndo");
4
+ export function useTreeUndoManager(rootDoc) {
5
+ const undoManager = shallowRef(null);
6
+ const canUndo = ref(false);
7
+ const canRedo = ref(false);
8
+ function updateState() {
9
+ const um = undoManager.value;
10
+ canUndo.value = (um?.undoStack.length ?? 0) > 0;
11
+ canRedo.value = (um?.redoStack.length ?? 0) > 0;
12
+ }
13
+ watch(rootDoc, (doc, _oldDoc, onCleanup) => {
14
+ undoManager.value?.destroy();
15
+ undoManager.value = null;
16
+ canUndo.value = false;
17
+ canRedo.value = false;
18
+ if (!doc) return;
19
+ const treeMap = doc.getMap("doc-tree");
20
+ const trashMap = doc.getMap("doc-trash");
21
+ const um = new Y.UndoManager([treeMap, trashMap], {
22
+ trackedOrigins: /* @__PURE__ */ new Set([null]),
23
+ captureTimeout: 500
24
+ });
25
+ um.on("stack-item-added", updateState);
26
+ um.on("stack-item-popped", updateState);
27
+ undoManager.value = um;
28
+ onCleanup(() => {
29
+ um.off("stack-item-added", updateState);
30
+ um.off("stack-item-popped", updateState);
31
+ um.destroy();
32
+ });
33
+ }, { immediate: true });
34
+ onBeforeUnmount(() => {
35
+ undoManager.value?.destroy();
36
+ undoManager.value = null;
37
+ });
38
+ function undo() {
39
+ undoManager.value?.undo();
40
+ }
41
+ function redo() {
42
+ undoManager.value?.redo();
43
+ }
44
+ return { canUndo, canRedo, undo, redo, undoManager };
45
+ }
@@ -0,0 +1,37 @@
1
+ import type { ShallowRef, Ref, ComputedRef, InjectionKey } from 'vue';
2
+ import type { Editor } from '@tiptap/vue-3';
3
+ export interface UndoRedoContext {
4
+ /** Undo in the currently active context (editor or tree) */
5
+ undo: () => void;
6
+ /** Redo in the currently active context (editor or tree) */
7
+ redo: () => void;
8
+ /** Tree-specific undo/redo */
9
+ treeUndo: () => void;
10
+ treeRedo: () => void;
11
+ treeCanUndo: Ref<boolean>;
12
+ treeCanRedo: Ref<boolean>;
13
+ /** Editor-specific undo/redo */
14
+ editorUndo: () => void;
15
+ editorRedo: () => void;
16
+ editorCanUndo: ComputedRef<boolean>;
17
+ editorCanRedo: ComputedRef<boolean>;
18
+ /** Which domain last received focus */
19
+ activeContext: Ref<'editor' | 'tree'>;
20
+ }
21
+ export declare const undoRedoKey: InjectionKey<UndoRedoContext>;
22
+ /**
23
+ * Coordinator composable that routes undo/redo to the correct domain:
24
+ * - TipTap editor focused -> editor's built-in Y.UndoManager
25
+ * - Otherwise -> tree Y.UndoManager (doc-tree + doc-trash)
26
+ *
27
+ * Meta field values (color, dates, tags) live in the tree Y.Map but are edited
28
+ * via popups inside the TipTap editor. To handle this, we track which domain
29
+ * had the most recent mutation and use that as a tiebreaker when the editor
30
+ * has focus — so Cmd+Z after a meta field change undoes the meta change even
31
+ * though focus returned to the editor.
32
+ *
33
+ * Injects the shared tree UndoManager from the layout (via treeUndoKey).
34
+ * Installs a page-level keydown listener for Cmd+Z / Cmd+Shift+Z when
35
+ * the TipTap editor does NOT have focus.
36
+ */
37
+ export declare function useUndoRedo(editor: ShallowRef<Editor | null>): UndoRedoContext;
@@ -0,0 +1,115 @@
1
+ import { computed, onBeforeUnmount, ref, inject, watch } from "vue";
2
+ import { treeUndoKey } from "./useTreeUndoManager.js";
3
+ export const undoRedoKey = Symbol("undoRedo");
4
+ export function useUndoRedo(editor) {
5
+ const tree = inject(treeUndoKey);
6
+ const activeContext = ref("tree");
7
+ const lastMutatedDomain = ref("editor");
8
+ const lastUndoDomain = ref(null);
9
+ function editorHasFocus() {
10
+ const el = document.activeElement;
11
+ if (!el) return false;
12
+ return !!el.closest(".tiptap, .ProseMirror");
13
+ }
14
+ function editorUndo() {
15
+ editor.value?.commands.undo();
16
+ }
17
+ function editorRedo() {
18
+ editor.value?.commands.redo();
19
+ }
20
+ const editorCanUndo = computed(() => editor.value?.can().undo() ?? false);
21
+ const editorCanRedo = computed(() => editor.value?.can().redo() ?? false);
22
+ function onTreeStackAdded() {
23
+ lastMutatedDomain.value = "tree";
24
+ }
25
+ watch(() => tree.undoManager.value, (um, oldUm) => {
26
+ oldUm?.off("stack-item-added", onTreeStackAdded);
27
+ um?.on("stack-item-added", onTreeStackAdded);
28
+ }, { immediate: true });
29
+ function onEditorTransaction({ transaction }) {
30
+ if (transaction.docChanged) {
31
+ lastMutatedDomain.value = "editor";
32
+ }
33
+ }
34
+ watch(editor, (ed, oldEd) => {
35
+ oldEd?.off("transaction", onEditorTransaction);
36
+ ed?.on("transaction", onEditorTransaction);
37
+ }, { immediate: true });
38
+ function undo() {
39
+ if (!editorHasFocus() || !editor.value) {
40
+ activeContext.value = "tree";
41
+ lastUndoDomain.value = "tree";
42
+ tree.undo();
43
+ } else if (lastMutatedDomain.value === "tree" && tree.canUndo.value) {
44
+ activeContext.value = "tree";
45
+ lastUndoDomain.value = "tree";
46
+ tree.undo();
47
+ if (!tree.canUndo.value) {
48
+ lastMutatedDomain.value = "editor";
49
+ }
50
+ } else {
51
+ activeContext.value = "editor";
52
+ lastUndoDomain.value = "editor";
53
+ editorUndo();
54
+ }
55
+ }
56
+ function redo() {
57
+ if (!editorHasFocus() || !editor.value) {
58
+ activeContext.value = "tree";
59
+ tree.redo();
60
+ } else if (lastUndoDomain.value === "tree" && tree.canRedo.value) {
61
+ activeContext.value = "tree";
62
+ tree.redo();
63
+ if (!tree.canRedo.value) {
64
+ lastUndoDomain.value = null;
65
+ }
66
+ } else {
67
+ activeContext.value = "editor";
68
+ editorRedo();
69
+ }
70
+ }
71
+ function onKeydown(e) {
72
+ const mod = e.metaKey || e.ctrlKey;
73
+ if (!mod) return;
74
+ if (editorHasFocus()) return;
75
+ if (e.key === "z") {
76
+ e.preventDefault();
77
+ if (e.shiftKey) redo();
78
+ else undo();
79
+ } else if (e.key === "y") {
80
+ e.preventDefault();
81
+ redo();
82
+ }
83
+ }
84
+ function onFocusIn(e) {
85
+ const target = e.target;
86
+ if (target?.closest(".tiptap, .ProseMirror")) {
87
+ activeContext.value = "editor";
88
+ } else {
89
+ activeContext.value = "tree";
90
+ }
91
+ }
92
+ if (import.meta.client) {
93
+ window.addEventListener("keydown", onKeydown);
94
+ window.addEventListener("focusin", onFocusIn);
95
+ onBeforeUnmount(() => {
96
+ window.removeEventListener("keydown", onKeydown);
97
+ window.removeEventListener("focusin", onFocusIn);
98
+ tree.undoManager.value?.off("stack-item-added", onTreeStackAdded);
99
+ editor.value?.off("transaction", onEditorTransaction);
100
+ });
101
+ }
102
+ return {
103
+ undo,
104
+ redo,
105
+ treeUndo: tree.undo,
106
+ treeRedo: tree.redo,
107
+ treeCanUndo: tree.canUndo,
108
+ treeCanRedo: tree.canRedo,
109
+ editorUndo,
110
+ editorRedo,
111
+ editorCanUndo,
112
+ editorCanRedo,
113
+ activeContext
114
+ };
115
+ }
@@ -1,6 +1,8 @@
1
1
  import { ref, shallowRef, computed } from "vue";
2
2
  import { VoiceClient } from "../utils/VoiceClient.js";
3
3
  import { TRANSIENT_ERROR_CODES } from "../utils/voiceErrors.js";
4
+ import { useToast } from "#imports";
5
+ import { useAbracadabra } from "./useAbracadabra.js";
4
6
  const voiceStatus = ref("idle");
5
7
  const voiceRoomId = ref(null);
6
8
  const isMuted = ref(false);
@@ -1,5 +1,7 @@
1
1
  import { ref, shallowRef, computed } from "vue";
2
2
  import { getSdkModule } from "../utils/sdkRef.js";
3
+ import { useToast, useRuntimeConfig } from "#imports";
4
+ import { useAbracadabra } from "./useAbracadabra.js";
3
5
  import { _wireFileTransferEvents, _destroyFileTransfer } from "./useFileTransfer.js";
4
6
  const webrtcStatus = ref("idle");
5
7
  const isConnected = ref(false);
@@ -119,4 +119,6 @@ export declare function useWindowManager(): {
119
119
  toggleMaximize: (id: string) => void;
120
120
  moveWindow: (id: string, x: number, y: number) => void;
121
121
  resizeWindow: (id: string, width: number, height: number, x?: number, y?: number) => void;
122
+ restoreLayout: () => void;
123
+ clearLayout: () => void;
122
124
  };
@@ -1,7 +1,9 @@
1
1
  import { reactive, ref, computed } from "vue";
2
+ const LAYOUT_STORAGE_KEY = "abracadabra_window_layout";
2
3
  const windows = reactive(/* @__PURE__ */ new Map());
3
4
  const topZIndex = ref(30);
4
5
  let cascadeOffset = 0;
6
+ let _saveDebounce = null;
5
7
  export function useWindowManager() {
6
8
  function bringToFront(id) {
7
9
  const win = windows.get(id);
@@ -62,12 +64,15 @@ export function useWindowManager() {
62
64
  initialTab: opts.initialTab,
63
65
  meta: opts.meta
64
66
  });
67
+ _saveLayout();
65
68
  }
66
69
  function closeWindow(id) {
67
70
  windows.delete(id);
71
+ _saveLayout();
68
72
  }
69
73
  function closeAll() {
70
74
  windows.clear();
75
+ clearLayout();
71
76
  }
72
77
  function minimizeWindow(id, target) {
73
78
  const win = windows.get(id);
@@ -109,6 +114,7 @@ export function useWindowManager() {
109
114
  if (!win || win.isMaximized) return;
110
115
  win.x = x;
111
116
  win.y = y;
117
+ _saveLayout();
112
118
  }
113
119
  function resizeWindow(id, width, height, x, y) {
114
120
  const win = windows.get(id);
@@ -117,6 +123,7 @@ export function useWindowManager() {
117
123
  win.height = Math.max(height, 200);
118
124
  if (x !== void 0) win.x = x;
119
125
  if (y !== void 0) win.y = y;
126
+ _saveLayout();
120
127
  }
121
128
  const activeWindows = computed(
122
129
  () => [...windows.values()].filter((w) => !w.isMinimized).sort((a, b) => a.zIndex - b.zIndex)
@@ -124,6 +131,59 @@ export function useWindowManager() {
124
131
  const minimizedWindows = computed(
125
132
  () => [...windows.values()].filter((w) => w.isMinimized)
126
133
  );
134
+ function _saveLayout() {
135
+ if (_saveDebounce) clearTimeout(_saveDebounce);
136
+ _saveDebounce = setTimeout(() => {
137
+ try {
138
+ const layout = [...windows.values()].map((w) => ({
139
+ id: w.id,
140
+ docId: w.docId,
141
+ title: w.title,
142
+ icon: w.icon,
143
+ docType: w.docType,
144
+ channelId: w.channelId,
145
+ x: w.x,
146
+ y: w.y,
147
+ width: w.width,
148
+ height: w.height,
149
+ isMinimized: w.isMinimized,
150
+ isMaximized: w.isMaximized,
151
+ initialTab: w.initialTab,
152
+ meta: w.meta
153
+ }));
154
+ localStorage.setItem(LAYOUT_STORAGE_KEY, JSON.stringify(layout));
155
+ } catch {
156
+ }
157
+ }, 500);
158
+ }
159
+ function restoreLayout() {
160
+ try {
161
+ const raw = localStorage.getItem(LAYOUT_STORAGE_KEY);
162
+ if (!raw) return;
163
+ const layout = JSON.parse(raw);
164
+ for (const entry of layout) {
165
+ if (windows.has(entry.id)) continue;
166
+ topZIndex.value++;
167
+ windows.set(entry.id, {
168
+ ...entry,
169
+ provider: null,
170
+ zIndex: topZIndex.value,
171
+ isFocused: false,
172
+ prevX: entry.x,
173
+ prevY: entry.y,
174
+ prevWidth: entry.width,
175
+ prevHeight: entry.height
176
+ });
177
+ }
178
+ } catch {
179
+ }
180
+ }
181
+ function clearLayout() {
182
+ try {
183
+ localStorage.removeItem(LAYOUT_STORAGE_KEY);
184
+ } catch {
185
+ }
186
+ }
127
187
  return {
128
188
  windows,
129
189
  activeWindows,
@@ -136,6 +196,8 @@ export function useWindowManager() {
136
196
  restoreWindow,
137
197
  toggleMaximize,
138
198
  moveWindow,
139
- resizeWindow
199
+ resizeWindow,
200
+ restoreLayout,
201
+ clearLayout
140
202
  };
141
203
  }
@@ -0,0 +1,2 @@
1
+ import { Node } from '@tiptap/core';
2
+ export declare const CodePreview: Node<any, any>;
@@ -0,0 +1,17 @@
1
+ import { Node, mergeAttributes } from "@tiptap/core";
2
+ import { VueNodeViewRenderer } from "@tiptap/vue-3";
3
+ import CodePreviewView from "./views/CodePreviewView.vue";
4
+ export const CodePreview = Node.create({
5
+ name: "codePreview",
6
+ group: "block",
7
+ content: "block+",
8
+ parseHTML() {
9
+ return [{ tag: "div[data-code-preview]" }];
10
+ },
11
+ renderHTML() {
12
+ return ["div", mergeAttributes({ "data-code-preview": "" }), 0];
13
+ },
14
+ addNodeView() {
15
+ return VueNodeViewRenderer(CodePreviewView);
16
+ }
17
+ });
@@ -0,0 +1,2 @@
1
+ import { Node } from '@tiptap/core';
2
+ export declare const CodeTree: Node<any, any>;
@@ -0,0 +1,33 @@
1
+ import { Node, mergeAttributes } from "@tiptap/core";
2
+ import { VueNodeViewRenderer } from "@tiptap/vue-3";
3
+ import CodeTreeView from "./views/CodeTreeView.vue";
4
+ export const CodeTree = Node.create({
5
+ name: "codeTree",
6
+ group: "block",
7
+ atom: true,
8
+ addAttributes() {
9
+ return {
10
+ files: { default: "[]" }
11
+ };
12
+ },
13
+ parseHTML() {
14
+ return [
15
+ {
16
+ tag: "div[data-code-tree]",
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ getAttrs: (el) => ({
19
+ files: el.getAttribute("data-files") || "[]"
20
+ })
21
+ }
22
+ ];
23
+ },
24
+ renderHTML({ HTMLAttributes }) {
25
+ return ["div", mergeAttributes({
26
+ "data-code-tree": "",
27
+ "data-files": HTMLAttributes.files
28
+ })];
29
+ },
30
+ addNodeView() {
31
+ return VueNodeViewRenderer(CodeTreeView);
32
+ }
33
+ });
@@ -0,0 +1,12 @@
1
+ import { Node } from '@tiptap/core';
2
+ declare module '@tiptap/core' {
3
+ interface Commands<ReturnType> {
4
+ docEmbed: {
5
+ insertDocEmbed: (attrs: {
6
+ docId: string;
7
+ }) => ReturnType;
8
+ };
9
+ }
10
+ }
11
+ export declare const DocEmbed: Node<any, any>;
12
+ export default DocEmbed;
@@ -0,0 +1,63 @@
1
+ import { Node, mergeAttributes } from "@tiptap/core";
2
+ import { Plugin, PluginKey } from "@tiptap/pm/state";
3
+ import { VueNodeViewRenderer } from "@tiptap/vue-3";
4
+ import DocEmbedView from "./views/DocEmbedView.vue";
5
+ const EMBED_REGEX = /!\[\[([a-f0-9-]{36})(?:\|[^\]]+)?\]\]/gi;
6
+ export const DocEmbed = Node.create({
7
+ name: "docEmbed",
8
+ group: "block",
9
+ atom: true,
10
+ draggable: true,
11
+ addAttributes() {
12
+ return {
13
+ docId: { default: null },
14
+ collapsed: { default: false },
15
+ tall: { default: false }
16
+ };
17
+ },
18
+ parseHTML() {
19
+ return [{ tag: 'div[data-type="doc-embed"]' }];
20
+ },
21
+ renderHTML({ HTMLAttributes }) {
22
+ return ["div", mergeAttributes(HTMLAttributes, { "data-type": "doc-embed" })];
23
+ },
24
+ addNodeView() {
25
+ return VueNodeViewRenderer(DocEmbedView);
26
+ },
27
+ addCommands() {
28
+ return {
29
+ insertDocEmbed: (attrs) => ({ commands }) => {
30
+ return commands.insertContent({ type: this.name, attrs });
31
+ }
32
+ };
33
+ },
34
+ addProseMirrorPlugins() {
35
+ const type = this.type;
36
+ return [
37
+ new Plugin({
38
+ key: new PluginKey("docEmbedPaste"),
39
+ props: {
40
+ handlePaste(_view, event) {
41
+ const text = event.clipboardData?.getData("text/plain");
42
+ if (!text) return false;
43
+ const matches = [...text.matchAll(EMBED_REGEX)];
44
+ if (!matches.length) return false;
45
+ const nodes = matches.map(
46
+ (m) => type.create({ docId: m[1] })
47
+ );
48
+ if (!nodes.length) return false;
49
+ const { tr } = _view.state;
50
+ const { from, to } = tr.selection;
51
+ tr.delete(from, to);
52
+ nodes.forEach((node, i) => {
53
+ tr.insert(from + i, node);
54
+ });
55
+ _view.dispatch(tr);
56
+ return true;
57
+ }
58
+ }
59
+ })
60
+ ];
61
+ }
62
+ });
63
+ export default DocEmbed;
@@ -0,0 +1,3 @@
1
+ import { Extension } from '@tiptap/core';
2
+ export declare const DocLinkDrop: Extension<any, any>;
3
+ export default DocLinkDrop;
@@ -0,0 +1,63 @@
1
+ import { Extension } from "@tiptap/core";
2
+ import { Plugin, PluginKey } from "@tiptap/pm/state";
3
+ import { DOC_DRAG_MIME } from "../utils/docDragDrop.js";
4
+ import { useDocDragBus } from "../composables/useDocDragBus.js";
5
+ export const DocLinkDrop = Extension.create({
6
+ name: "docLinkDrop",
7
+ addProseMirrorPlugins() {
8
+ return [
9
+ new Plugin({
10
+ key: new PluginKey("docLinkDrop"),
11
+ props: {
12
+ handleDOMEvents: {
13
+ dragover(_view, event) {
14
+ const de = event;
15
+ if (!de.dataTransfer?.types.includes(DOC_DRAG_MIME)) return false;
16
+ de.preventDefault();
17
+ de.dataTransfer.dropEffect = de.altKey ? "link" : "copy";
18
+ return false;
19
+ },
20
+ drop(view, event) {
21
+ const de = event;
22
+ const raw = de.dataTransfer?.getData(DOC_DRAG_MIME);
23
+ let data;
24
+ if (raw) {
25
+ try {
26
+ data = JSON.parse(raw);
27
+ } catch {
28
+ return false;
29
+ }
30
+ } else {
31
+ const bus = useDocDragBus();
32
+ const state = bus.dragState.value;
33
+ if (!state || !state.docIds.length) return false;
34
+ data = { id: state.docIds[0], label: state.labels[0] || "Untitled" };
35
+ bus.endDrag();
36
+ }
37
+ de.preventDefault();
38
+ const dropPos = view.posAtCoords({ left: de.clientX, top: de.clientY })?.pos;
39
+ if (dropPos == null) return true;
40
+ const { schema, tr } = view.state;
41
+ if (de.altKey) {
42
+ const linkMark = schema.marks.link?.create({ href: `/doc/${data.id}` });
43
+ if (!linkMark) return true;
44
+ const textNode = schema.text(data.label, [linkMark]);
45
+ tr.insert(dropPos, textNode);
46
+ } else {
47
+ const nodeType = schema.nodes.docEmbed;
48
+ if (!nodeType) return true;
49
+ const node = nodeType.create({ docId: data.id });
50
+ const $pos = tr.doc.resolve(dropPos);
51
+ const insertPos = $pos.depth >= 1 ? $pos.after(1) : tr.doc.content.size;
52
+ tr.insert(insertPos, node);
53
+ }
54
+ view.dispatch(tr);
55
+ return true;
56
+ }
57
+ }
58
+ }
59
+ })
60
+ ];
61
+ }
62
+ });
63
+ export default DocLinkDrop;
@@ -4,7 +4,7 @@ import { Slice, Fragment } from "@tiptap/pm/model";
4
4
  export const DocumentHeader = Node.create({
5
5
  name: "documentHeader",
6
6
  content: "inline*",
7
- marks: "",
7
+ marks: "bold italic code link strike",
8
8
  defining: true,
9
9
  parseHTML() {
10
10
  return [{ tag: "h1.document-header" }];
@@ -0,0 +1,3 @@
1
+ import { Node } from '@tiptap/core';
2
+ export declare const Field: Node<any, any>;
3
+ export declare const FieldGroup: Node<any, any>;