@abraca/nuxt 1.9.1 → 2.0.1

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 (440) hide show
  1. package/dist/module.d.mts +4 -3
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +9 -1
  4. package/dist/runtime/components/ADocumentTree.vue +1 -1
  5. package/dist/runtime/components/AEditor.d.vue.ts +26 -1
  6. package/dist/runtime/components/AEditor.vue +158 -4
  7. package/dist/runtime/components/AEditor.vue.d.ts +26 -1
  8. package/dist/runtime/components/AIdentityModal.d.vue.ts +46 -0
  9. package/dist/runtime/components/AIdentityModal.vue +157 -0
  10. package/dist/runtime/components/AIdentityModal.vue.d.ts +46 -0
  11. package/dist/runtime/components/AMnemonicLoginModal.d.vue.ts +35 -0
  12. package/dist/runtime/components/AMnemonicLoginModal.vue +173 -0
  13. package/dist/runtime/components/AMnemonicLoginModal.vue.d.ts +35 -0
  14. package/dist/runtime/components/ANodePanel.d.vue.ts +29 -2
  15. package/dist/runtime/components/ANodePanel.vue +148 -27
  16. package/dist/runtime/components/ANodePanel.vue.d.ts +29 -2
  17. package/dist/runtime/components/ANodePanelHeader.d.vue.ts +64 -0
  18. package/dist/runtime/components/ANodePanelHeader.vue +105 -0
  19. package/dist/runtime/components/ANodePanelHeader.vue.d.ts +64 -0
  20. package/dist/runtime/components/ANodeSettingsPanel.d.vue.ts +49 -0
  21. package/dist/runtime/components/ANodeSettingsPanel.vue +59 -0
  22. package/dist/runtime/components/ANodeSettingsPanel.vue.d.ts +49 -0
  23. package/dist/runtime/components/ANotificationBell.d.vue.ts +26 -0
  24. package/dist/runtime/components/ANotificationBell.vue +55 -0
  25. package/dist/runtime/components/ANotificationBell.vue.d.ts +26 -0
  26. package/dist/runtime/components/AOfflineSync.d.vue.ts +11 -0
  27. package/dist/runtime/components/AOfflineSync.vue +217 -0
  28. package/dist/runtime/components/AOfflineSync.vue.d.ts +11 -0
  29. package/dist/runtime/components/ARecoveryPhraseDisplay.d.vue.ts +26 -0
  30. package/dist/runtime/components/ARecoveryPhraseDisplay.vue +94 -0
  31. package/dist/runtime/components/ARecoveryPhraseDisplay.vue.d.ts +26 -0
  32. package/dist/runtime/components/AServerInfoModal.d.vue.ts +43 -0
  33. package/dist/runtime/components/AServerInfoModal.vue +150 -0
  34. package/dist/runtime/components/AServerInfoModal.vue.d.ts +43 -0
  35. package/dist/runtime/components/ASpaceFormModal.vue +1 -1
  36. package/dist/runtime/components/ASubPageList.d.vue.ts +66 -0
  37. package/dist/runtime/components/ASubPageList.vue +147 -0
  38. package/dist/runtime/components/ASubPageList.vue.d.ts +66 -0
  39. package/dist/runtime/components/aware/AAccordion.d.vue.ts +25 -0
  40. package/dist/runtime/components/aware/AAccordion.vue +107 -0
  41. package/dist/runtime/components/aware/AAccordion.vue.d.ts +25 -0
  42. package/dist/runtime/components/aware/AArea.vue +24 -11
  43. package/dist/runtime/components/aware/AAvatar.d.vue.ts +6 -0
  44. package/dist/runtime/components/aware/AAvatar.vue +33 -3
  45. package/dist/runtime/components/aware/AAvatar.vue.d.ts +6 -0
  46. package/dist/runtime/components/aware/AAvatarGroup.d.vue.ts +10 -0
  47. package/dist/runtime/components/aware/AAvatarGroup.vue +30 -0
  48. package/dist/runtime/components/aware/AAvatarGroup.vue.d.ts +10 -0
  49. package/dist/runtime/components/aware/AButton.d.vue.ts +4 -2
  50. package/dist/runtime/components/aware/AButton.vue +46 -14
  51. package/dist/runtime/components/aware/AButton.vue.d.ts +4 -2
  52. package/dist/runtime/components/aware/ACalendar.d.vue.ts +17 -0
  53. package/dist/runtime/components/aware/ACalendar.vue +145 -0
  54. package/dist/runtime/components/aware/ACalendar.vue.d.ts +17 -0
  55. package/dist/runtime/components/aware/ACarousel.d.vue.ts +25 -0
  56. package/dist/runtime/components/aware/ACarousel.vue +39 -0
  57. package/dist/runtime/components/aware/ACarousel.vue.d.ts +25 -0
  58. package/dist/runtime/components/aware/ACheckbox.d.vue.ts +11 -0
  59. package/dist/runtime/components/aware/ACheckbox.vue +74 -0
  60. package/dist/runtime/components/aware/ACheckbox.vue.d.ts +11 -0
  61. package/dist/runtime/components/aware/ACheckboxGroup.d.vue.ts +27 -0
  62. package/dist/runtime/components/aware/ACheckboxGroup.vue +79 -0
  63. package/dist/runtime/components/aware/ACheckboxGroup.vue.d.ts +27 -0
  64. package/dist/runtime/components/aware/ACollapsible.d.vue.ts +25 -0
  65. package/dist/runtime/components/aware/ACollapsible.vue +45 -0
  66. package/dist/runtime/components/aware/ACollapsible.vue.d.ts +25 -0
  67. package/dist/runtime/components/aware/AColorPicker.d.vue.ts +15 -0
  68. package/dist/runtime/components/aware/AColorPicker.vue +48 -0
  69. package/dist/runtime/components/aware/AColorPicker.vue.d.ts +15 -0
  70. package/dist/runtime/components/aware/ACommandPalette.d.vue.ts +33 -0
  71. package/dist/runtime/components/aware/ACommandPalette.vue +123 -0
  72. package/dist/runtime/components/aware/ACommandPalette.vue.d.ts +33 -0
  73. package/dist/runtime/components/aware/AContextMenu.d.vue.ts +25 -0
  74. package/dist/runtime/components/aware/AContextMenu.vue +63 -0
  75. package/dist/runtime/components/aware/AContextMenu.vue.d.ts +25 -0
  76. package/dist/runtime/components/aware/ADrawer.d.vue.ts +25 -0
  77. package/dist/runtime/components/aware/ADrawer.vue +57 -0
  78. package/dist/runtime/components/aware/ADrawer.vue.d.ts +25 -0
  79. package/dist/runtime/components/aware/ADropdownMenu.d.vue.ts +25 -0
  80. package/dist/runtime/components/aware/ADropdownMenu.vue +63 -0
  81. package/dist/runtime/components/aware/ADropdownMenu.vue.d.ts +25 -0
  82. package/dist/runtime/components/aware/AFileUpload.d.vue.ts +27 -0
  83. package/dist/runtime/components/aware/AFileUpload.vue +67 -0
  84. package/dist/runtime/components/aware/AFileUpload.vue.d.ts +27 -0
  85. package/dist/runtime/components/aware/AFollowBar.d.vue.ts +21 -0
  86. package/dist/runtime/components/aware/AFollowBar.vue +62 -0
  87. package/dist/runtime/components/aware/AFollowBar.vue.d.ts +21 -0
  88. package/dist/runtime/components/aware/AFollowScroll.d.vue.ts +7 -0
  89. package/dist/runtime/components/aware/AFollowScroll.vue +17 -0
  90. package/dist/runtime/components/aware/AFollowScroll.vue.d.ts +7 -0
  91. package/dist/runtime/components/aware/AFormSync.d.vue.ts +21 -0
  92. package/dist/runtime/components/aware/AFormSync.vue +52 -0
  93. package/dist/runtime/components/aware/AFormSync.vue.d.ts +21 -0
  94. package/dist/runtime/components/aware/AGlobalFocusLayer.d.vue.ts +3 -0
  95. package/dist/runtime/components/aware/AGlobalFocusLayer.vue +90 -0
  96. package/dist/runtime/components/aware/AGlobalFocusLayer.vue.d.ts +3 -0
  97. package/dist/runtime/components/aware/AHoverItem.d.vue.ts +27 -0
  98. package/dist/runtime/components/aware/AHoverItem.vue +124 -0
  99. package/dist/runtime/components/aware/AHoverItem.vue.d.ts +27 -0
  100. package/dist/runtime/components/aware/AInput.d.vue.ts +12 -2
  101. package/dist/runtime/components/aware/AInput.vue +72 -19
  102. package/dist/runtime/components/aware/AInput.vue.d.ts +12 -2
  103. package/dist/runtime/components/aware/AInputMenu.d.vue.ts +17 -0
  104. package/dist/runtime/components/aware/AInputMenu.vue +138 -0
  105. package/dist/runtime/components/aware/AInputMenu.vue.d.ts +17 -0
  106. package/dist/runtime/components/aware/AInputNumber.d.vue.ts +15 -0
  107. package/dist/runtime/components/aware/AInputNumber.vue +67 -0
  108. package/dist/runtime/components/aware/AInputNumber.vue.d.ts +15 -0
  109. package/dist/runtime/components/aware/AInputTags.d.vue.ts +15 -0
  110. package/dist/runtime/components/aware/AInputTags.vue +67 -0
  111. package/dist/runtime/components/aware/AInputTags.vue.d.ts +15 -0
  112. package/dist/runtime/components/aware/AKeyHint.d.vue.ts +3 -0
  113. package/dist/runtime/components/aware/AKeyHint.vue +23 -0
  114. package/dist/runtime/components/aware/AKeyHint.vue.d.ts +3 -0
  115. package/dist/runtime/components/aware/AMedia.d.vue.ts +19 -0
  116. package/dist/runtime/components/aware/AMedia.vue +85 -0
  117. package/dist/runtime/components/aware/AMedia.vue.d.ts +19 -0
  118. package/dist/runtime/components/aware/AModal.d.vue.ts +33 -0
  119. package/dist/runtime/components/aware/AModal.vue +110 -0
  120. package/dist/runtime/components/aware/AModal.vue.d.ts +33 -0
  121. package/dist/runtime/components/aware/ANavigationMenu.d.vue.ts +25 -0
  122. package/dist/runtime/components/aware/ANavigationMenu.vue +82 -0
  123. package/dist/runtime/components/aware/ANavigationMenu.vue.d.ts +25 -0
  124. package/dist/runtime/components/aware/APagination.d.vue.ts +13 -0
  125. package/dist/runtime/components/aware/APagination.vue +53 -0
  126. package/dist/runtime/components/aware/APagination.vue.d.ts +13 -0
  127. package/dist/runtime/components/aware/APeerCaretLayer.d.vue.ts +10 -0
  128. package/dist/runtime/components/aware/APeerCaretLayer.vue +133 -0
  129. package/dist/runtime/components/aware/APeerCaretLayer.vue.d.ts +10 -0
  130. package/dist/runtime/components/aware/APinInput.d.vue.ts +15 -0
  131. package/dist/runtime/components/aware/APinInput.vue +48 -0
  132. package/dist/runtime/components/aware/APinInput.vue.d.ts +15 -0
  133. package/dist/runtime/components/aware/APopover.d.vue.ts +25 -0
  134. package/dist/runtime/components/aware/APopover.vue +57 -0
  135. package/dist/runtime/components/aware/APopover.vue.d.ts +25 -0
  136. package/dist/runtime/components/aware/APresenceBlobs.d.vue.ts +3 -0
  137. package/dist/runtime/components/aware/APresenceBlobs.vue +69 -0
  138. package/dist/runtime/components/aware/APresenceBlobs.vue.d.ts +3 -0
  139. package/dist/runtime/components/aware/APresenceCursors.d.vue.ts +20 -0
  140. package/dist/runtime/components/aware/APresenceCursors.vue +47 -0
  141. package/dist/runtime/components/aware/APresenceCursors.vue.d.ts +20 -0
  142. package/dist/runtime/components/aware/ARadioGroup.d.vue.ts +27 -0
  143. package/dist/runtime/components/aware/ARadioGroup.vue +86 -0
  144. package/dist/runtime/components/aware/ARadioGroup.vue.d.ts +27 -0
  145. package/dist/runtime/components/aware/AScroll.d.vue.ts +25 -0
  146. package/dist/runtime/components/aware/AScroll.vue +87 -0
  147. package/dist/runtime/components/aware/AScroll.vue.d.ts +25 -0
  148. package/dist/runtime/components/aware/ASelect.d.vue.ts +12 -2
  149. package/dist/runtime/components/aware/ASelect.vue +146 -22
  150. package/dist/runtime/components/aware/ASelect.vue.d.ts +12 -2
  151. package/dist/runtime/components/aware/ASelectMenu.d.vue.ts +17 -0
  152. package/dist/runtime/components/aware/ASelectMenu.vue +139 -0
  153. package/dist/runtime/components/aware/ASelectMenu.vue.d.ts +17 -0
  154. package/dist/runtime/components/aware/ASlideover.d.vue.ts +33 -0
  155. package/dist/runtime/components/aware/ASlideover.vue +110 -0
  156. package/dist/runtime/components/aware/ASlideover.vue.d.ts +33 -0
  157. package/dist/runtime/components/aware/ASlider.d.vue.ts +19 -0
  158. package/dist/runtime/components/aware/ASlider.vue +77 -0
  159. package/dist/runtime/components/aware/ASlider.vue.d.ts +19 -0
  160. package/dist/runtime/components/aware/AStepper.d.vue.ts +25 -0
  161. package/dist/runtime/components/aware/AStepper.vue +82 -0
  162. package/dist/runtime/components/aware/AStepper.vue.d.ts +25 -0
  163. package/dist/runtime/components/aware/ASwitch.d.vue.ts +11 -0
  164. package/dist/runtime/components/aware/ASwitch.vue +75 -0
  165. package/dist/runtime/components/aware/ASwitch.vue.d.ts +11 -0
  166. package/dist/runtime/components/aware/ATable.d.vue.ts +23 -0
  167. package/dist/runtime/components/aware/ATable.vue +97 -0
  168. package/dist/runtime/components/aware/ATable.vue.d.ts +23 -0
  169. package/dist/runtime/components/aware/ATabs.d.vue.ts +27 -0
  170. package/dist/runtime/components/aware/ATabs.vue +128 -0
  171. package/dist/runtime/components/aware/ATabs.vue.d.ts +27 -0
  172. package/dist/runtime/components/aware/ATextarea.d.vue.ts +12 -2
  173. package/dist/runtime/components/aware/ATextarea.vue +72 -19
  174. package/dist/runtime/components/aware/ATextarea.vue.d.ts +12 -2
  175. package/dist/runtime/components/aware/AToggleGroup.d.vue.ts +27 -0
  176. package/dist/runtime/components/aware/AToggleGroup.vue +79 -0
  177. package/dist/runtime/components/aware/AToggleGroup.vue.d.ts +27 -0
  178. package/dist/runtime/components/aware/ATree.d.vue.ts +27 -0
  179. package/dist/runtime/components/aware/ATree.vue +111 -0
  180. package/dist/runtime/components/aware/ATree.vue.d.ts +27 -0
  181. package/dist/runtime/components/chat/AChatPanel.d.vue.ts +6 -6
  182. package/dist/runtime/components/chat/AChatPanel.vue.d.ts +6 -6
  183. package/dist/runtime/components/chat/ANodeChatPanel.d.vue.ts +42 -0
  184. package/dist/runtime/components/chat/ANodeChatPanel.vue +53 -0
  185. package/dist/runtime/components/chat/ANodeChatPanel.vue.d.ts +42 -0
  186. package/dist/runtime/components/docs/ADocsSearch.d.vue.ts +2 -2
  187. package/dist/runtime/components/docs/ADocsSearch.vue.d.ts +2 -2
  188. package/dist/runtime/components/docs/ADocsSearchButton.d.vue.ts +3 -3
  189. package/dist/runtime/components/docs/ADocsSearchButton.vue.d.ts +3 -3
  190. package/dist/runtime/components/editor/AEditorRedoButton.d.vue.ts +26 -0
  191. package/dist/runtime/components/editor/AEditorRedoButton.vue +38 -0
  192. package/dist/runtime/components/editor/AEditorRedoButton.vue.d.ts +26 -0
  193. package/dist/runtime/components/editor/AEditorUndoButton.d.vue.ts +26 -0
  194. package/dist/runtime/components/editor/AEditorUndoButton.vue +38 -0
  195. package/dist/runtime/components/editor/AEditorUndoButton.vue.d.ts +26 -0
  196. package/dist/runtime/components/editor/AIconPickerPopover.d.vue.ts +24 -0
  197. package/dist/runtime/components/editor/AIconPickerPopover.vue +113 -0
  198. package/dist/runtime/components/editor/AIconPickerPopover.vue.d.ts +24 -0
  199. package/dist/runtime/components/editor/ANodeInlineLabel.d.vue.ts +24 -0
  200. package/dist/runtime/components/editor/ANodeInlineLabel.vue +101 -0
  201. package/dist/runtime/components/editor/ANodeInlineLabel.vue.d.ts +24 -0
  202. package/dist/runtime/components/renderers/ADocLoadError.d.vue.ts +3 -0
  203. package/dist/runtime/components/renderers/ADocLoadError.vue +11 -0
  204. package/dist/runtime/components/renderers/ADocLoadError.vue.d.ts +3 -0
  205. package/dist/runtime/components/renderers/ADocLoadingSkeleton.d.vue.ts +3 -0
  206. package/dist/runtime/components/renderers/ADocLoadingSkeleton.vue +5 -0
  207. package/dist/runtime/components/renderers/ADocLoadingSkeleton.vue.d.ts +3 -0
  208. package/dist/runtime/components/renderers/AOverviewRenderer.d.vue.ts +22 -0
  209. package/dist/runtime/components/renderers/AOverviewRenderer.vue +1041 -0
  210. package/dist/runtime/components/renderers/AOverviewRenderer.vue.d.ts +22 -0
  211. package/dist/runtime/components/renderers/AProseRenderer.d.vue.ts +23 -0
  212. package/dist/runtime/components/renderers/AProseRenderer.vue +31 -0
  213. package/dist/runtime/components/renderers/AProseRenderer.vue.d.ts +23 -0
  214. package/dist/runtime/components/renderers/ASheetsRenderer.client.d.vue.ts +19 -0
  215. package/dist/runtime/components/renderers/ASheetsRenderer.client.vue +865 -0
  216. package/dist/runtime/components/renderers/ASheetsRenderer.client.vue.d.ts +19 -0
  217. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.d.vue.ts +14 -0
  218. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue +45 -15
  219. package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue.d.ts +14 -0
  220. package/dist/runtime/components/renderers/calendar/ACalendarDayView.d.vue.ts +15 -0
  221. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue +93 -20
  222. package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue.d.ts +15 -0
  223. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.d.vue.ts +9 -0
  224. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue +31 -2
  225. package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue.d.ts +9 -0
  226. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.d.vue.ts +15 -0
  227. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue +94 -21
  228. package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue.d.ts +15 -0
  229. package/dist/runtime/components/renderers/sheets/ASheetsCell.d.vue.ts +45 -0
  230. package/dist/runtime/components/renderers/sheets/ASheetsCell.vue +123 -0
  231. package/dist/runtime/components/renderers/sheets/ASheetsCell.vue.d.ts +45 -0
  232. package/dist/runtime/components/renderers/sheets/ASheetsGrid.d.vue.ts +111 -0
  233. package/dist/runtime/components/renderers/sheets/ASheetsGrid.vue +737 -0
  234. package/dist/runtime/components/renderers/sheets/ASheetsGrid.vue.d.ts +111 -0
  235. package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.d.vue.ts +26 -0
  236. package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.vue +100 -0
  237. package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.vue.d.ts +26 -0
  238. package/dist/runtime/components/renderers/sheets/ASheetsToolbar.d.vue.ts +48 -0
  239. package/dist/runtime/components/renderers/sheets/ASheetsToolbar.vue +243 -0
  240. package/dist/runtime/components/renderers/sheets/ASheetsToolbar.vue.d.ts +48 -0
  241. package/dist/runtime/components/renderers/table/cells/ATableCellColor.d.vue.ts +1 -0
  242. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue +13 -32
  243. package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue.d.ts +1 -0
  244. package/dist/runtime/components/renderers/timeline/ATimelineBar.d.vue.ts +6 -0
  245. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue +34 -4
  246. package/dist/runtime/components/renderers/timeline/ATimelineBar.vue.d.ts +6 -0
  247. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.d.vue.ts +16 -0
  248. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue +14 -3
  249. package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue.d.ts +16 -0
  250. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.d.vue.ts +13 -1
  251. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue +114 -47
  252. package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue.d.ts +13 -1
  253. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.d.vue.ts +4 -0
  254. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue +21 -4
  255. package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue.d.ts +4 -0
  256. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.d.vue.ts +2 -2
  257. package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue.d.ts +2 -2
  258. package/dist/runtime/components/settings/ASettingsSpacesPanel.vue +7 -25
  259. package/dist/runtime/components/shell/ADocPanelSettings.d.vue.ts +3 -3
  260. package/dist/runtime/components/shell/ADocPanelSettings.vue.d.ts +3 -3
  261. package/dist/runtime/components/shell/ASyncStatus.d.vue.ts +1 -1
  262. package/dist/runtime/components/shell/ASyncStatus.vue.d.ts +1 -1
  263. package/dist/runtime/components/shell/AUserMenu.d.vue.ts +2 -2
  264. package/dist/runtime/components/shell/AUserMenu.vue.d.ts +2 -2
  265. package/dist/runtime/components/shell/AWelcomeScreen.d.vue.ts +1 -1
  266. package/dist/runtime/components/shell/AWelcomeScreen.vue.d.ts +1 -1
  267. package/dist/runtime/composables/useAACaret.d.ts +29 -0
  268. package/dist/runtime/composables/useAACaret.js +64 -0
  269. package/dist/runtime/composables/useAAEphemeral.d.ts +32 -0
  270. package/dist/runtime/composables/useAAEphemeral.js +33 -0
  271. package/dist/runtime/composables/useAAField.d.ts +10 -2
  272. package/dist/runtime/composables/useAAField.js +31 -2
  273. package/dist/runtime/composables/useAAFieldValue.d.ts +26 -0
  274. package/dist/runtime/composables/useAAFieldValue.js +32 -0
  275. package/dist/runtime/composables/useAAFocus.d.ts +68 -0
  276. package/dist/runtime/composables/useAAFocus.js +174 -0
  277. package/dist/runtime/composables/useAAFollowAnchor.d.ts +25 -0
  278. package/dist/runtime/composables/useAAFollowAnchor.js +69 -0
  279. package/dist/runtime/composables/useAAFollowPeer.d.ts +29 -0
  280. package/dist/runtime/composables/useAAFollowPeer.js +75 -0
  281. package/dist/runtime/composables/useAAKey.d.ts +22 -0
  282. package/dist/runtime/composables/useAAKey.js +24 -0
  283. package/dist/runtime/composables/useAAPointer.d.ts +30 -0
  284. package/dist/runtime/composables/useAAPointer.js +53 -0
  285. package/dist/runtime/composables/useAAUIState.d.ts +29 -0
  286. package/dist/runtime/composables/useAAUIState.js +28 -0
  287. package/dist/runtime/composables/useAAViewport.d.ts +22 -0
  288. package/dist/runtime/composables/useAAViewport.js +50 -0
  289. package/dist/runtime/composables/useAbraAdmin.d.ts +54 -0
  290. package/dist/runtime/composables/useAbraAdmin.js +115 -0
  291. package/dist/runtime/composables/useAbracadabraAuth.d.ts +8 -0
  292. package/dist/runtime/composables/useAbracadabraAuth.js +8 -0
  293. package/dist/runtime/composables/useAggregatedPresence.d.ts +23 -0
  294. package/dist/runtime/composables/useAggregatedPresence.js +140 -0
  295. package/dist/runtime/composables/useChat.d.ts +16 -2
  296. package/dist/runtime/composables/useChat.js +257 -66
  297. package/dist/runtime/composables/useChatUsers.d.ts +2 -0
  298. package/dist/runtime/composables/useChatUsers.js +2 -1
  299. package/dist/runtime/composables/useDocLookup.d.ts +4 -0
  300. package/dist/runtime/composables/useDocLookup.js +25 -0
  301. package/dist/runtime/composables/useDocSnapshots.d.ts +79 -0
  302. package/dist/runtime/composables/useDocSnapshots.js +234 -0
  303. package/dist/runtime/composables/useEditorDragHandle.d.ts +7 -0
  304. package/dist/runtime/composables/useEditorDragHandle.js +19 -1
  305. package/dist/runtime/composables/useEditorSuggestions.js +27 -1
  306. package/dist/runtime/composables/useEditorToolbar.js +9 -1
  307. package/dist/runtime/composables/useEmailVerification.d.ts +33 -0
  308. package/dist/runtime/composables/useEmailVerification.js +58 -0
  309. package/dist/runtime/composables/useIdentityDoc.js +0 -3
  310. package/dist/runtime/composables/useItemPresence.d.ts +47 -0
  311. package/dist/runtime/composables/useItemPresence.js +73 -0
  312. package/dist/runtime/composables/useResizableWidth.d.ts +24 -0
  313. package/dist/runtime/composables/useResizableWidth.js +87 -0
  314. package/dist/runtime/composables/useServerInfo.d.ts +17 -2
  315. package/dist/runtime/composables/useServerInfo.js +30 -6
  316. package/dist/runtime/composables/useServerSearch.d.ts +36 -0
  317. package/dist/runtime/composables/useServerSearch.js +91 -0
  318. package/dist/runtime/composables/useServerTrash.d.ts +67 -0
  319. package/dist/runtime/composables/useServerTrash.js +128 -0
  320. package/dist/runtime/composables/useSheetsClipboard.d.ts +42 -0
  321. package/dist/runtime/composables/useSheetsClipboard.js +109 -0
  322. package/dist/runtime/composables/useSheetsFormulas.d.ts +38 -0
  323. package/dist/runtime/composables/useSheetsFormulas.js +725 -0
  324. package/dist/runtime/composables/useSheetsSelection.d.ts +68 -0
  325. package/dist/runtime/composables/useSheetsSelection.js +390 -0
  326. package/dist/runtime/composables/useSheetsView.d.ts +31 -0
  327. package/dist/runtime/composables/useSheetsView.js +77 -0
  328. package/dist/runtime/composables/useSpaceConnections.d.ts +43 -0
  329. package/dist/runtime/composables/useSpaceConnections.js +72 -0
  330. package/dist/runtime/composables/useSpaces.d.ts +1 -3
  331. package/dist/runtime/composables/useSpaces.js +2 -5
  332. package/dist/runtime/composables/useTiptapHistory.d.ts +22 -0
  333. package/dist/runtime/composables/useTiptapHistory.js +12 -0
  334. package/dist/runtime/composables/useTreeExpansion.d.ts +28 -0
  335. package/dist/runtime/composables/useTreeExpansion.js +94 -0
  336. package/dist/runtime/composables/useYDoc.js +12 -1
  337. package/dist/runtime/extensions/button.d.ts +3 -0
  338. package/dist/runtime/extensions/button.js +62 -0
  339. package/dist/runtime/extensions/color-swatch.d.ts +2 -0
  340. package/dist/runtime/extensions/color-swatch.js +34 -0
  341. package/dist/runtime/extensions/diff.d.ts +2 -0
  342. package/dist/runtime/extensions/diff.js +40 -0
  343. package/dist/runtime/extensions/divider.d.ts +2 -0
  344. package/dist/runtime/extensions/divider.js +33 -0
  345. package/dist/runtime/extensions/embed.d.ts +2 -0
  346. package/dist/runtime/extensions/embed.js +40 -0
  347. package/dist/runtime/extensions/figure.d.ts +2 -0
  348. package/dist/runtime/extensions/figure.js +49 -0
  349. package/dist/runtime/extensions/math.d.ts +15 -0
  350. package/dist/runtime/extensions/math.js +66 -0
  351. package/dist/runtime/extensions/progress.d.ts +2 -0
  352. package/dist/runtime/extensions/progress.js +43 -0
  353. package/dist/runtime/extensions/quote.d.ts +2 -0
  354. package/dist/runtime/extensions/quote.js +39 -0
  355. package/dist/runtime/extensions/spoiler.d.ts +2 -0
  356. package/dist/runtime/extensions/spoiler.js +36 -0
  357. package/dist/runtime/extensions/stat.d.ts +3 -0
  358. package/dist/runtime/extensions/stat.js +58 -0
  359. package/dist/runtime/extensions/svg-embed.d.ts +23 -0
  360. package/dist/runtime/extensions/svg-embed.js +33 -0
  361. package/dist/runtime/extensions/video.d.ts +2 -0
  362. package/dist/runtime/extensions/video.js +40 -0
  363. package/dist/runtime/extensions/views/ButtonGroupView.d.vue.ts +4 -0
  364. package/dist/runtime/extensions/views/ButtonGroupView.vue +25 -0
  365. package/dist/runtime/extensions/views/ButtonGroupView.vue.d.ts +4 -0
  366. package/dist/runtime/extensions/views/ButtonView.d.vue.ts +4 -0
  367. package/dist/runtime/extensions/views/ButtonView.vue +171 -0
  368. package/dist/runtime/extensions/views/ButtonView.vue.d.ts +4 -0
  369. package/dist/runtime/extensions/views/ColorSwatchView.d.vue.ts +4 -0
  370. package/dist/runtime/extensions/views/ColorSwatchView.vue +134 -0
  371. package/dist/runtime/extensions/views/ColorSwatchView.vue.d.ts +4 -0
  372. package/dist/runtime/extensions/views/DiffView.d.vue.ts +4 -0
  373. package/dist/runtime/extensions/views/DiffView.vue +163 -0
  374. package/dist/runtime/extensions/views/DiffView.vue.d.ts +4 -0
  375. package/dist/runtime/extensions/views/DividerView.d.vue.ts +4 -0
  376. package/dist/runtime/extensions/views/DividerView.vue +40 -0
  377. package/dist/runtime/extensions/views/DividerView.vue.d.ts +4 -0
  378. package/dist/runtime/extensions/views/EmbedView.d.vue.ts +4 -0
  379. package/dist/runtime/extensions/views/EmbedView.vue +166 -0
  380. package/dist/runtime/extensions/views/EmbedView.vue.d.ts +4 -0
  381. package/dist/runtime/extensions/views/FigureView.d.vue.ts +4 -0
  382. package/dist/runtime/extensions/views/FigureView.vue +122 -0
  383. package/dist/runtime/extensions/views/FigureView.vue.d.ts +4 -0
  384. package/dist/runtime/extensions/views/FileNodeView.vue +21 -24
  385. package/dist/runtime/extensions/views/MathBlockView.d.vue.ts +4 -0
  386. package/dist/runtime/extensions/views/MathBlockView.vue +151 -0
  387. package/dist/runtime/extensions/views/MathBlockView.vue.d.ts +4 -0
  388. package/dist/runtime/extensions/views/MathInlineView.d.vue.ts +4 -0
  389. package/dist/runtime/extensions/views/MathInlineView.vue +149 -0
  390. package/dist/runtime/extensions/views/MathInlineView.vue.d.ts +4 -0
  391. package/dist/runtime/extensions/views/MetaFieldView.vue +1129 -550
  392. package/dist/runtime/extensions/views/ProgressView.d.vue.ts +4 -0
  393. package/dist/runtime/extensions/views/ProgressView.vue +156 -0
  394. package/dist/runtime/extensions/views/ProgressView.vue.d.ts +4 -0
  395. package/dist/runtime/extensions/views/QuoteView.d.vue.ts +4 -0
  396. package/dist/runtime/extensions/views/QuoteView.vue +128 -0
  397. package/dist/runtime/extensions/views/QuoteView.vue.d.ts +4 -0
  398. package/dist/runtime/extensions/views/SpoilerView.d.vue.ts +4 -0
  399. package/dist/runtime/extensions/views/SpoilerView.vue +62 -0
  400. package/dist/runtime/extensions/views/SpoilerView.vue.d.ts +4 -0
  401. package/dist/runtime/extensions/views/StatGroupView.d.vue.ts +4 -0
  402. package/dist/runtime/extensions/views/StatGroupView.vue +25 -0
  403. package/dist/runtime/extensions/views/StatGroupView.vue.d.ts +4 -0
  404. package/dist/runtime/extensions/views/StatView.d.vue.ts +4 -0
  405. package/dist/runtime/extensions/views/StatView.vue +89 -0
  406. package/dist/runtime/extensions/views/StatView.vue.d.ts +4 -0
  407. package/dist/runtime/extensions/views/SvgEmbedView.d.vue.ts +4 -0
  408. package/dist/runtime/extensions/views/SvgEmbedView.vue +120 -0
  409. package/dist/runtime/extensions/views/SvgEmbedView.vue.d.ts +4 -0
  410. package/dist/runtime/extensions/views/VideoView.d.vue.ts +4 -0
  411. package/dist/runtime/extensions/views/VideoView.vue +190 -0
  412. package/dist/runtime/extensions/views/VideoView.vue.d.ts +4 -0
  413. package/dist/runtime/locale.d.ts +133 -0
  414. package/dist/runtime/locale.js +121 -2
  415. package/dist/runtime/plugin-abracadabra.client.js +233 -36
  416. package/dist/runtime/plugin-abracadabra.server.js +0 -1
  417. package/dist/runtime/plugins/core.plugin.js +77 -4
  418. package/dist/runtime/server/plugins/abracadabra-service.js +84 -6
  419. package/dist/runtime/server/utils/rpcHandler.d.ts +74 -0
  420. package/dist/runtime/server/utils/rpcHandler.js +74 -0
  421. package/dist/runtime/server/utils/spaceManager.js +10 -9
  422. package/dist/runtime/types.d.ts +63 -10
  423. package/dist/runtime/utils/awareRingStyle.d.ts +22 -0
  424. package/dist/runtime/utils/awareRingStyle.js +16 -0
  425. package/dist/runtime/utils/caretCoordinates.d.ts +41 -0
  426. package/dist/runtime/utils/caretCoordinates.js +126 -0
  427. package/dist/runtime/utils/content.d.ts +1 -1
  428. package/dist/runtime/utils/docTypes.js +44 -13
  429. package/dist/runtime/utils/domPath.d.ts +42 -0
  430. package/dist/runtime/utils/domPath.js +89 -0
  431. package/dist/runtime/utils/loadKatex.d.ts +1 -0
  432. package/dist/runtime/utils/loadKatex.js +29 -0
  433. package/dist/runtime/utils/lucideIcons.d.ts +16 -0
  434. package/dist/runtime/utils/lucideIcons.js +451 -0
  435. package/dist/runtime/utils/sanitizeSvg.d.ts +19 -0
  436. package/dist/runtime/utils/sanitizeSvg.js +87 -0
  437. package/dist/runtime/utils/time.d.ts +15 -0
  438. package/dist/runtime/utils/time.js +5 -0
  439. package/dist/types.d.mts +4 -0
  440. package/package.json +26 -16
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Server-side RPC v1 handler registry for `@abraca/nuxt`.
3
+ *
4
+ * Wraps `provider.rpc.handle(...)` from `@abraca/dabra` with a Nuxt-flavoured
5
+ * shape: schema validation (Zod-compatible — anything with `.parse()`),
6
+ * structured logging, and lifecycle hooks. Handlers register against the
7
+ * service provider's root-doc subscription, which is where service-role
8
+ * runners advertise capabilities.
9
+ *
10
+ * Usage from a Nitro plugin:
11
+ *
12
+ * export default defineNitroPlugin((nitroApp) => {
13
+ * nitroApp.hooks.hook('abracadabra:before-runners', () => {
14
+ * registerServerPlugin({
15
+ * name: 'my-plugin',
16
+ * serverRunners: [
17
+ * defineRpcRunner({
18
+ * handlers: [
19
+ * defineRpcHandler({
20
+ * method: 'ai.summarize@1',
21
+ * schema: z.object({ docId: z.string() }),
22
+ * async handler(args, ctx) {
23
+ * return await summarize(args.docId)
24
+ * },
25
+ * }),
26
+ * ],
27
+ * }),
28
+ * ],
29
+ * })
30
+ * })
31
+ * })
32
+ */
33
+ import type { RpcHandlerContext } from '@abraca/dabra';
34
+ import { RpcError as RpcErrorClass } from '@abraca/dabra';
35
+ import type { ServerRunnerDefinition, ServerRunnerContext } from '../../types.js';
36
+ /** Anything with a `.parse(value): T` method — Zod, Valibot, ArkType, … */
37
+ export interface RpcSchema<T> {
38
+ parse(value: unknown): T;
39
+ }
40
+ export interface RpcHandlerDefinition<TArgs = unknown, TResult = unknown> {
41
+ /** Method name. Convention: `<namespace>.<verb>@<version>`, e.g. `ai.summarize@1`. */
42
+ method: string;
43
+ /** Optional schema for `args`. Validation failure → `SCHEMA` error result. */
44
+ schema?: RpcSchema<TArgs>;
45
+ /**
46
+ * The actual handler. Throw an `RpcError` for typed failures; any other
47
+ * thrown value becomes `INTERNAL`. Returning an async generator turns each
48
+ * `yield` into a `rpc:progress` frame; the generator's return value is the
49
+ * final result.
50
+ */
51
+ handler: (args: TArgs, ctx: RpcHandlerContext) => TResult | Promise<TResult> | AsyncGenerator<unknown, TResult, void>;
52
+ }
53
+ /**
54
+ * Define a single RPC handler. The return value is consumed by
55
+ * `defineRpcRunner({ handlers })`.
56
+ */
57
+ export declare function defineRpcHandler<TArgs, TResult>(def: RpcHandlerDefinition<TArgs, TResult>): RpcHandlerDefinition<TArgs, TResult>;
58
+ export interface RpcRunnerOptions {
59
+ /** Optional unique runner name (defaults to `abracadabra:rpc`). */
60
+ name?: string;
61
+ handlers: RpcHandlerDefinition<any, any>[];
62
+ /** Called once before any handler is registered. */
63
+ onStart?: (ctx: ServerRunnerContext) => void | Promise<void>;
64
+ }
65
+ /**
66
+ * Define a server runner that wires every handler to the root provider's
67
+ * RPC client and unregisters them on shutdown.
68
+ *
69
+ * Returns a `ServerRunnerDefinition` you can list under
70
+ * `AbracadabraPlugin.serverRunners`.
71
+ */
72
+ export declare function defineRpcRunner(options: RpcRunnerOptions): ServerRunnerDefinition;
73
+ export { RpcErrorClass as RpcError };
74
+ export type { RpcHandler, RpcHandlerContext } from '@abraca/dabra';
@@ -0,0 +1,74 @@
1
+ import { RpcError as RpcErrorClass } from "@abraca/dabra";
2
+ export function defineRpcHandler(def) {
3
+ return def;
4
+ }
5
+ export function defineRpcRunner(options) {
6
+ const name = options.name ?? "abracadabra:rpc";
7
+ return {
8
+ name,
9
+ async start(ctx) {
10
+ await options.onStart?.(ctx);
11
+ const unregisters = [];
12
+ const rpc = ctx.rootProvider.rpc;
13
+ for (const def of options.handlers) {
14
+ const wrapped = wrapHandler(def, name);
15
+ unregisters.push(rpc.handle(def.method, wrapped));
16
+ console.log(`[${name}] handler registered: ${def.method}`);
17
+ }
18
+ await rpc.ready();
19
+ return () => {
20
+ for (const u of unregisters) {
21
+ try {
22
+ u();
23
+ } catch {
24
+ }
25
+ }
26
+ console.log(`[${name}] unregistered ${options.handlers.length} handler(s)`);
27
+ };
28
+ }
29
+ };
30
+ }
31
+ function wrapHandler(def, runnerName) {
32
+ return function(rawArgs, ctx) {
33
+ let args = rawArgs;
34
+ if (def.schema) {
35
+ try {
36
+ args = def.schema.parse(rawArgs);
37
+ } catch (err) {
38
+ console.warn(`[${runnerName}] ${def.method} schema rejected:`, err instanceof Error ? err.message : err);
39
+ return Promise.reject(
40
+ new RpcErrorClass("SCHEMA", err instanceof Error ? err.message : "invalid args")
41
+ );
42
+ }
43
+ }
44
+ const t0 = Date.now();
45
+ const result = def.handler(args, ctx);
46
+ const r = result;
47
+ if (r && typeof r.next === "function" && typeof r[Symbol.asyncIterator] === "function") {
48
+ return wrapGeneratorLogging(r, t0, def.method, runnerName, ctx.id);
49
+ }
50
+ return Promise.resolve(result).then(
51
+ (out) => {
52
+ console.log(`[${runnerName}] ${def.method} ok in ${Date.now() - t0}ms (id=${ctx.id})`);
53
+ return out;
54
+ },
55
+ (err) => {
56
+ const code = err instanceof RpcErrorClass ? err.code : "INTERNAL";
57
+ console.warn(`[${runnerName}] ${def.method} failed (${code}, ${Date.now() - t0}ms): ${err instanceof Error ? err.message : err}`);
58
+ throw err;
59
+ }
60
+ );
61
+ };
62
+ }
63
+ async function* wrapGeneratorLogging(gen, t0, method, runnerName, id) {
64
+ try {
65
+ const final = yield* gen;
66
+ console.log(`[${runnerName}] ${method} ok in ${Date.now() - t0}ms (id=${id})`);
67
+ return final;
68
+ } catch (err) {
69
+ const code = err instanceof RpcErrorClass ? err.code : "INTERNAL";
70
+ console.warn(`[${runnerName}] ${method} failed (${code}, ${Date.now() - t0}ms): ${err instanceof Error ? err.message : err}`);
71
+ throw err;
72
+ }
73
+ }
74
+ export { RpcErrorClass as RpcError };
@@ -43,7 +43,6 @@ async function discoverSpaces() {
43
43
  }
