@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,436 @@
1
+ <script setup>
2
+ import { ref, computed, watch, onMounted, onBeforeUnmount } from "vue";
3
+ import { useRuntimeConfig } from "#imports";
4
+ import { useRendererBase } from "../../composables/useRendererBase";
5
+ import { useNodePanel } from "../../composables/useNodePanel";
6
+ import { useSpatialCamera } from "../../composables/useSpatialCamera";
7
+ import { useSpatialDrag } from "../../composables/useSpatialDrag";
8
+ const props = defineProps({
9
+ docId: { type: String, required: true },
10
+ childProvider: { type: null, required: true },
11
+ docLabel: { type: String, required: true },
12
+ pageTypes: { type: Array, required: false },
13
+ labels: { type: Object, required: false },
14
+ editable: { type: Boolean, required: false, default: true }
15
+ });
16
+ const config = useRuntimeConfig();
17
+ const _locale = config.public;
18
+ const { tree, childProviderRef, states, setLocalState, connectedUsers } = useRendererBase(props);
19
+ const {
20
+ openNodeId,
21
+ openNodeLabel,
22
+ openNodeProvider,
23
+ openNode,
24
+ closePanel
25
+ } = useNodePanel(childProviderRef);
26
+ const gridVisible = ref(true);
27
+ function toggleGrid() {
28
+ gridVisible.value = !gridVisible.value;
29
+ }
30
+ const {
31
+ cameraRef,
32
+ cameraPosition,
33
+ cameraTarget,
34
+ controlMode,
35
+ focusOn,
36
+ onCanvasPointerDown: camPointerDown,
37
+ onCanvasPointerMove: camPointerMove,
38
+ onCanvasPointerUp: camPointerUp,
39
+ onCanvasWheel
40
+ } = useSpatialCamera(setLocalState);
41
+ const selectedIds = ref(/* @__PURE__ */ new Set());
42
+ const selectedEntry = computed(() => {
43
+ if (selectedIds.value.size !== 1) return null;
44
+ const id = [...selectedIds.value][0];
45
+ return tree.entries.value.find((e) => e.id === id) ?? null;
46
+ });
47
+ watch(selectedIds, (ids) => {
48
+ setLocalState({ spatial: { selectedIds: [...ids] } });
49
+ }, { deep: true });
50
+ const sceneSettings = { data: {} };
51
+ const {
52
+ draggingId,
53
+ bindScene,
54
+ onPointerDown: dragPointerDown,
55
+ onPointerMove: dragPointerMove,
56
+ onPointerUp: dragPointerUp
57
+ } = useSpatialDrag(tree, selectedIds, cameraRef, setLocalState, sceneSettings);
58
+ const topLevelEntries = computed(() => tree.childrenOf(null));
59
+ const myClientId = computed(() => props.childProvider?.awareness?.clientID ?? 0);
60
+ const remoteUsers3D = computed(
61
+ () => states.value.filter((s) => s.clientId !== myClientId.value && s.spatial?.camera).map((s) => ({
62
+ clientId: s.clientId,
63
+ name: s.user?.name ?? "?",
64
+ color: s.user?.color ?? "#888",
65
+ position: s.spatial.camera.position,
66
+ selectedIds: s.spatial?.selectedIds ?? []
67
+ }))
68
+ );
69
+ const remoteSelectionMap = computed(() => {
70
+ const map = /* @__PURE__ */ new Map();
71
+ for (const u of remoteUsers3D.value) {
72
+ for (const id of u.selectedIds) {
73
+ if (!map.has(id)) map.set(id, []);
74
+ map.get(id).push({ color: u.color, name: u.name });
75
+ }
76
+ }
77
+ return map;
78
+ });
79
+ const shapes = ["box", "sphere", "cylinder", "cone", "plane", "torus"];
80
+ const shapeIcons = {
81
+ box: "i-lucide-box",
82
+ sphere: "i-lucide-circle",
83
+ cylinder: "i-lucide-cylinder",
84
+ cone: "i-lucide-triangle",
85
+ plane: "i-lucide-square",
86
+ torus: "i-lucide-donut",
87
+ glb: "i-lucide-package"
88
+ };
89
+ function addObject(shape = "box") {
90
+ if (!props.editable) return;
91
+ const label = shape.charAt(0).toUpperCase() + shape.slice(1);
92
+ const offset = topLevelEntries.value.length * 1.5;
93
+ const id = tree.createChild(null, label);
94
+ tree.updateMeta(id, {
95
+ spShape: shape,
96
+ spX: offset,
97
+ spY: shape === "plane" ? 0 : 0.5,
98
+ spZ: 0,
99
+ spSX: 1,
100
+ spSY: 1,
101
+ spSZ: 1,
102
+ color: "#6366f1"
103
+ });
104
+ selectedIds.value = /* @__PURE__ */ new Set([id]);
105
+ }
106
+ function deleteSelected() {
107
+ if (!props.editable) return;
108
+ for (const id of selectedIds.value) tree.deleteEntry(id);
109
+ selectedIds.value = /* @__PURE__ */ new Set();
110
+ }
111
+ function duplicateSelected() {
112
+ if (!props.editable || !selectedEntry.value) return;
113
+ const newId = tree.duplicateEntry(selectedEntry.value.id);
114
+ const entry = tree.entries.value.find((e) => e.id === newId);
115
+ if (entry) tree.updateMeta(newId, { spX: (entry.meta?.spX ?? 0) + 1.5 });
116
+ selectedIds.value = /* @__PURE__ */ new Set([newId]);
117
+ }
118
+ const shapeMenuItems = computed(() => [
119
+ shapes.map((s) => ({
120
+ label: s.charAt(0).toUpperCase() + s.slice(1),
121
+ icon: shapeIcons[s] ?? "i-lucide-box",
122
+ onSelect: () => addObject(s)
123
+ }))
124
+ ]);
125
+ function shapeIcon(shape) {
126
+ return shapeIcons[shape ?? "box"] ?? "i-lucide-box";
127
+ }
128
+ const contextMenuItems = computed(() => {
129
+ const items = [];
130
+ if (selectedEntry.value) {
131
+ items.push([
132
+ { label: "Open", icon: "i-lucide-external-link", onSelect: () => openNode(selectedEntry.value.id, selectedEntry.value.label) },
133
+ { label: "Duplicate", icon: "i-lucide-copy", onSelect: duplicateSelected }
134
+ ]);
135
+ }
136
+ if (selectedIds.value.size > 0) {
137
+ items.push([{ label: "Delete", icon: "i-lucide-trash-2", color: "error", onSelect: deleteSelected }]);
138
+ }
139
+ items.push(shapes.map((s) => ({
140
+ label: `Add ${s.charAt(0).toUpperCase() + s.slice(1)}`,
141
+ icon: "i-lucide-plus",
142
+ onSelect: () => addObject(s)
143
+ })));
144
+ return items;
145
+ });
146
+ let pointerDownHitId = null;
147
+ let pointerDownTime = 0;
148
+ let isPointerActive = false;
149
+ function onCanvasPointerDown(ev) {
150
+ isPointerActive = true;
151
+ if (ev.button !== 0) {
152
+ camPointerDown(ev);
153
+ return;
154
+ }
155
+ pointerDownTime = performance.now();
156
+ pointerDownHitId = dragPointerDown(ev);
157
+ if (pointerDownHitId && !props.editable) {
158
+ pointerDownHitId = null;
159
+ camPointerDown(ev);
160
+ return;
161
+ }
162
+ if (pointerDownHitId) {
163
+ if (ev.shiftKey) {
164
+ const next = new Set(selectedIds.value);
165
+ if (next.has(pointerDownHitId)) next.delete(pointerDownHitId);
166
+ else next.add(pointerDownHitId);
167
+ selectedIds.value = next;
168
+ } else if (!selectedIds.value.has(pointerDownHitId)) {
169
+ selectedIds.value = /* @__PURE__ */ new Set([pointerDownHitId]);
170
+ }
171
+ } else {
172
+ camPointerDown(ev);
173
+ }
174
+ }
175
+ function onWindowPointerMove(ev) {
176
+ if (!isPointerActive) return;
177
+ if (draggingId.value) dragPointerMove(ev);
178
+ else camPointerMove(ev);
179
+ }
180
+ function onWindowPointerUp(ev) {
181
+ if (!isPointerActive) return;
182
+ isPointerActive = false;
183
+ if (draggingId.value) {
184
+ dragPointerUp(ev);
185
+ } else {
186
+ camPointerUp();
187
+ const elapsed = performance.now() - pointerDownTime;
188
+ if (!pointerDownHitId && ev.button === 0 && !ev.shiftKey && elapsed < 300) {
189
+ selectedIds.value = /* @__PURE__ */ new Set();
190
+ }
191
+ }
192
+ pointerDownHitId = null;
193
+ }
194
+ function onCanvasDblClick(ev) {
195
+ const hitId = dragPointerDown(ev);
196
+ dragPointerUp(ev);
197
+ if (hitId) {
198
+ const entry = tree.entries.value.find((e) => e.id === hitId);
199
+ if (entry) {
200
+ focusOn([entry.meta?.spX ?? 0, entry.meta?.spY ?? 0, entry.meta?.spZ ?? 0]);
201
+ }
202
+ }
203
+ }
204
+ function onKeyDown(ev) {
205
+ if (ev.target?.tagName === "INPUT") return;
206
+ if ((ev.key === "Delete" || ev.key === "Backspace") && props.editable && selectedIds.value.size > 0) {
207
+ ev.preventDefault();
208
+ deleteSelected();
209
+ }
210
+ if (ev.key === "d" && (ev.metaKey || ev.ctrlKey) && props.editable && selectedEntry.value) {
211
+ ev.preventDefault();
212
+ duplicateSelected();
213
+ }
214
+ if (ev.key === "Escape") selectedIds.value = /* @__PURE__ */ new Set();
215
+ }
216
+ onMounted(() => {
217
+ window.addEventListener("keydown", onKeyDown);
218
+ window.addEventListener("pointermove", onWindowPointerMove);
219
+ window.addEventListener("pointerup", onWindowPointerUp);
220
+ });
221
+ onBeforeUnmount(() => {
222
+ window.removeEventListener("keydown", onKeyDown);
223
+ window.removeEventListener("pointermove", onWindowPointerMove);
224
+ window.removeEventListener("pointerup", onWindowPointerUp);
225
+ });
226
+ const isDark = computed(() => typeof document !== "undefined" && document.documentElement.classList.contains("dark"));
227
+ const clearColor = computed(() => isDark.value ? "#111118" : "#f0f0f4");
228
+ const gridColor1 = computed(() => isDark.value ? "#555" : "#ccc");
229
+ const gridColor2 = computed(() => isDark.value ? "#333" : "#ddd");
230
+ const groundColor = computed(() => isDark.value ? "#111118" : "#f0f0f4");
231
+ function onSceneReady({ scene: s, camera: c, canvas: cvs }) {
232
+ if (cvs && s && c) bindScene(cvs, s, c);
233
+ }
234
+ defineExpose({ connectedUsers });
235
+ </script>
236
+
237
+ <template>
238
+ <div class="spatial-container">
239
+ <ClientOnly>
240
+ <UContextMenu
241
+ :items="editable ? contextMenuItems : []"
242
+ class="absolute inset-0"
243
+ >
244
+ <div
245
+ class="spatial-canvas-wrap"
246
+ data-swipe-ignore
247
+ @pointerdown="onCanvasPointerDown"
248
+ @wheel.prevent="onCanvasWheel"
249
+ @dblclick="onCanvasDblClick"
250
+ >
251
+ <TresCanvas
252
+ shadows
253
+ :clear-color="clearColor"
254
+ >
255
+ <SpatialSceneBridge @ready="onSceneReady" />
256
+ <TresPerspectiveCamera
257
+ ref="cameraRef"
258
+ :position="cameraPosition"
259
+ :look-at="cameraTarget"
260
+ :fov="60"
261
+ :near="0.1"
262
+ :far="1e3"
263
+ />
264
+
265
+ <TresAmbientLight :intensity="isDark ? 0.5 : 0.8" />
266
+ <TresDirectionalLight
267
+ :position="[15, 25, 15]"
268
+ :intensity="isDark ? 1.2 : 1"
269
+ cast-shadow
270
+ />
271
+ <TresDirectionalLight
272
+ :position="[-10, 10, -10]"
273
+ :intensity="isDark ? 0.3 : 0.5"
274
+ />
275
+
276
+ <SpatialGround
277
+ v-if="gridVisible"
278
+ :color1="gridColor1"
279
+ :color2="gridColor2"
280
+ :ground-color="groundColor"
281
+ />
282
+
283
+ <SpatialObject
284
+ v-for="entry in topLevelEntries"
285
+ :key="entry.id"
286
+ :entry="entry"
287
+ :tree="tree"
288
+ :selected-ids="selectedIds"
289
+ :remote-selections="remoteSelectionMap"
290
+ :dragging-id="draggingId"
291
+ />
292
+
293
+ <SpatialUserAvatar
294
+ v-for="u in remoteUsers3D"
295
+ :key="u.clientId"
296
+ :position="u.position"
297
+ :color="u.color"
298
+ :name="u.name"
299
+ />
300
+ </TresCanvas>
301
+ </div>
302
+
303
+ <!-- Toolbar -->
304
+ <div class="spatial-toolbar">
305
+ <template v-if="editable">
306
+ <div class="toolbar-group">
307
+ <UDropdownMenu :items="shapeMenuItems">
308
+ <UButton
309
+ icon="i-lucide-plus"
310
+ size="sm"
311
+ variant="ghost"
312
+ color="neutral"
313
+ />
314
+ </UDropdownMenu>
315
+ </div>
316
+ <div class="toolbar-divider" />
317
+ </template>
318
+ <div class="toolbar-group">
319
+ <UButton
320
+ icon="i-lucide-rotate-3d"
321
+ size="sm"
322
+ :color="controlMode === 'orbit' ? 'primary' : 'neutral'"
323
+ :variant="controlMode === 'orbit' ? 'soft' : 'ghost'"
324
+ @click="controlMode = 'orbit'"
325
+ />
326
+ <UButton
327
+ icon="i-lucide-move-3d"
328
+ size="sm"
329
+ :color="controlMode === 'fly' ? 'primary' : 'neutral'"
330
+ :variant="controlMode === 'fly' ? 'soft' : 'ghost'"
331
+ @click="controlMode = 'fly'"
332
+ />
333
+ </div>
334
+ <div class="toolbar-divider" />
335
+ <UButton
336
+ v-if="editable"
337
+ icon="i-lucide-grid-3x3"
338
+ size="sm"
339
+ :color="gridVisible ? 'primary' : 'neutral'"
340
+ :variant="gridVisible ? 'soft' : 'ghost'"
341
+ :class="{ 'opacity-40': !gridVisible }"
342
+ @click="toggleGrid"
343
+ />
344
+ </div>
345
+
346
+ <!-- Properties panel -->
347
+ <div
348
+ v-if="selectedEntry"
349
+ class="spatial-properties"
350
+ >
351
+ <div class="sp-prop-header">
352
+ <UIcon
353
+ :name="shapeIcon(selectedEntry.meta?.spShape)"
354
+ class="size-4 shrink-0 text-(--ui-text-muted)"
355
+ />
356
+ <span class="sp-prop-name">{{ selectedEntry.label }}</span>
357
+ <UButton
358
+ icon="i-lucide-external-link"
359
+ size="xs"
360
+ variant="ghost"
361
+ color="neutral"
362
+ @click="openNode(selectedEntry.id, selectedEntry.label)"
363
+ />
364
+ <UButton
365
+ v-if="editable"
366
+ icon="i-lucide-trash-2"
367
+ size="xs"
368
+ variant="ghost"
369
+ color="error"
370
+ @click="deleteSelected"
371
+ />
372
+ </div>
373
+
374
+ <div
375
+ v-if="editable && selectedEntry.meta?.spShape !== 'glb'"
376
+ class="sp-prop-row"
377
+ >
378
+ <span class="sp-prop-label">Color</span>
379
+ <div class="flex gap-1 flex-wrap">
380
+ <button
381
+ v-for="c in ['#6366f1', '#ef4444', '#22c55e', '#3b82f6', '#f97316', '#a855f7', '#ec4899', '#14b8a6']"
382
+ :key="c"
383
+ class="size-5 rounded-full cursor-pointer border-2 transition-transform hover:scale-110"
384
+ :class="selectedEntry.meta?.color === c ? 'border-(--ui-text)' : 'border-transparent'"
385
+ :style="{ background: c }"
386
+ @click="tree.updateMeta(selectedEntry.id, { color: c })"
387
+ />
388
+ </div>
389
+ </div>
390
+
391
+ <div
392
+ v-if="editable && selectedEntry.meta?.spShape !== 'glb'"
393
+ class="sp-prop-row"
394
+ >
395
+ <span class="sp-prop-label">Opacity</span>
396
+ <input
397
+ type="range"
398
+ min="0"
399
+ max="100"
400
+ :value="selectedEntry.meta?.spOpacity ?? 100"
401
+ class="flex-1 h-1.5 accent-(--color-primary-500)"
402
+ @input="tree.updateMeta(selectedEntry.id, { spOpacity: Number($event.target.value) })"
403
+ >
404
+ <span class="text-[10px] w-7 text-right text-(--ui-text-dimmed)">{{ selectedEntry.meta?.spOpacity ?? 100 }}%</span>
405
+ </div>
406
+ </div>
407
+
408
+ <!-- Connected users -->
409
+ <div
410
+ v-if="connectedUsers.length > 1"
411
+ class="spatial-presence"
412
+ >
413
+ <UAvatar
414
+ v-for="u in connectedUsers"
415
+ :key="u.clientId"
416
+ :alt="u.name"
417
+ size="xs"
418
+ :style="{ border: `2px solid ${u.color}`, borderRadius: '50%' }"
419
+ />
420
+ </div>
421
+ </UContextMenu>
422
+ </ClientOnly>
423
+
424
+ <!-- Node panel -->
425
+ <ANodePanel
426
+ :node-id="openNodeId"
427
+ :node-label="openNodeLabel"
428
+ :child-provider="openNodeProvider"
429
+ @close="closePanel"
430
+ />
431
+ </div>
432
+ </template>
433
+
434
+ <style scoped>
435
+ .spatial-container{flex:1;height:100%;min-height:0;overflow:hidden;position:relative;width:100%}.spatial-canvas-wrap{inset:0;position:absolute;touch-action:none}.spatial-toolbar{align-items:center;backdrop-filter:blur(8px);background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:10px;bottom:2rem;display:flex;gap:3px;left:50%;padding:3px;position:absolute;transform:translateX(-50%);z-index:20}.toolbar-group{align-items:center;display:flex;gap:1px}.toolbar-divider{background:var(--ui-border);flex-shrink:0;height:20px;margin:0 2px;width:1px}.spatial-properties{background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:8px;display:flex;flex-direction:column;gap:6px;max-height:calc(100% - 24px);overflow-y:auto;padding:10px;position:absolute;right:12px;top:12px;width:260px;z-index:10}.sp-prop-header{align-items:center;display:flex;gap:6px}.sp-prop-name{flex:1;font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-prop-row{align-items:center;display:flex;gap:6px}.sp-prop-label{color:var(--ui-text-dimmed);flex-shrink:0;font-size:.7rem;font-weight:500;width:48px}.spatial-presence{bottom:12px;display:flex;gap:4px;left:12px;position:absolute;z-index:10}
436
+ </style>
@@ -0,0 +1,19 @@
1
+ import { type RendererBaseProps } from '../../composables/useRendererBase.js';
2
+ import type { AbracadabraLocale } from '../../locale.js';
3
+ type __VLS_Props = RendererBaseProps & {
4
+ labels?: Partial<AbracadabraLocale['renderers']>;
5
+ editable?: boolean;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
8
+ connectedUsers: import("vue").ComputedRef<{
9
+ clientId: number;
10
+ name: string;
11
+ color: string;
12
+ avatar: string | undefined;
13
+ publicKey: any;
14
+ }[]>;
15
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
16
+ editable: boolean;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
@@ -1,9 +1,13 @@
1
1
  <script setup>
2
2
  import { ref, computed, watch, onBeforeUnmount } from "vue";
3
+ import { useRuntimeConfig } from "#imports";
3
4
  import { useRendererBase } from "../../composables/useRendererBase";
4
5
  import { useTouchDrag } from "../../composables/useTouchDrag";
5
6
  import { useNodePanel } from "../../composables/useNodePanel";
7
+ import { useTableView } from "../../composables/useTableView";
6
8
  import { DEFAULT_LOCALE } from "../../locale";
9
+ import ATableToolbar from "./table/ATableToolbar.vue";
10
+ import ATableFlatMode from "./table/ATableFlatMode.vue";
7
11
  const props = defineProps({
8
12
  docId: { type: String, required: true },
9
13
  childProvider: { type: null, required: true },
@@ -27,6 +31,29 @@ const {
27
31
  closePanel
28
32
  } = useNodePanel(childProviderRef);
29
33
  const myClientId = computed(() => props.childProvider?.awareness?.clientID ?? 0);
34
+ const tableView = useTableView(tree, props.docId);
35
+ const rowCount = computed(() => {
36
+ if (tableView.effectiveMode.value === "flat") {
37
+ return tree.childrenOf(null).length;
38
+ }
39
+ const columns2 = tree.childrenOf(null);
40
+ return Math.max(0, ...columns2.map((c) => tree.childrenOf(c.id).length));
41
+ });
42
+ const flatRef = ref(null);
43
+ function handleAddColumn() {
44
+ if (tableView.effectiveMode.value === "hierarchy") {
45
+ addHierarchyColumn();
46
+ } else {
47
+ flatRef.value?.addMetaColumn();
48
+ }
49
+ }
50
+ function handleAddRow() {
51
+ if (tableView.effectiveMode.value === "hierarchy") {
52
+ addHierarchyRow();
53
+ } else {
54
+ flatRef.value?.addRow();
55
+ }
56
+ }
30
57
  const INTERNAL_META_KEYS = /* @__PURE__ */ new Set([
31
58
  "_metaFields",
32
59
  "_metaInitialized",
@@ -54,7 +81,7 @@ const colChildren = computed(() => {
54
81
  }
55
82
  return map;
56
83
  });
57
- const rowCount = computed(
84
+ const hierarchyRowCount = computed(
58
85
  () => Math.max(0, ...columns.value.map((c) => colChildren.value.get(c.id)?.length ?? 0))
59
86
  );
60
87
  function getCellEntry(colId, rowIdx) {
@@ -113,9 +140,14 @@ function setMetaCellValue(rowIdx, metaKey, value) {
113
140
  const rep = getRowRep(rowIdx);
114
141
  if (rep) tree.updateMeta(rep.id, { [metaKey]: value });
115
142
  }
116
- function addColumn() {
143
+ function addHierarchyColumn() {
117
144
  if (!props.editable) return;
118
- tree.createChild(null, locale.value.addColumn === "Add column" ? "New Column" : locale.value.addColumn);
145
+ tree.createChild(null, "New Column");
146
+ }
147
+ function addHierarchyRow() {
148
+ if (!props.editable) return;
149
+ if (!columns.value[0]) return;
150
+ tree.createChild(columns.value[0].id, "");
119
151
  }
120
152
  function deleteColumn(col) {
121
153
  if (!props.editable) return;
@@ -134,11 +166,6 @@ function deleteMetaColumn(metaKey) {
134
166
  }
135
167
  }
136
168
  }
137
- function addRow() {
138
- if (!props.editable) return;
139
- if (!columns.value[0]) return;
140
- tree.createChild(columns.value[0].id, "");
141
- }
142
169
  function deleteRow(rowIdx) {
143
170
  if (!props.editable) return;
144
171
  for (const col of columns.value) {
@@ -220,6 +247,7 @@ function cellEditor(rowIdx, fieldId) {
220
247
  }
221
248
  function ensureTableStructure() {
222
249
  if (!childDoc.value) return;
250
+ if (tableView.effectiveMode.value !== "hierarchy") return;
223
251
  const allChildren = tree.childrenOf(null);
224
252
  if (allChildren.length === 0) return;
225
253
  const hasHierarchy = allChildren.some((item) => tree.childrenOf(item.id).length > 0);
@@ -242,36 +270,33 @@ defineExpose({ connectedUsers });
242
270
  <template>
243
271
  <div class="flex-1 min-h-0 flex flex-col relative">
244
272
  <!-- Toolbar -->
245
- <div class="flex items-center justify-between px-4 py-2 border-b border-(--ui-border) shrink-0">
246
- <span class="text-xs text-(--ui-text-muted)">
247
- {{ rowCount }} row{{ rowCount !== 1 ? "s" : "" }}
248
- </span>
249
- <div
250
- v-if="editable"
251
- class="flex gap-1"
252
- >
253
- <UButton
254
- icon="i-lucide-columns-3"
255
- size="xs"
256
- variant="ghost"
257
- color="neutral"
258
- :label="locale.addColumn"
259
- @click="addColumn"
260
- />
261
- <UButton
262
- icon="i-lucide-plus"
263
- size="xs"
264
- variant="ghost"
265
- color="neutral"
266
- :label="locale.addRow"
267
- @click="addRow"
268
- />
269
- </div>
270
- </div>
273
+ <ATableToolbar
274
+ :table-view="tableView"
275
+ :row-count="tableView.effectiveMode.value === 'flat' ? rowCount : hierarchyRowCount"
276
+ :editable="editable"
277
+ :labels="locale"
278
+ @add-column="handleAddColumn"
279
+ @add-row="handleAddRow"
280
+ />
281
+
282
+ <!-- Flat mode -->
283
+ <ATableFlatMode
284
+ v-if="tableView.effectiveMode.value === 'flat'"
285
+ ref="flatRef"
286
+ :tree="tree"
287
+ :table-view="tableView"
288
+ :states="states"
289
+ :my-client-id="myClientId"
290
+ :set-local-state="setLocalState"
291
+ :editable="editable"
292
+ @open-node="(id, label) => openNode(id, label)"
293
+ />
271
294
 
272
- <!-- Content -->
273
- <div class="flex-1 overflow-auto">
274
- <!-- Empty state -->
295
+ <!-- Hierarchy mode (kept inline for backward compatibility) -->
296
+ <div
297
+ v-else
298
+ class="flex-1 overflow-auto"
299
+ >
275
300
  <div
276
301
  v-if="columns.length === 0"
277
302
  class="flex flex-col items-center justify-center h-full gap-3 text-center"
@@ -288,7 +313,7 @@ defineExpose({ connectedUsers });
288
313
  icon="i-lucide-plus"
289
314
  :label="locale.addColumn"
290
315
  size="sm"
291
- @click="addColumn"
316
+ @click="addHierarchyColumn"
292
317
  />
293
318
  </div>
294
319
 
@@ -300,7 +325,6 @@ defineExpose({ connectedUsers });
300
325
  <th class="text-left px-3 py-2 text-xs font-medium text-(--ui-text-muted) w-8">
301
326
  #
302
327
  </th>
303
- <!-- Document columns -->
304
328
  <th
305
329
  v-for="col in columns"
306
330
  :key="col.id"
@@ -334,7 +358,6 @@ defineExpose({ connectedUsers });
334
358
  />
335
359
  </div>
336
360
  </th>
337
- <!-- Meta columns -->
338
361
  <th
339
362
  v-for="mc in metaColumns"
340
363
  :key="mc.id"
@@ -360,7 +383,7 @@ defineExpose({ connectedUsers });
360
383
  tag="tbody"
361
384
  >
362
385
  <tr
363
- v-for="idx in rowCount"
386
+ v-for="idx in hierarchyRowCount"
364
387
  :key="getRowRep(idx - 1)?.id ?? `row-${idx}`"
365
388
  :data-drag-id="`row-${idx - 1}`"
366
389
  class="hover:bg-(--ui-bg-elevated) group"
@@ -403,7 +426,6 @@ defineExpose({ connectedUsers });
403
426
  />
404
427
  </div>
405
428
  </td>
406
- <!-- Document column cells -->
407
429
  <td
408
430
  v-for="col in columns"
409
431
  :key="col.id"
@@ -428,7 +450,6 @@ defineExpose({ connectedUsers });
428
450
  {{ getCellValue(col.id, idx - 1) }}
429
451
  </span>
430
452
  </td>
431
- <!-- Meta column cells -->
432
453
  <td
433
454
  v-for="mc in metaColumns"
434
455
  :key="mc.id"
@@ -457,11 +478,10 @@ defineExpose({ connectedUsers });
457
478
  </TransitionGroup>
458
479
  </table>
459
480
 
460
- <!-- Add row footer -->
461
481
  <button
462
482
  v-if="editable"
463
483
  class="w-full text-left px-3 py-2 text-xs text-(--ui-text-dimmed) hover:bg-(--ui-bg-elevated) border-b border-(--ui-border) transition-colors"
464
- @click="addRow"
484
+ @click="addHierarchyRow"
465
485
  >
466
486
  + {{ locale.addRow }}
467
487
  </button>