44
44
  const currentIds = new Set(spaces.map((s) => s.id));
45
45
  for (const meta of spaces) {
46
- if (meta.is_hub) continue;
47
46
  if (!_spaces.has(meta.id)) {
48
47
  await connectSpace(meta);
49
48
  }
@@ -57,14 +56,15 @@ async function discoverSpaces() {
57
56
  }
58
57
  async function connectSpace(meta) {
59
58
  if (!_baseCtx || _spaces.has(meta.id)) return;
60
- console.log(`[space-manager] Connecting space: ${meta.name} (${meta.id})`);
59
+ const label = meta.label ?? "(unnamed)";
60
+ console.log(`[space-manager] Connecting space: ${label} (${meta.id})`);
61
61
  const Y = await import("yjs");
62
62
  const doc = new Y.Doc();
63
63
  const { AbracadabraProvider } = await import("@abraca/dabra");
64
64
  const provider = new AbracadabraProvider({
65
65
  client: _baseCtx.client,
66
66
  document: doc,
67
- name: meta.doc_id,
67
+ name: meta.id,
68
68
  websocketProvider: _baseCtx.wsp,
69
69
  disableOfflineStore: true
70
70
  });
@@ -79,7 +79,7 @@ async function connectSpace(meta) {
79
79
  });
80
80
  const conn = {
81
81
  spaceId: meta.id,
82
- docId: meta.doc_id,
82
+ docId: meta.id,
83
83
  meta,
84
84
  provider,
85
85
  doc,
@@ -87,15 +87,16 @@ async function connectSpace(meta) {
87
87
  loadedPlugins: /* @__PURE__ */ new Map()
88
88
  };
89
89
  _spaces.set(meta.id, conn);
90
- console.log(`[space-manager] Space synced: ${meta.name}`);
90
+ console.log(`[space-manager] Space synced: ${label}`);
91
91
  const spaceCtx = buildSpaceContext(conn);
92
- await startRunner(docTreeCacheRunner, spaceCtx, meta.doc_id);
92
+ await startRunner(docTreeCacheRunner, spaceCtx, meta.id);
93
93
  observeSpacePlugins(conn);
94
94
  }
95
95
  async function disconnectSpace(spaceId) {
96
96
  const conn = _spaces.get(spaceId);
97
97
  if (!conn) return;
98
- console.log(`[space-manager] Disconnecting space: ${conn.meta.name} (${spaceId})`);
98
+ const label = conn.meta.label ?? "(unnamed)";
99
+ console.log(`[space-manager] Disconnecting space: ${label} (${spaceId})`);
99
100
  if (conn.pluginObserver) {
100
101
  try {
101
102
  const pluginsMap = conn.doc.getMap("space-plugins");
@@ -162,7 +163,7 @@ async function loadAndStartPlugin(conn, pluginName, url) {
162
163
  runnerKeys.push(key);
163
164
  }
164
165
  conn.loadedPlugins.set(pluginName, runnerKeys);
165
- console.log(`[space-manager] Started plugin "${pluginName}" in space "${conn.meta.name}" (${plugin.serverRunners.length} runners)`);
166
+ console.log(`[space-manager] Started plugin "${pluginName}" in space "${conn.meta.label ?? "(unnamed)"}" (${plugin.serverRunners.length} runners)`);
166
167
  } catch (err) {
167
168
  console.error(`[space-manager] Failed to load plugin "${pluginName}" from ${url}:`, err);
168
169
  }
@@ -174,7 +175,7 @@ async function stopPluginRunners(conn, pluginName) {
174
175
  await stopRunner(key);
175
176
  }
176
177
  conn.loadedPlugins.delete(pluginName);
177
- console.log(`[space-manager] Stopped plugin "${pluginName}" in space "${conn.meta.name}"`);
178
+ console.log(`[space-manager] Stopped plugin "${pluginName}" in space "${conn.meta.label ?? "(unnamed)"}"`);
178
179
  }
179
180
  function buildSpaceContext(conn) {
180
181
  return {
@@ -327,6 +327,13 @@ export interface AwarenessUser {
327
327
  name?: string;
328
328
  color?: string;
329
329
  avatar?: string;
330
+ /** Lucide icon name without the `i-lucide-` prefix (e.g. `coffee`).
331
+ * Drives <AAvatar>'s status overlay and optional status-as-avatar
332
+ * rendering. Empty / undefined = no status icon. */
333
+ statusIcon?: string;
334
+ /** Free-form short status text (≤ 80 chars). */
335
+ statusText?: string;
336
+ publicKey?: string;
330
337
  };
331
338
  /** Which document this user is currently viewing */
332
339
  docId?: string;
@@ -342,14 +349,11 @@ export interface AwarenessPeer extends AwarenessUser {
342
349
  }
343
350
  export interface SpaceMeta {
344
351
  id: string;
345
- doc_id: string;
346
352
  name: string;
347
353
  description: string | null;
348
- visibility: 'public' | 'private' | 'invite';
349
- is_hub: boolean;
354
+ visibility: 'public' | 'private';
350
355
  owner_id: string | null;
351
- created_at: number;
352
- updated_at: number;
356
+ public_access?: string | null;
353
357
  }
354
358
  export interface InviteInfo {
355
359
  code: string;
@@ -364,14 +368,16 @@ export interface SavedServer {
364
368
  url: string;
365
369
  label: string;
366
370
  entryDocId?: string;
367
- spacesEnabled?: boolean;
368
371
  cachedSpaces?: SpaceMeta[];
369
- hubDocId?: string;
370
372
  }
371
373
  export interface ServerInfo {
372
374
  name?: string;
373
375
  version?: string;
374
- index_doc_id?: string;
376
+ root_doc_id?: string;
377
+ access?: {
378
+ anonymous?: 'none' | 'observer';
379
+ authenticated?: 'none' | 'observer' | 'viewer' | 'editor';
380
+ };
375
381
  }
376
382
  export interface LogEntry {
377
383
  time: string;
@@ -418,6 +424,14 @@ export interface AbracadabraState {
418
424
  userColorName: Ref<string>;
419
425
  userNeutralColorName: Ref<string>;
420
426
  userCount: Ref<number>;
427
+ /** Lucide icon name (no `i-lucide-` prefix) for the user's status, or
428
+ * empty string when no status is set. Broadcast via awareness. */
429
+ userStatusIcon: Ref<string>;
430
+ /** Free-form short status text (≤ 80 chars). Broadcast via awareness. */
431
+ userStatusText: Ref<string>;
432
+ /** Local-only preference: when true, <AAvatar> renders the status icon
433
+ * in place of the avatar initials for the current user. */
434
+ userStatusAsAvatar: Ref<boolean>;
421
435
  publicKeyB64: Ref<string>;
422
436
  connectionError: Ref<string | null>;
423
437
  /** Explicit identity state machine — prefer over individual booleans. */
@@ -436,17 +450,56 @@ export interface AbracadabraState {
436
450
  currentServerUrl: Ref<string>;
437
451
  savedServers: Ref<SavedServer[]>;
438
452
  currentServerSpaces: Ref<SpaceMeta[]>;
439
- currentServerSpacesEnabled: Ref<boolean>;
440
453
  pendingInviteCode: Ref<string | null>;
441
454
  registry: import('./plugin-registry').PluginRegistry;
442
455
  addLog: (message: string, type?: LogEntry['type']) => void;
443
456
  setUserName: (name: string) => void;
444
457
  setUserColor: (colorName: string) => void;
445
458
  setNeutralColor: (colorName: string) => void;
459
+ /** Set the Lucide icon used as the user's status (without the
460
+ * `i-lucide-` prefix). Pass an empty string to clear. */
461
+ setUserStatusIcon: (icon: string) => void;
462
+ /** Set the user's status text. Pass empty string to clear. */
463
+ setUserStatusText: (text: string) => void;
464
+ /** Toggle whether the local user's status icon replaces their avatar. */
465
+ setUserStatusAsAvatar: (enabled: boolean) => void;
446
466
  setRequirePasskey: (enabled: boolean) => void;
447
467
  claimAccount: () => Promise<boolean | undefined>;
448
468
  loginWithHardware: (credentialIdHint?: string) => Promise<boolean>;
469
+ /** Sign in with username + password. Bounces the WS so the JWT picks up. */
470
+ loginWithPassword: (opts: {
471
+ username: string;
472
+ password: string;
473
+ }) => Promise<void>;
474
+ /** Register + auto-login with username + password. Optional invite code. */
475
+ registerWithPassword: (opts: {
476
+ username: string;
477
+ password: string;
478
+ email?: string;
479
+ displayName?: string;
480
+ inviteCode?: string;
481
+ }) => Promise<void>;
449
482
  logout: () => Promise<void>;
483
+ /** Revoke the current JWT server-side, then clear local identity. */
484
+ logoutServer: () => Promise<void>;
485
+ /** Revoke every JWT for this user, then clear local identity. */
486
+ logoutAll: () => Promise<void>;
487
+ /** Trigger a password-reset email. The endpoint always 202s to avoid leaking identifier existence. */
488
+ requestPasswordReset: (opts: {
489
+ identifier: string;
490
+ }) => Promise<void>;
491
+ /** Complete a password reset using the token from the reset email. */
492
+ confirmPasswordReset: (opts: {
493
+ token: string;
494
+ newPassword: string;
495
+ }) => Promise<void>;
496
+ /** Change the current user's password (requires the current one). */
497
+ changePassword: (opts: {
498
+ currentPassword: string;
499
+ newPassword: string;
500
+ }) => Promise<void>;
501
+ /** Add a password to a key-only account. 409s if one is already set. */
502
+ setPassword: (newPassword: string) => Promise<void>;
450
503
  reconnect: () => void;
451
504
  addServer: (url: string) => Promise<void>;
452
505
  removeServer: (url: string) => void;
@@ -459,7 +512,7 @@ export interface AbracadabraState {
459
512
  visibility?: SpaceMeta['visibility'];
460
513
  id?: string;
461
514
  }) => Promise<SpaceMeta>;
462
- updateSpace: (id: string, opts: Partial<Pick<SpaceMeta, 'name' | 'description' | 'visibility' | 'is_hub'>>) => Promise<SpaceMeta>;
515
+ updateSpace: (id: string, opts: Partial<Pick<SpaceMeta, 'name' | 'description' | 'visibility'>>) => Promise<void>;
463
516
  deleteSpace: (id: string) => Promise<void>;
464
517
  redeemInvite: (code: string) => Promise<void>;
465
518
  createInvite: (opts?: {
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Single source of truth for the hover / focus / press box-shadow halo on
3
+ * every aware-* component wrapper. Applied to the host element via
4
+ * `:style="awareRingStyle({ hover, focus, press })"`.
5
+ *
6
+ * Returns `undefined` when no peer is interacting so the host doesn't paint
7
+ * an empty `box-shadow: none` (which would still defeat any inherent
8
+ * box-shadow on the underlying U* component).
9
+ *
10
+ * Layered intent:
11
+ * - hover : 2 px solid at 50% alpha + outer 4 px wash at 18% alpha → readable on any background
12
+ * - focus : 2 px solid full alpha → strong cursor-attention indicator
13
+ * - press : 3 px solid + 6 px wash + 18 px outer glow → unmistakable tactile signal
14
+ */
15
+ export interface AwareRingInput {
16
+ hover?: string | undefined;
17
+ focus?: string | undefined;
18
+ press?: string | undefined;
19
+ /** Override the wrapper's border-radius. Defaults to var(--ui-radius). */
20
+ radius?: string;
21
+ }
22
+ export declare function awareRingStyle(input: AwareRingInput): Record<string, string> | undefined;
@@ -0,0 +1,16 @@
1
+ function withAlpha(color, pct) {
2
+ return `color-mix(in srgb, ${color} ${pct}%, transparent)`;
3
+ }
4
+ export function awareRingStyle(input) {
5
+ const { hover, focus, press, radius } = input;
6
+ if (!hover && !focus && !press) return void 0;
7
+ const layers = [];
8
+ if (hover) layers.push(`0 0 0 2px ${withAlpha(hover, 50)}`, `0 0 0 4px ${withAlpha(hover, 18)}`);
9
+ if (focus) layers.push(`0 0 0 2px ${focus}`);
10
+ if (press) layers.push(`0 0 0 3px ${press}`, `0 0 0 6px ${withAlpha(press, 33)}`, `0 0 18px 4px ${withAlpha(press, 33)}`);
11
+ return {
12
+ boxShadow: layers.join(", "),
13
+ borderRadius: radius ?? "var(--ui-radius, 0.375rem)",
14
+ transition: "box-shadow 100ms ease, filter 120ms ease"
15
+ };
16
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Compute the pixel coordinates of a character offset inside an `<input>`
3
+ * or `<textarea>`, relative to the element's own padding box.
4
+ *
5
+ * Used to render per-peer caret labels at the right place inside text
6
+ * inputs (the `peers` mode of `<AInput>` / `<ATextarea>`).
7
+ *
8
+ * Implementation uses the well-known "mirror div" technique: copy every
9
+ * text-affecting style from the source element onto a hidden absolutely-
10
+ * positioned div, fill it with the input's text up to the caret position,
11
+ * then measure a 0-width marker that follows. This is the same approach
12
+ * used by `textarea-caret-position` and by every collaborative form
13
+ * library — it stays accurate across font, padding, line-height, RTL,
14
+ * wrapping, and tab characters.
15
+ */
16
+ export interface CaretCoordinates {
17
+ top: number;
18
+ left: number;
19
+ height: number;
20
+ }
21
+ export declare function getCaretCoordinates(el: HTMLInputElement | HTMLTextAreaElement, position: number): CaretCoordinates;
22
+ export interface SelectionRect {
23
+ top: number;
24
+ left: number;
25
+ width: number;
26
+ height: number;
27
+ }
28
+ /**
29
+ * Compute one or more pixel-aligned rectangles covering a character range
30
+ * inside an `<input>` or `<textarea>`. Used by `<APeerCaretLayer>` to
31
+ * highlight remote peers' selections (`start !== end`) the way Google Docs
32
+ * renders remote selections.
33
+ *
34
+ * Returns:
35
+ * - empty array when start === end (caller renders the caret bar instead)
36
+ * - one rect when the range fits on a single line
37
+ * - up to three rects when the range wraps across multiple textarea lines
38
+ * (first-line tail, full middle block, last-line head — same model used
39
+ * by every browser's native selection painter)
40
+ */
41
+ export declare function getSelectionRects(el: HTMLInputElement | HTMLTextAreaElement, start: number, end: number): SelectionRect[];
@@ -0,0 +1,126 @@
1
+ const PROPERTIES = [
2
+ "direction",
3
+ "boxSizing",
4
+ "width",
5
+ "height",
6
+ "overflowX",
7
+ "overflowY",
8
+ "borderTopWidth",
9
+ "borderRightWidth",
10
+ "borderBottomWidth",
11
+ "borderLeftWidth",
12
+ "borderStyle",
13
+ "paddingTop",
14
+ "paddingRight",
15
+ "paddingBottom",
16
+ "paddingLeft",
17
+ "fontStyle",
18
+ "fontVariant",
19
+ "fontWeight",
20
+ "fontStretch",
21
+ "fontSize",
22
+ "fontSizeAdjust",
23
+ "lineHeight",
24
+ "fontFamily",
25
+ "textAlign",
26
+ "textTransform",
27
+ "textIndent",
28
+ "textDecoration",
29
+ "letterSpacing",
30
+ "wordSpacing",
31
+ "tabSize",
32
+ "MozTabSize"
33
+ ];
34
+ export function getCaretCoordinates(el, position) {
35
+ const isInput = el.tagName === "INPUT";
36
+ const div = document.createElement("div");
37
+ div.id = "aa-caret-mirror";
38
+ document.body.appendChild(div);
39
+ const style = div.style;
40
+ const computed = window.getComputedStyle(el);
41
+ style.whiteSpace = isInput ? "nowrap" : "pre-wrap";
42
+ if (!isInput) style.wordWrap = "break-word";
43
+ style.position = "absolute";
44
+ style.visibility = "hidden";
45
+ style.top = "0";
46
+ style.left = "0";
47
+ style.overflow = "hidden";
48
+ for (const prop of PROPERTIES) {
49
+ style[prop] = computed[prop];
50
+ }
51
+ if (isInput) {
52
+ style.lineHeight = computed.height;
53
+ style.overflowX = "hidden";
54
+ style.overflowY = "hidden";
55
+ }
56
+ const value = el.value;
57
+ div.textContent = value.substring(0, position);
58
+ if (isInput) div.textContent = (div.textContent || "").replace(/\s/g, "\xA0");
59
+ const span = document.createElement("span");
60
+ span.textContent = value.substring(position) || ".";
61
+ div.appendChild(span);
62
+ const fontSize = parseInt(computed.fontSize || "14", 10);
63
+ const lineHeightParsed = parseInt(computed.lineHeight || "", 10);
64
+ const lineHeight = Number.isFinite(lineHeightParsed) && lineHeightParsed > 0 ? lineHeightParsed : Math.round(fontSize * 1.4);
65
+ const coords = {
66
+ top: span.offsetTop + parseInt(computed.borderTopWidth || "0", 10),
67
+ left: span.offsetLeft + parseInt(computed.borderLeftWidth || "0", 10),
68
+ height: lineHeight
69
+ };
70
+ if (isInput) {
71
+ const padTop = parseInt(computed.paddingTop || "0", 10);
72
+ const padBottom = parseInt(computed.paddingBottom || "0", 10);
73
+ const inner = el.clientHeight - padTop - padBottom;
74
+ const yOffset = padTop + Math.max(0, (inner - lineHeight) / 2);
75
+ coords.top = yOffset + parseInt(computed.borderTopWidth || "0", 10);
76
+ }
77
+ coords.left -= el.scrollLeft;
78
+ coords.top -= el.scrollTop;
79
+ document.body.removeChild(div);
80
+ return coords;
81
+ }
82
+ export function getSelectionRects(el, start, end) {
83
+ if (start === end) return [];
84
+ const lo = Math.min(start, end);
85
+ const hi = Math.max(start, end);
86
+ const a = getCaretCoordinates(el, lo);
87
+ const b = getCaretCoordinates(el, hi);
88
+ const computed = window.getComputedStyle(el);
89
+ const padL = parseInt(computed.paddingLeft || "0", 10);
90
+ const padR = parseInt(computed.paddingRight || "0", 10);
91
+ const borderL = parseInt(computed.borderLeftWidth || "0", 10);
92
+ const borderR = parseInt(computed.borderRightWidth || "0", 10);
93
+ const innerLeft = borderL + padL;
94
+ const innerRight = el.clientWidth - padR + borderL;
95
+ if (a.top === b.top) {
96
+ return [{
97
+ top: a.top,
98
+ left: a.left,
99
+ width: Math.max(0, b.left - a.left),
100
+ height: a.height
101
+ }];
102
+ }
103
+ const rects = [];
104
+ rects.push({
105
+ top: a.top,
106
+ left: a.left,
107
+ width: Math.max(0, innerRight - a.left),
108
+ height: a.height
109
+ });
110
+ const middleTop = a.top + a.height;
111
+ if (b.top > middleTop) {
112
+ rects.push({
113
+ top: middleTop,
114
+ left: innerLeft,
115
+ width: Math.max(0, innerRight - innerLeft),
116
+ height: b.top - middleTop
117
+ });
118
+ }
119
+ rects.push({
120
+ top: b.top,
121
+ left: innerLeft,
122
+ width: Math.max(0, b.left - innerLeft),
123
+ height: b.height
124
+ });
125
+ return rects;
126
+ }
@@ -13,7 +13,7 @@ export declare function mapContentNavigationItem(item: ContentNavigationItem, op
13
13
  label?: string;
14
14
  to?: string;
15
15
  };
16
- export declare function mapContentNavigation(navigation: ContentNavigationItem[], options?: MapContentNavigationItemOptions): (Omit<ContentNavigationItem, "path" | "title"> & {
16
+ export declare function mapContentNavigation(navigation: ContentNavigationItem[], options?: MapContentNavigationItemOptions): (Omit<ContentNavigationItem, "title" | "path"> & {
17
17
  label?: string;
18
18
  to?: string;
19
19
  })[];