@abraca/nuxt 1.9.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.d.mts +4 -3
- package/dist/module.json +1 -1
- package/dist/module.mjs +9 -1
- package/dist/runtime/components/ADocumentTree.vue +1 -1
- package/dist/runtime/components/AEditor.d.vue.ts +26 -1
- package/dist/runtime/components/AEditor.vue +153 -4
- package/dist/runtime/components/AEditor.vue.d.ts +26 -1
- package/dist/runtime/components/AIdentityModal.d.vue.ts +46 -0
- package/dist/runtime/components/AIdentityModal.vue +157 -0
- package/dist/runtime/components/AIdentityModal.vue.d.ts +46 -0
- package/dist/runtime/components/AMnemonicLoginModal.d.vue.ts +35 -0
- package/dist/runtime/components/AMnemonicLoginModal.vue +173 -0
- package/dist/runtime/components/AMnemonicLoginModal.vue.d.ts +35 -0
- package/dist/runtime/components/ANodePanel.d.vue.ts +29 -2
- package/dist/runtime/components/ANodePanel.vue +148 -27
- package/dist/runtime/components/ANodePanel.vue.d.ts +29 -2
- package/dist/runtime/components/ANodePanelHeader.d.vue.ts +64 -0
- package/dist/runtime/components/ANodePanelHeader.vue +105 -0
- package/dist/runtime/components/ANodePanelHeader.vue.d.ts +64 -0
- package/dist/runtime/components/ANodeSettingsPanel.d.vue.ts +49 -0
- package/dist/runtime/components/ANodeSettingsPanel.vue +59 -0
- package/dist/runtime/components/ANodeSettingsPanel.vue.d.ts +49 -0
- package/dist/runtime/components/ANotificationBell.d.vue.ts +26 -0
- package/dist/runtime/components/ANotificationBell.vue +55 -0
- package/dist/runtime/components/ANotificationBell.vue.d.ts +26 -0
- package/dist/runtime/components/AOfflineSync.d.vue.ts +11 -0
- package/dist/runtime/components/AOfflineSync.vue +217 -0
- package/dist/runtime/components/AOfflineSync.vue.d.ts +11 -0
- package/dist/runtime/components/ARecoveryPhraseDisplay.d.vue.ts +26 -0
- package/dist/runtime/components/ARecoveryPhraseDisplay.vue +94 -0
- package/dist/runtime/components/ARecoveryPhraseDisplay.vue.d.ts +26 -0
- package/dist/runtime/components/AServerInfoModal.d.vue.ts +43 -0
- package/dist/runtime/components/AServerInfoModal.vue +150 -0
- package/dist/runtime/components/AServerInfoModal.vue.d.ts +43 -0
- package/dist/runtime/components/ASpaceFormModal.vue +1 -1
- package/dist/runtime/components/aware/AAccordion.d.vue.ts +25 -0
- package/dist/runtime/components/aware/AAccordion.vue +107 -0
- package/dist/runtime/components/aware/AAccordion.vue.d.ts +25 -0
- package/dist/runtime/components/aware/AArea.vue +24 -11
- package/dist/runtime/components/aware/AAvatar.d.vue.ts +6 -0
- package/dist/runtime/components/aware/AAvatar.vue +33 -3
- package/dist/runtime/components/aware/AAvatar.vue.d.ts +6 -0
- package/dist/runtime/components/aware/AAvatarGroup.d.vue.ts +10 -0
- package/dist/runtime/components/aware/AAvatarGroup.vue +30 -0
- package/dist/runtime/components/aware/AAvatarGroup.vue.d.ts +10 -0
- package/dist/runtime/components/aware/AButton.d.vue.ts +4 -2
- package/dist/runtime/components/aware/AButton.vue +46 -14
- package/dist/runtime/components/aware/AButton.vue.d.ts +4 -2
- package/dist/runtime/components/aware/ACalendar.d.vue.ts +17 -0
- package/dist/runtime/components/aware/ACalendar.vue +145 -0
- package/dist/runtime/components/aware/ACalendar.vue.d.ts +17 -0
- package/dist/runtime/components/aware/ACarousel.d.vue.ts +25 -0
- package/dist/runtime/components/aware/ACarousel.vue +39 -0
- package/dist/runtime/components/aware/ACarousel.vue.d.ts +25 -0
- package/dist/runtime/components/aware/ACheckbox.d.vue.ts +11 -0
- package/dist/runtime/components/aware/ACheckbox.vue +74 -0
- package/dist/runtime/components/aware/ACheckbox.vue.d.ts +11 -0
- package/dist/runtime/components/aware/ACheckboxGroup.d.vue.ts +27 -0
- package/dist/runtime/components/aware/ACheckboxGroup.vue +79 -0
- package/dist/runtime/components/aware/ACheckboxGroup.vue.d.ts +27 -0
- package/dist/runtime/components/aware/ACollapsible.d.vue.ts +25 -0
- package/dist/runtime/components/aware/ACollapsible.vue +45 -0
- package/dist/runtime/components/aware/ACollapsible.vue.d.ts +25 -0
- package/dist/runtime/components/aware/AColorPicker.d.vue.ts +15 -0
- package/dist/runtime/components/aware/AColorPicker.vue +48 -0
- package/dist/runtime/components/aware/AColorPicker.vue.d.ts +15 -0
- package/dist/runtime/components/aware/ACommandPalette.d.vue.ts +33 -0
- package/dist/runtime/components/aware/ACommandPalette.vue +123 -0
- package/dist/runtime/components/aware/ACommandPalette.vue.d.ts +33 -0
- package/dist/runtime/components/aware/AContextMenu.d.vue.ts +25 -0
- package/dist/runtime/components/aware/AContextMenu.vue +63 -0
- package/dist/runtime/components/aware/AContextMenu.vue.d.ts +25 -0
- package/dist/runtime/components/aware/ADrawer.d.vue.ts +25 -0
- package/dist/runtime/components/aware/ADrawer.vue +57 -0
- package/dist/runtime/components/aware/ADrawer.vue.d.ts +25 -0
- package/dist/runtime/components/aware/ADropdownMenu.d.vue.ts +25 -0
- package/dist/runtime/components/aware/ADropdownMenu.vue +63 -0
- package/dist/runtime/components/aware/ADropdownMenu.vue.d.ts +25 -0
- package/dist/runtime/components/aware/AFileUpload.d.vue.ts +27 -0
- package/dist/runtime/components/aware/AFileUpload.vue +67 -0
- package/dist/runtime/components/aware/AFileUpload.vue.d.ts +27 -0
- package/dist/runtime/components/aware/AFollowBar.d.vue.ts +21 -0
- package/dist/runtime/components/aware/AFollowBar.vue +62 -0
- package/dist/runtime/components/aware/AFollowBar.vue.d.ts +21 -0
- package/dist/runtime/components/aware/AFollowScroll.d.vue.ts +7 -0
- package/dist/runtime/components/aware/AFollowScroll.vue +17 -0
- package/dist/runtime/components/aware/AFollowScroll.vue.d.ts +7 -0
- package/dist/runtime/components/aware/AFormSync.d.vue.ts +21 -0
- package/dist/runtime/components/aware/AFormSync.vue +52 -0
- package/dist/runtime/components/aware/AFormSync.vue.d.ts +21 -0
- package/dist/runtime/components/aware/AGlobalFocusLayer.d.vue.ts +3 -0
- package/dist/runtime/components/aware/AGlobalFocusLayer.vue +90 -0
- package/dist/runtime/components/aware/AGlobalFocusLayer.vue.d.ts +3 -0
- package/dist/runtime/components/aware/AHoverItem.d.vue.ts +27 -0
- package/dist/runtime/components/aware/AHoverItem.vue +124 -0
- package/dist/runtime/components/aware/AHoverItem.vue.d.ts +27 -0
- package/dist/runtime/components/aware/AInput.d.vue.ts +12 -2
- package/dist/runtime/components/aware/AInput.vue +72 -19
- package/dist/runtime/components/aware/AInput.vue.d.ts +12 -2
- package/dist/runtime/components/aware/AInputMenu.d.vue.ts +17 -0
- package/dist/runtime/components/aware/AInputMenu.vue +138 -0
- package/dist/runtime/components/aware/AInputMenu.vue.d.ts +17 -0
- package/dist/runtime/components/aware/AInputNumber.d.vue.ts +15 -0
- package/dist/runtime/components/aware/AInputNumber.vue +67 -0
- package/dist/runtime/components/aware/AInputNumber.vue.d.ts +15 -0
- package/dist/runtime/components/aware/AInputTags.d.vue.ts +15 -0
- package/dist/runtime/components/aware/AInputTags.vue +67 -0
- package/dist/runtime/components/aware/AInputTags.vue.d.ts +15 -0
- package/dist/runtime/components/aware/AKeyHint.d.vue.ts +3 -0
- package/dist/runtime/components/aware/AKeyHint.vue +23 -0
- package/dist/runtime/components/aware/AKeyHint.vue.d.ts +3 -0
- package/dist/runtime/components/aware/AMedia.d.vue.ts +19 -0
- package/dist/runtime/components/aware/AMedia.vue +85 -0
- package/dist/runtime/components/aware/AMedia.vue.d.ts +19 -0
- package/dist/runtime/components/aware/AModal.d.vue.ts +33 -0
- package/dist/runtime/components/aware/AModal.vue +110 -0
- package/dist/runtime/components/aware/AModal.vue.d.ts +33 -0
- package/dist/runtime/components/aware/ANavigationMenu.d.vue.ts +25 -0
- package/dist/runtime/components/aware/ANavigationMenu.vue +82 -0
- package/dist/runtime/components/aware/ANavigationMenu.vue.d.ts +25 -0
- package/dist/runtime/components/aware/APagination.d.vue.ts +13 -0
- package/dist/runtime/components/aware/APagination.vue +53 -0
- package/dist/runtime/components/aware/APagination.vue.d.ts +13 -0
- package/dist/runtime/components/aware/APeerCaretLayer.d.vue.ts +10 -0
- package/dist/runtime/components/aware/APeerCaretLayer.vue +133 -0
- package/dist/runtime/components/aware/APeerCaretLayer.vue.d.ts +10 -0
- package/dist/runtime/components/aware/APinInput.d.vue.ts +15 -0
- package/dist/runtime/components/aware/APinInput.vue +48 -0
- package/dist/runtime/components/aware/APinInput.vue.d.ts +15 -0
- package/dist/runtime/components/aware/APopover.d.vue.ts +25 -0
- package/dist/runtime/components/aware/APopover.vue +57 -0
- package/dist/runtime/components/aware/APopover.vue.d.ts +25 -0
- package/dist/runtime/components/aware/APresenceBlobs.d.vue.ts +3 -0
- package/dist/runtime/components/aware/APresenceBlobs.vue +69 -0
- package/dist/runtime/components/aware/APresenceBlobs.vue.d.ts +3 -0
- package/dist/runtime/components/aware/APresenceCursors.d.vue.ts +20 -0
- package/dist/runtime/components/aware/APresenceCursors.vue +47 -0
- package/dist/runtime/components/aware/APresenceCursors.vue.d.ts +20 -0
- package/dist/runtime/components/aware/ARadioGroup.d.vue.ts +27 -0
- package/dist/runtime/components/aware/ARadioGroup.vue +86 -0
- package/dist/runtime/components/aware/ARadioGroup.vue.d.ts +27 -0
- package/dist/runtime/components/aware/AScroll.d.vue.ts +25 -0
- package/dist/runtime/components/aware/AScroll.vue +87 -0
- package/dist/runtime/components/aware/AScroll.vue.d.ts +25 -0
- package/dist/runtime/components/aware/ASelect.d.vue.ts +12 -2
- package/dist/runtime/components/aware/ASelect.vue +146 -22
- package/dist/runtime/components/aware/ASelect.vue.d.ts +12 -2
- package/dist/runtime/components/aware/ASelectMenu.d.vue.ts +17 -0
- package/dist/runtime/components/aware/ASelectMenu.vue +139 -0
- package/dist/runtime/components/aware/ASelectMenu.vue.d.ts +17 -0
- package/dist/runtime/components/aware/ASlideover.d.vue.ts +33 -0
- package/dist/runtime/components/aware/ASlideover.vue +110 -0
- package/dist/runtime/components/aware/ASlideover.vue.d.ts +33 -0
- package/dist/runtime/components/aware/ASlider.d.vue.ts +19 -0
- package/dist/runtime/components/aware/ASlider.vue +77 -0
- package/dist/runtime/components/aware/ASlider.vue.d.ts +19 -0
- package/dist/runtime/components/aware/AStepper.d.vue.ts +25 -0
- package/dist/runtime/components/aware/AStepper.vue +82 -0
- package/dist/runtime/components/aware/AStepper.vue.d.ts +25 -0
- package/dist/runtime/components/aware/ASwitch.d.vue.ts +11 -0
- package/dist/runtime/components/aware/ASwitch.vue +75 -0
- package/dist/runtime/components/aware/ASwitch.vue.d.ts +11 -0
- package/dist/runtime/components/aware/ATable.d.vue.ts +23 -0
- package/dist/runtime/components/aware/ATable.vue +97 -0
- package/dist/runtime/components/aware/ATable.vue.d.ts +23 -0
- package/dist/runtime/components/aware/ATabs.d.vue.ts +27 -0
- package/dist/runtime/components/aware/ATabs.vue +128 -0
- package/dist/runtime/components/aware/ATabs.vue.d.ts +27 -0
- package/dist/runtime/components/aware/ATextarea.d.vue.ts +12 -2
- package/dist/runtime/components/aware/ATextarea.vue +72 -19
- package/dist/runtime/components/aware/ATextarea.vue.d.ts +12 -2
- package/dist/runtime/components/aware/AToggleGroup.d.vue.ts +27 -0
- package/dist/runtime/components/aware/AToggleGroup.vue +79 -0
- package/dist/runtime/components/aware/AToggleGroup.vue.d.ts +27 -0
- package/dist/runtime/components/aware/ATree.d.vue.ts +27 -0
- package/dist/runtime/components/aware/ATree.vue +111 -0
- package/dist/runtime/components/aware/ATree.vue.d.ts +27 -0
- package/dist/runtime/components/chat/AChatPanel.d.vue.ts +6 -6
- package/dist/runtime/components/chat/AChatPanel.vue.d.ts +6 -6
- package/dist/runtime/components/chat/ANodeChatPanel.d.vue.ts +42 -0
- package/dist/runtime/components/chat/ANodeChatPanel.vue +53 -0
- package/dist/runtime/components/chat/ANodeChatPanel.vue.d.ts +42 -0
- package/dist/runtime/components/docs/ADocsSearch.d.vue.ts +2 -2
- package/dist/runtime/components/docs/ADocsSearch.vue.d.ts +2 -2
- package/dist/runtime/components/docs/ADocsSearchButton.d.vue.ts +3 -3
- package/dist/runtime/components/docs/ADocsSearchButton.vue.d.ts +3 -3
- package/dist/runtime/components/editor/AEditorRedoButton.d.vue.ts +26 -0
- package/dist/runtime/components/editor/AEditorRedoButton.vue +38 -0
- package/dist/runtime/components/editor/AEditorRedoButton.vue.d.ts +26 -0
- package/dist/runtime/components/editor/AEditorUndoButton.d.vue.ts +26 -0
- package/dist/runtime/components/editor/AEditorUndoButton.vue +38 -0
- package/dist/runtime/components/editor/AEditorUndoButton.vue.d.ts +26 -0
- package/dist/runtime/components/editor/AIconPickerPopover.d.vue.ts +24 -0
- package/dist/runtime/components/editor/AIconPickerPopover.vue +113 -0
- package/dist/runtime/components/editor/AIconPickerPopover.vue.d.ts +24 -0
- package/dist/runtime/components/editor/ANodeInlineLabel.d.vue.ts +24 -0
- package/dist/runtime/components/editor/ANodeInlineLabel.vue +101 -0
- package/dist/runtime/components/editor/ANodeInlineLabel.vue.d.ts +24 -0
- package/dist/runtime/components/renderers/ADocLoadError.d.vue.ts +3 -0
- package/dist/runtime/components/renderers/ADocLoadError.vue +11 -0
- package/dist/runtime/components/renderers/ADocLoadError.vue.d.ts +3 -0
- package/dist/runtime/components/renderers/ADocLoadingSkeleton.d.vue.ts +3 -0
- package/dist/runtime/components/renderers/ADocLoadingSkeleton.vue +5 -0
- package/dist/runtime/components/renderers/ADocLoadingSkeleton.vue.d.ts +3 -0
- package/dist/runtime/components/renderers/AOverviewRenderer.d.vue.ts +22 -0
- package/dist/runtime/components/renderers/AOverviewRenderer.vue +1041 -0
- package/dist/runtime/components/renderers/AOverviewRenderer.vue.d.ts +22 -0
- package/dist/runtime/components/renderers/AProseRenderer.d.vue.ts +23 -0
- package/dist/runtime/components/renderers/AProseRenderer.vue +31 -0
- package/dist/runtime/components/renderers/AProseRenderer.vue.d.ts +23 -0
- package/dist/runtime/components/renderers/ASheetsRenderer.client.d.vue.ts +19 -0
- package/dist/runtime/components/renderers/ASheetsRenderer.client.vue +865 -0
- package/dist/runtime/components/renderers/ASheetsRenderer.client.vue.d.ts +19 -0
- package/dist/runtime/components/renderers/calendar/ACalendarDayCell.d.vue.ts +14 -0
- package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue +45 -15
- package/dist/runtime/components/renderers/calendar/ACalendarDayCell.vue.d.ts +14 -0
- package/dist/runtime/components/renderers/calendar/ACalendarDayView.d.vue.ts +15 -0
- package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue +93 -20
- package/dist/runtime/components/renderers/calendar/ACalendarDayView.vue.d.ts +15 -0
- package/dist/runtime/components/renderers/calendar/ACalendarEventChip.d.vue.ts +9 -0
- package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue +31 -2
- package/dist/runtime/components/renderers/calendar/ACalendarEventChip.vue.d.ts +9 -0
- package/dist/runtime/components/renderers/calendar/ACalendarToolbar.d.vue.ts +4 -4
- package/dist/runtime/components/renderers/calendar/ACalendarToolbar.vue.d.ts +4 -4
- package/dist/runtime/components/renderers/calendar/ACalendarWeekView.d.vue.ts +15 -0
- package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue +94 -21
- package/dist/runtime/components/renderers/calendar/ACalendarWeekView.vue.d.ts +15 -0
- package/dist/runtime/components/renderers/media/MediaTransportBar.d.vue.ts +2 -2
- package/dist/runtime/components/renderers/media/MediaTransportBar.vue.d.ts +2 -2
- package/dist/runtime/components/renderers/sheets/ASheetsCell.d.vue.ts +45 -0
- package/dist/runtime/components/renderers/sheets/ASheetsCell.vue +123 -0
- package/dist/runtime/components/renderers/sheets/ASheetsCell.vue.d.ts +45 -0
- package/dist/runtime/components/renderers/sheets/ASheetsGrid.d.vue.ts +111 -0
- package/dist/runtime/components/renderers/sheets/ASheetsGrid.vue +737 -0
- package/dist/runtime/components/renderers/sheets/ASheetsGrid.vue.d.ts +111 -0
- package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.d.vue.ts +26 -0
- package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.vue +100 -0
- package/dist/runtime/components/renderers/sheets/ASheetsMobileActionBar.vue.d.ts +26 -0
- package/dist/runtime/components/renderers/sheets/ASheetsToolbar.d.vue.ts +48 -0
- package/dist/runtime/components/renderers/sheets/ASheetsToolbar.vue +243 -0
- package/dist/runtime/components/renderers/sheets/ASheetsToolbar.vue.d.ts +48 -0
- package/dist/runtime/components/renderers/table/cells/ATableCellColor.d.vue.ts +1 -0
- package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue +13 -32
- package/dist/runtime/components/renderers/table/cells/ATableCellColor.vue.d.ts +1 -0
- package/dist/runtime/components/renderers/timeline/ATimelineBar.d.vue.ts +6 -0
- package/dist/runtime/components/renderers/timeline/ATimelineBar.vue +34 -4
- package/dist/runtime/components/renderers/timeline/ATimelineBar.vue.d.ts +6 -0
- package/dist/runtime/components/renderers/timeline/ATimelineBarArea.d.vue.ts +16 -0
- package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue +14 -3
- package/dist/runtime/components/renderers/timeline/ATimelineBarArea.vue.d.ts +16 -0
- package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.d.vue.ts +13 -1
- package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue +114 -47
- package/dist/runtime/components/renderers/timeline/ATimelineLabelPanel.vue.d.ts +13 -1
- package/dist/runtime/components/renderers/timeline/ATimelineMilestone.d.vue.ts +4 -0
- package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue +21 -4
- package/dist/runtime/components/renderers/timeline/ATimelineMilestone.vue.d.ts +4 -0
- package/dist/runtime/components/renderers/timeline/ATimelineToolbar.d.vue.ts +2 -2
- package/dist/runtime/components/renderers/timeline/ATimelineToolbar.vue.d.ts +2 -2
- package/dist/runtime/components/settings/ASettingsSpacesPanel.vue +7 -25
- package/dist/runtime/components/shell/ADocPanelSettings.d.vue.ts +3 -3
- package/dist/runtime/components/shell/ADocPanelSettings.vue.d.ts +3 -3
- package/dist/runtime/components/shell/ASyncStatus.d.vue.ts +1 -1
- package/dist/runtime/components/shell/ASyncStatus.vue.d.ts +1 -1
- package/dist/runtime/components/shell/AUserMenu.d.vue.ts +2 -2
- package/dist/runtime/components/shell/AUserMenu.vue.d.ts +2 -2
- package/dist/runtime/components/shell/AWelcomeScreen.d.vue.ts +1 -1
- package/dist/runtime/components/shell/AWelcomeScreen.vue.d.ts +1 -1
- package/dist/runtime/composables/useAACaret.d.ts +29 -0
- package/dist/runtime/composables/useAACaret.js +64 -0
- package/dist/runtime/composables/useAAEphemeral.d.ts +32 -0
- package/dist/runtime/composables/useAAEphemeral.js +33 -0
- package/dist/runtime/composables/useAAField.d.ts +10 -2
- package/dist/runtime/composables/useAAField.js +31 -2
- package/dist/runtime/composables/useAAFieldValue.d.ts +26 -0
- package/dist/runtime/composables/useAAFieldValue.js +32 -0
- package/dist/runtime/composables/useAAFocus.d.ts +68 -0
- package/dist/runtime/composables/useAAFocus.js +174 -0
- package/dist/runtime/composables/useAAFollowAnchor.d.ts +25 -0
- package/dist/runtime/composables/useAAFollowAnchor.js +69 -0
- package/dist/runtime/composables/useAAFollowPeer.d.ts +29 -0
- package/dist/runtime/composables/useAAFollowPeer.js +75 -0
- package/dist/runtime/composables/useAAKey.d.ts +22 -0
- package/dist/runtime/composables/useAAKey.js +24 -0
- package/dist/runtime/composables/useAAPointer.d.ts +30 -0
- package/dist/runtime/composables/useAAPointer.js +53 -0
- package/dist/runtime/composables/useAAUIState.d.ts +29 -0
- package/dist/runtime/composables/useAAUIState.js +28 -0
- package/dist/runtime/composables/useAAViewport.d.ts +22 -0
- package/dist/runtime/composables/useAAViewport.js +50 -0
- package/dist/runtime/composables/useAbraAdmin.d.ts +54 -0
- package/dist/runtime/composables/useAbraAdmin.js +115 -0
- package/dist/runtime/composables/useAbracadabraAuth.d.ts +8 -0
- package/dist/runtime/composables/useAbracadabraAuth.js +8 -0
- package/dist/runtime/composables/useAggregatedPresence.d.ts +23 -0
- package/dist/runtime/composables/useAggregatedPresence.js +140 -0
- package/dist/runtime/composables/useChat.d.ts +16 -2
- package/dist/runtime/composables/useChat.js +257 -66
- package/dist/runtime/composables/useChatUsers.d.ts +2 -0
- package/dist/runtime/composables/useChatUsers.js +2 -1
- package/dist/runtime/composables/useDocLookup.d.ts +4 -0
- package/dist/runtime/composables/useDocLookup.js +25 -0
- package/dist/runtime/composables/useDocSnapshots.d.ts +79 -0
- package/dist/runtime/composables/useDocSnapshots.js +234 -0
- package/dist/runtime/composables/useEditorDragHandle.d.ts +7 -0
- package/dist/runtime/composables/useEditorDragHandle.js +19 -1
- package/dist/runtime/composables/useEditorSuggestions.js +26 -1
- package/dist/runtime/composables/useEditorToolbar.js +9 -1
- package/dist/runtime/composables/useEmailVerification.d.ts +33 -0
- package/dist/runtime/composables/useEmailVerification.js +58 -0
- package/dist/runtime/composables/useIdentityDoc.js +0 -3
- package/dist/runtime/composables/useItemPresence.d.ts +47 -0
- package/dist/runtime/composables/useItemPresence.js +73 -0
- package/dist/runtime/composables/useResizableWidth.d.ts +24 -0
- package/dist/runtime/composables/useResizableWidth.js +87 -0
- package/dist/runtime/composables/useServerInfo.d.ts +17 -2
- package/dist/runtime/composables/useServerInfo.js +30 -6
- package/dist/runtime/composables/useServerSearch.d.ts +36 -0
- package/dist/runtime/composables/useServerSearch.js +91 -0
- package/dist/runtime/composables/useServerTrash.d.ts +67 -0
- package/dist/runtime/composables/useServerTrash.js +128 -0
- package/dist/runtime/composables/useSheetsClipboard.d.ts +42 -0
- package/dist/runtime/composables/useSheetsClipboard.js +109 -0
- package/dist/runtime/composables/useSheetsFormulas.d.ts +38 -0
- package/dist/runtime/composables/useSheetsFormulas.js +725 -0
- package/dist/runtime/composables/useSheetsSelection.d.ts +68 -0
- package/dist/runtime/composables/useSheetsSelection.js +390 -0
- package/dist/runtime/composables/useSheetsView.d.ts +31 -0
- package/dist/runtime/composables/useSheetsView.js +77 -0
- package/dist/runtime/composables/useSpaceConnections.d.ts +43 -0
- package/dist/runtime/composables/useSpaceConnections.js +72 -0
- package/dist/runtime/composables/useSpaces.d.ts +1 -3
- package/dist/runtime/composables/useSpaces.js +2 -5
- package/dist/runtime/composables/useTiptapHistory.d.ts +22 -0
- package/dist/runtime/composables/useTiptapHistory.js +12 -0
- package/dist/runtime/composables/useTreeExpansion.d.ts +28 -0
- package/dist/runtime/composables/useTreeExpansion.js +94 -0
- package/dist/runtime/composables/useYDoc.js +12 -1
- package/dist/runtime/extensions/button.d.ts +3 -0
- package/dist/runtime/extensions/button.js +62 -0
- package/dist/runtime/extensions/color-swatch.d.ts +2 -0
- package/dist/runtime/extensions/color-swatch.js +34 -0
- package/dist/runtime/extensions/diff.d.ts +2 -0
- package/dist/runtime/extensions/diff.js +40 -0
- package/dist/runtime/extensions/divider.d.ts +2 -0
- package/dist/runtime/extensions/divider.js +33 -0
- package/dist/runtime/extensions/embed.d.ts +2 -0
- package/dist/runtime/extensions/embed.js +40 -0
- package/dist/runtime/extensions/figure.d.ts +2 -0
- package/dist/runtime/extensions/figure.js +49 -0
- package/dist/runtime/extensions/math.d.ts +15 -0
- package/dist/runtime/extensions/math.js +66 -0
- package/dist/runtime/extensions/progress.d.ts +2 -0
- package/dist/runtime/extensions/progress.js +43 -0
- package/dist/runtime/extensions/quote.d.ts +2 -0
- package/dist/runtime/extensions/quote.js +39 -0
- package/dist/runtime/extensions/spoiler.d.ts +2 -0
- package/dist/runtime/extensions/spoiler.js +36 -0
- package/dist/runtime/extensions/stat.d.ts +3 -0
- package/dist/runtime/extensions/stat.js +58 -0
- package/dist/runtime/extensions/video.d.ts +2 -0
- package/dist/runtime/extensions/video.js +40 -0
- package/dist/runtime/extensions/views/ButtonGroupView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/ButtonGroupView.vue +25 -0
- package/dist/runtime/extensions/views/ButtonGroupView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/ButtonView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/ButtonView.vue +171 -0
- package/dist/runtime/extensions/views/ButtonView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/ColorSwatchView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/ColorSwatchView.vue +134 -0
- package/dist/runtime/extensions/views/ColorSwatchView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/DiffView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/DiffView.vue +163 -0
- package/dist/runtime/extensions/views/DiffView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/DividerView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/DividerView.vue +40 -0
- package/dist/runtime/extensions/views/DividerView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/EmbedView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/EmbedView.vue +166 -0
- package/dist/runtime/extensions/views/EmbedView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/FigureView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/FigureView.vue +122 -0
- package/dist/runtime/extensions/views/FigureView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/FileNodeView.vue +21 -24
- package/dist/runtime/extensions/views/MathBlockView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/MathBlockView.vue +151 -0
- package/dist/runtime/extensions/views/MathBlockView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/MathInlineView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/MathInlineView.vue +149 -0
- package/dist/runtime/extensions/views/MathInlineView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/MetaFieldView.vue +1129 -550
- package/dist/runtime/extensions/views/ProgressView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/ProgressView.vue +156 -0
- package/dist/runtime/extensions/views/ProgressView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/QuoteView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/QuoteView.vue +128 -0
- package/dist/runtime/extensions/views/QuoteView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/SpoilerView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/SpoilerView.vue +62 -0
- package/dist/runtime/extensions/views/SpoilerView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/StatGroupView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/StatGroupView.vue +25 -0
- package/dist/runtime/extensions/views/StatGroupView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/StatView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/StatView.vue +89 -0
- package/dist/runtime/extensions/views/StatView.vue.d.ts +4 -0
- package/dist/runtime/extensions/views/VideoView.d.vue.ts +4 -0
- package/dist/runtime/extensions/views/VideoView.vue +190 -0
- package/dist/runtime/extensions/views/VideoView.vue.d.ts +4 -0
- package/dist/runtime/locale.d.ts +133 -0
- package/dist/runtime/locale.js +121 -2
- package/dist/runtime/plugin-abracadabra.client.js +233 -36
- package/dist/runtime/plugin-abracadabra.server.js +0 -1
- package/dist/runtime/plugins/core.plugin.js +73 -4
- package/dist/runtime/server/plugins/abracadabra-service.js +1 -1
- package/dist/runtime/server/utils/rpcHandler.d.ts +74 -0
- package/dist/runtime/server/utils/rpcHandler.js +74 -0
- package/dist/runtime/server/utils/spaceManager.js +10 -9
- package/dist/runtime/types.d.ts +63 -10
- package/dist/runtime/utils/awareRingStyle.d.ts +22 -0
- package/dist/runtime/utils/awareRingStyle.js +16 -0
- package/dist/runtime/utils/caretCoordinates.d.ts +41 -0
- package/dist/runtime/utils/caretCoordinates.js +126 -0
- package/dist/runtime/utils/content.d.ts +1 -1
- package/dist/runtime/utils/docTypes.js +44 -13
- package/dist/runtime/utils/domPath.d.ts +42 -0
- package/dist/runtime/utils/domPath.js +89 -0
- package/dist/runtime/utils/loadKatex.d.ts +1 -0
- package/dist/runtime/utils/loadKatex.js +29 -0
- package/dist/runtime/utils/lucideIcons.d.ts +16 -0
- package/dist/runtime/utils/lucideIcons.js +451 -0
- package/dist/runtime/utils/time.d.ts +15 -0
- package/dist/runtime/utils/time.js +5 -0
- package/dist/types.d.mts +4 -0
- package/package.json +27 -16
package/dist/module.d.mts
CHANGED
|
@@ -8,6 +8,8 @@ export { DocSeoOptions } from '../dist/runtime/composables/useDocSeo.js';
|
|
|
8
8
|
export { DocDragState } from '../dist/runtime/composables/useDocDragBus.js';
|
|
9
9
|
export { ParsedMessage, TextSegment, parseMessageContent, previewMessageContent, renderMessageSegments } from '../dist/runtime/utils/chatContent.js';
|
|
10
10
|
export { DupEntry, duplicateDocContent, duplicateDocTree } from '../dist/runtime/utils/duplicateDocContent.js';
|
|
11
|
+
export { AuditLogEntry, AuditQueryOpts, AuditVerifyResult, DocSearchHit, ReadyzStatus } from '@abraca/dabra';
|
|
12
|
+
export { ServerTrashEntry } from '../dist/runtime/composables/useServerTrash.js';
|
|
11
13
|
export { SlugMap, SlugMapEntry, buildSlugMap, isUUID, slugify } from '../dist/runtime/utils/slugify.js';
|
|
12
14
|
export { avatarBorderStyle, avatarGradient, avatarStyleFromName } from '../dist/runtime/utils/avatarStyle.js';
|
|
13
15
|
export { COLOR_PALETTES, ColorPalette, ColorShade, findPaletteByHex } from '../dist/runtime/utils/colorPalettes.js';
|
|
@@ -87,11 +89,10 @@ interface ModuleOptions {
|
|
|
87
89
|
/**
|
|
88
90
|
* Root document ID to connect to on boot.
|
|
89
91
|
* When set, skips server-info / spaces discovery and connects directly.
|
|
90
|
-
* Useful when your server uses spaces and you know the hub or space doc ID.
|
|
91
92
|
* Can be overridden at runtime via NUXT_PUBLIC_ABRACADABRA_ENTRY_DOC_ID.
|
|
92
93
|
*
|
|
93
94
|
* Discovery priority (first non-empty wins):
|
|
94
|
-
* entryDocId >
|
|
95
|
+
* entryDocId > saved server entryDocId > first Space (kind="space" top-level doc)
|
|
95
96
|
*/
|
|
96
97
|
entryDocId?: string;
|
|
97
98
|
/**
|
|
@@ -267,7 +268,7 @@ interface ModuleOptions {
|
|
|
267
268
|
publicKey?: string;
|
|
268
269
|
/** Ed25519 private key (base64url). Stored in private runtime config only. */
|
|
269
270
|
privateKey?: string;
|
|
270
|
-
/** Root document ID to connect to. Defaults to the server's
|
|
271
|
+
/** Root document ID to connect to. Defaults to the server's root_doc_id. */
|
|
271
272
|
rootDocId?: string;
|
|
272
273
|
/** Disable the service provider even if keys are present. Default: false. */
|
|
273
274
|
disabled?: boolean;
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -204,7 +204,11 @@ const module$1 = defineNuxtModule({
|
|
|
204
204
|
"lowlight",
|
|
205
205
|
// Yjs + provider deps (shared globals + client plugin)
|
|
206
206
|
"yjs",
|
|
207
|
-
|
|
207
|
+
// NOTE: `@abraca/dabra` deliberately NOT pre-bundled. esbuild treeshakes
|
|
208
|
+
// its `export {}` aggregate in dist/abracadabra-provider.esm.js so re-exports
|
|
209
|
+
// from internal modules (ChannelKeyResolver, decryptChatContent, foldRecords,
|
|
210
|
+
// recordFromYAny, isEncryptedContent) get dropped — useChat.ts then fails to
|
|
211
|
+
// import them. Excluding from optimizeDeps means Vite serves it native ESM.
|
|
208
212
|
"@noble/ed25519",
|
|
209
213
|
"@noble/hashes/sha512",
|
|
210
214
|
// Composable + util deps
|
|
@@ -219,6 +223,10 @@ const module$1 = defineNuxtModule({
|
|
|
219
223
|
nuxt.options.vite.optimizeDeps.include = [
|
|
220
224
|
.../* @__PURE__ */ new Set([...includeList, ...prebundleDeps])
|
|
221
225
|
];
|
|
226
|
+
const existingExclude = nuxt.options.vite.optimizeDeps.exclude ?? [];
|
|
227
|
+
nuxt.options.vite.optimizeDeps.exclude = [
|
|
228
|
+
.../* @__PURE__ */ new Set([...existingExclude, "@abraca/dabra"])
|
|
229
|
+
];
|
|
222
230
|
if (options.features?.editor !== false) {
|
|
223
231
|
nuxt.options.css.push(resolver.resolve("./runtime/assets/editor.css"));
|
|
224
232
|
}
|
|
@@ -254,7 +254,7 @@ function createDirectly(parentId) {
|
|
|
254
254
|
if (parentId) {
|
|
255
255
|
expandedIds.value.add(parentId);
|
|
256
256
|
expandedIds.value = new Set(expandedIds.value);
|
|
257
|
-
client.value?.createChild(parentId, { child_id: id }).catch(() => {
|
|
257
|
+
client.value?.createChild(parentId, { child_id: id, kind: "page" }).catch(() => {
|
|
258
258
|
});
|
|
259
259
|
}
|
|
260
260
|
emit("navigate", id);
|
|
@@ -23,6 +23,12 @@ type __VLS_Props = {
|
|
|
23
23
|
parentType?: string;
|
|
24
24
|
/** Override metaSchema directly instead of resolving from parentType */
|
|
25
25
|
metaSchema?: MetaField[];
|
|
26
|
+
/**
|
|
27
|
+
* Layout variant. 'doc' (default) is the standard rich-text layout.
|
|
28
|
+
* 'prose' switches to a narrow readable measure with serif typography
|
|
29
|
+
* for long-form writing. Same TipTap engine and extensions.
|
|
30
|
+
*/
|
|
31
|
+
variant?: 'doc' | 'prose';
|
|
26
32
|
};
|
|
27
33
|
type __VLS_ModelProps = {
|
|
28
34
|
modelValue?: any;
|
|
@@ -37,11 +43,29 @@ declare var __VLS_18: {
|
|
|
37
43
|
docId?: string | undefined;
|
|
38
44
|
}[];
|
|
39
45
|
ready: boolean;
|
|
46
|
+
}, __VLS_27: {
|
|
47
|
+
editor: any;
|
|
48
|
+
}, __VLS_35: {
|
|
49
|
+
editor: any;
|
|
50
|
+
}, __VLS_43: {
|
|
51
|
+
editor: any;
|
|
52
|
+
}, __VLS_46: {
|
|
53
|
+
editor: any;
|
|
40
54
|
};
|
|
41
55
|
type __VLS_Slots = {} & {
|
|
42
56
|
default?: (props: typeof __VLS_18) => any;
|
|
57
|
+
} & {
|
|
58
|
+
link?: (props: typeof __VLS_27) => any;
|
|
59
|
+
} & {
|
|
60
|
+
'doc-link'?: (props: typeof __VLS_35) => any;
|
|
61
|
+
} & {
|
|
62
|
+
'create-child-doc'?: (props: typeof __VLS_43) => any;
|
|
63
|
+
} & {
|
|
64
|
+
'send-to-chat'?: (props: typeof __VLS_46) => any;
|
|
43
65
|
};
|
|
44
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
66
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
67
|
+
editor: import("vue").ComputedRef<any>;
|
|
68
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
45
69
|
rename: (label: string) => any;
|
|
46
70
|
update: (content: any) => any;
|
|
47
71
|
"update:modelValue": (value: any) => any;
|
|
@@ -54,6 +78,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
54
78
|
onUpdateMeta?: ((patch: Partial<DocPageMeta>) => any) | undefined;
|
|
55
79
|
onReady?: (() => any) | undefined;
|
|
56
80
|
}>, {
|
|
81
|
+
variant: "doc" | "prose";
|
|
57
82
|
contentType: "json" | "html" | "markdown";
|
|
58
83
|
editable: boolean;
|
|
59
84
|
showToolbar: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { shallowRef, ref, watch, watchEffect, computed, nextTick } from "vue";
|
|
2
|
+
import { shallowRef, ref, watch, watchEffect, computed, nextTick, onBeforeUnmount } from "vue";
|
|
3
3
|
import { useNuxtApp } from "#imports";
|
|
4
4
|
import { Fragment } from "@tiptap/pm/model";
|
|
5
5
|
import { useSyncedMap } from "../composables/useYDoc";
|
|
@@ -10,6 +10,9 @@ import { useEditorToolbar } from "../composables/useEditorToolbar";
|
|
|
10
10
|
import { useEditorSuggestions } from "../composables/useEditorSuggestions";
|
|
11
11
|
import { useEditorDragHandle } from "../composables/useEditorDragHandle";
|
|
12
12
|
import { useEditorEmojis } from "../composables/useEditorEmojis";
|
|
13
|
+
import { useEditorMentions } from "../composables/useEditorMentions";
|
|
14
|
+
import ALinkPopover from "./editor/ALinkPopover.vue";
|
|
15
|
+
import ADocLinkPopover from "./editor/ADocLinkPopover.vue";
|
|
13
16
|
const props = defineProps({
|
|
14
17
|
docId: { type: String, required: true },
|
|
15
18
|
docLabel: { type: String, required: false },
|
|
@@ -21,7 +24,8 @@ const props = defineProps({
|
|
|
21
24
|
showDragHandle: { type: Boolean, required: false, default: true },
|
|
22
25
|
docMeta: { type: Object, required: false },
|
|
23
26
|
parentType: { type: String, required: false },
|
|
24
|
-
metaSchema: { type: Array, required: false }
|
|
27
|
+
metaSchema: { type: Array, required: false },
|
|
28
|
+
variant: { type: String, required: false, default: "doc" }
|
|
25
29
|
});
|
|
26
30
|
const emit = defineEmits(["ready", "update", "rename", "updateMeta"]);
|
|
27
31
|
const model = defineModel({ type: null });
|
|
@@ -32,10 +36,14 @@ watch(provider, async (prov) => {
|
|
|
32
36
|
if (!prov || !props.docId) return;
|
|
33
37
|
try {
|
|
34
38
|
childProvider.value = await prov.loadChild(props.docId);
|
|
39
|
+
prov.pinChild?.(props.docId);
|
|
35
40
|
} catch (e) {
|
|
36
41
|
console.error("[AEditor] Failed to load child provider:", e);
|
|
37
42
|
}
|
|
38
43
|
}, { immediate: true });
|
|
44
|
+
onBeforeUnmount(() => {
|
|
45
|
+
provider.value?.unpinChild?.(props.docId);
|
|
46
|
+
});
|
|
39
47
|
const { extensions, connectedUsers, ready } = useEditor({
|
|
40
48
|
childProvider,
|
|
41
49
|
docId: props.docId
|
|
@@ -44,6 +52,8 @@ watch(ready, (val) => {
|
|
|
44
52
|
if (val) emit("ready");
|
|
45
53
|
});
|
|
46
54
|
const editorRef = ref(null);
|
|
55
|
+
const tiptapEditor = computed(() => editorRef.value?.editor ?? null);
|
|
56
|
+
defineExpose({ editor: tiptapEditor });
|
|
47
57
|
const { items: toolbarItems } = useEditorToolbar({ docId: props.docId });
|
|
48
58
|
const resolvedMetaSchema = computed(() => {
|
|
49
59
|
if (props.metaSchema) return props.metaSchema;
|
|
@@ -54,6 +64,7 @@ const resolvedMetaSchema = computed(() => {
|
|
|
54
64
|
});
|
|
55
65
|
const { items: allSuggestionItems, propertiesOnlyItems } = useEditorSuggestions({ docId: props.docId });
|
|
56
66
|
const { items: emojiItems } = useEditorEmojis();
|
|
67
|
+
const { items: mentionItems } = useEditorMentions({ docId: props.docId });
|
|
57
68
|
const isInDocumentMeta = ref(false);
|
|
58
69
|
watchEffect((onCleanup) => {
|
|
59
70
|
const ed = editorRef.value?.editor;
|
|
@@ -216,11 +227,102 @@ watch(() => props.docLabel, (newLabel) => {
|
|
|
216
227
|
if (!ed || !ready.value) return;
|
|
217
228
|
setHeaderText(ed, newLabel || "");
|
|
218
229
|
});
|
|
230
|
+
function insertNode(editor, type, attrs, content) {
|
|
231
|
+
const node = { type, attrs };
|
|
232
|
+
if (content) node.content = content;
|
|
233
|
+
return editor.chain().focus().insertContent(node);
|
|
234
|
+
}
|
|
219
235
|
const editorHandlers = {
|
|
220
236
|
insertMetaField: {
|
|
221
237
|
canExecute: () => true,
|
|
222
238
|
execute: (editor, item) => editor.chain().focus().insertMetaField(item.attrs),
|
|
223
239
|
isActive: () => false
|
|
240
|
+
},
|
|
241
|
+
divider: {
|
|
242
|
+
canExecute: () => true,
|
|
243
|
+
execute: (editor) => insertNode(editor, "divider", { label: "" }),
|
|
244
|
+
isActive: (editor) => editor.isActive("divider")
|
|
245
|
+
},
|
|
246
|
+
quote: {
|
|
247
|
+
canExecute: () => true,
|
|
248
|
+
execute: (editor) => insertNode(editor, "quote", { author: "", role: "", avatar: "" }, [{ type: "paragraph" }]),
|
|
249
|
+
isActive: (editor) => editor.isActive("quote")
|
|
250
|
+
},
|
|
251
|
+
figure: {
|
|
252
|
+
canExecute: () => true,
|
|
253
|
+
execute: (editor) => insertNode(editor, "figure", { src: "", alt: "", caption: "" }),
|
|
254
|
+
isActive: (editor) => editor.isActive("figure")
|
|
255
|
+
},
|
|
256
|
+
embed: {
|
|
257
|
+
canExecute: () => true,
|
|
258
|
+
execute: (editor) => insertNode(editor, "embed", { src: "", title: "", aspectRatio: "16/9" }),
|
|
259
|
+
isActive: (editor) => editor.isActive("embed")
|
|
260
|
+
},
|
|
261
|
+
video: {
|
|
262
|
+
canExecute: () => true,
|
|
263
|
+
execute: (editor) => insertNode(editor, "video", { src: "", aspectRatio: "16/9", caption: "" }),
|
|
264
|
+
isActive: (editor) => editor.isActive("video")
|
|
265
|
+
},
|
|
266
|
+
stat: {
|
|
267
|
+
canExecute: () => true,
|
|
268
|
+
execute: (editor) => insertNode(editor, "stat", { label: "Users", value: "1.2k", trend: "up", trendValue: "+12%" }),
|
|
269
|
+
isActive: (editor) => editor.isActive("stat")
|
|
270
|
+
},
|
|
271
|
+
statGroup: {
|
|
272
|
+
canExecute: () => true,
|
|
273
|
+
execute: (editor) => insertNode(editor, "statGroup", {}, [
|
|
274
|
+
{ type: "stat", attrs: { label: "Users", value: "1.2k", trend: "up", trendValue: "+12%" } },
|
|
275
|
+
{ type: "stat", attrs: { label: "Revenue", value: "$48k", trend: "up", trendValue: "+8%" } },
|
|
276
|
+
{ type: "stat", attrs: { label: "Churn", value: "2.4%", trend: "down", trendValue: "-0.3%" } }
|
|
277
|
+
]),
|
|
278
|
+
isActive: (editor) => editor.isActive("statGroup")
|
|
279
|
+
},
|
|
280
|
+
button: {
|
|
281
|
+
canExecute: () => true,
|
|
282
|
+
execute: (editor) => insertNode(editor, "button", { label: "Get started", variant: "solid", color: "primary", to: "", icon: "" }),
|
|
283
|
+
isActive: (editor) => editor.isActive("button")
|
|
284
|
+
},
|
|
285
|
+
buttonGroup: {
|
|
286
|
+
canExecute: () => true,
|
|
287
|
+
execute: (editor) => insertNode(editor, "buttonGroup", {}, [
|
|
288
|
+
{ type: "button", attrs: { label: "Primary", variant: "solid", color: "primary", to: "", icon: "" } },
|
|
289
|
+
{ type: "button", attrs: { label: "Secondary", variant: "outline", color: "neutral", to: "", icon: "" } }
|
|
290
|
+
]),
|
|
291
|
+
isActive: (editor) => editor.isActive("buttonGroup")
|
|
292
|
+
},
|
|
293
|
+
progress: {
|
|
294
|
+
canExecute: () => true,
|
|
295
|
+
execute: (editor) => insertNode(editor, "progress", { label: "Progress", value: 50, max: 100, color: "primary" }),
|
|
296
|
+
isActive: (editor) => editor.isActive("progress")
|
|
297
|
+
},
|
|
298
|
+
spoiler: {
|
|
299
|
+
canExecute: () => true,
|
|
300
|
+
execute: (editor) => insertNode(editor, "spoiler", { label: "Spoiler", revealed: false }, [{ type: "paragraph" }]),
|
|
301
|
+
isActive: (editor) => editor.isActive("spoiler")
|
|
302
|
+
},
|
|
303
|
+
colorSwatch: {
|
|
304
|
+
canExecute: () => true,
|
|
305
|
+
execute: (editor) => insertNode(editor, "colorSwatch", { color: "#6366f1" }),
|
|
306
|
+
isActive: (editor) => editor.isActive("colorSwatch")
|
|
307
|
+
},
|
|
308
|
+
mathBlock: {
|
|
309
|
+
canExecute: () => true,
|
|
310
|
+
execute: (editor) => insertNode(editor, "mathBlock", { expression: "" }),
|
|
311
|
+
isActive: (editor) => editor.isActive("mathBlock")
|
|
312
|
+
},
|
|
313
|
+
mathInline: {
|
|
314
|
+
canExecute: () => true,
|
|
315
|
+
execute: (editor) => insertNode(editor, "mathInline", { expression: "" }),
|
|
316
|
+
isActive: (editor) => editor.isActive("mathInline")
|
|
317
|
+
},
|
|
318
|
+
diff: {
|
|
319
|
+
canExecute: () => true,
|
|
320
|
+
execute: (editor) => insertNode(editor, "diff", {
|
|
321
|
+
before: 'function hello() {\n return "world"\n}',
|
|
322
|
+
after: "function hello(name) {\n return `hello ${name}`\n}",
|
|
323
|
+
language: "js"
|
|
324
|
+
}),
|
|
325
|
+
isActive: (editor) => editor.isActive("diff")
|
|
224
326
|
}
|
|
225
327
|
};
|
|
226
328
|
const _mentionItems = computed(
|
|
@@ -241,6 +343,7 @@ function onPlusClick(e, onClick) {
|
|
|
241
343
|
<div
|
|
242
344
|
v-if="!extensions.length"
|
|
243
345
|
class="p-6 space-y-3"
|
|
346
|
+
:class="{ 'prose-variant': variant === 'prose' }"
|
|
244
347
|
>
|
|
245
348
|
<div class="h-8 w-64 animate-pulse rounded bg-elevated" />
|
|
246
349
|
<div class="h-4 w-full animate-pulse rounded bg-elevated" />
|
|
@@ -250,6 +353,7 @@ function onPlusClick(e, onClick) {
|
|
|
250
353
|
|
|
251
354
|
<UEditor
|
|
252
355
|
v-else
|
|
356
|
+
:class="{ 'prose-variant': variant === 'prose' }"
|
|
253
357
|
ref="editorRef"
|
|
254
358
|
v-slot="{ editor }"
|
|
255
359
|
v-model="model"
|
|
@@ -268,13 +372,45 @@ function onPlusClick(e, onClick) {
|
|
|
268
372
|
:ready="ready"
|
|
269
373
|
>
|
|
270
374
|
<!-- ── Bubble toolbar (appears when text is selected) ─────────────── -->
|
|
375
|
+
<!-- 4 named slots are forwarded to consumers:
|
|
376
|
+
#link / #doc-link — defaulted to ALinkPopover / ADocLinkPopover
|
|
377
|
+
#create-child-doc / #send-to-chat — empty by default; app-defined -->
|
|
271
378
|
<UEditorToolbar
|
|
272
379
|
v-if="showToolbar"
|
|
273
380
|
:editor="editor"
|
|
274
381
|
:items="toolbarItems"
|
|
275
382
|
layout="bubble"
|
|
276
383
|
:should-show="({ view, state }) => view.hasFocus() && !state.selection.empty"
|
|
277
|
-
|
|
384
|
+
>
|
|
385
|
+
<template #link>
|
|
386
|
+
<slot
|
|
387
|
+
name="link"
|
|
388
|
+
:editor="editor"
|
|
389
|
+
>
|
|
390
|
+
<ALinkPopover :editor="editor" />
|
|
391
|
+
</slot>
|
|
392
|
+
</template>
|
|
393
|
+
<template #doc-link>
|
|
394
|
+
<slot
|
|
395
|
+
name="doc-link"
|
|
396
|
+
:editor="editor"
|
|
397
|
+
>
|
|
398
|
+
<ADocLinkPopover :editor="editor" />
|
|
399
|
+
</slot>
|
|
400
|
+
</template>
|
|
401
|
+
<template #create-child-doc>
|
|
402
|
+
<slot
|
|
403
|
+
name="create-child-doc"
|
|
404
|
+
:editor="editor"
|
|
405
|
+
/>
|
|
406
|
+
</template>
|
|
407
|
+
<template #send-to-chat>
|
|
408
|
+
<slot
|
|
409
|
+
name="send-to-chat"
|
|
410
|
+
:editor="editor"
|
|
411
|
+
/>
|
|
412
|
+
</template>
|
|
413
|
+
</UEditorToolbar>
|
|
278
414
|
|
|
279
415
|
<!-- ── Slash command menu ──────────────────────────────────────────── -->
|
|
280
416
|
<UEditorSuggestionMenu
|
|
@@ -289,6 +425,12 @@ function onPlusClick(e, onClick) {
|
|
|
289
425
|
:items="emojiItems"
|
|
290
426
|
/>
|
|
291
427
|
|
|
428
|
+
<!-- ── Mention menu (`@` trigger) — users + docs + plugin providers ── -->
|
|
429
|
+
<UEditorMentionMenu
|
|
430
|
+
:editor="editor"
|
|
431
|
+
:items="mentionItems"
|
|
432
|
+
/>
|
|
433
|
+
|
|
292
434
|
<!-- ── Drag handle — plus button + grip dropdown ───────────────────── -->
|
|
293
435
|
<UEditorDragHandle
|
|
294
436
|
v-if="showDragHandle"
|
|
@@ -330,7 +472,10 @@ function onPlusClick(e, onClick) {
|
|
|
330
472
|
</UEditor>
|
|
331
473
|
|
|
332
474
|
<template #fallback>
|
|
333
|
-
<div
|
|
475
|
+
<div
|
|
476
|
+
class="p-6 space-y-3"
|
|
477
|
+
:class="{ 'prose-variant': variant === 'prose' }"
|
|
478
|
+
>
|
|
334
479
|
<div class="h-8 w-64 animate-pulse rounded bg-elevated" />
|
|
335
480
|
<div class="h-4 w-full animate-pulse rounded bg-elevated" />
|
|
336
481
|
<div class="h-4 w-3/4 animate-pulse rounded bg-elevated" />
|
|
@@ -338,3 +483,7 @@ function onPlusClick(e, onClick) {
|
|
|
338
483
|
</template>
|
|
339
484
|
</ClientOnly>
|
|
340
485
|
</template>
|
|
486
|
+
|
|
487
|
+
<style scoped>
|
|
488
|
+
.prose-variant :deep(.tiptap){color:var(--ui-text);font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.0625rem;line-height:1.75}.prose-variant :deep(.tiptap p){margin-bottom:1em;margin-top:0}.prose-variant :deep(.tiptap h1),.prose-variant :deep(.tiptap h2),.prose-variant :deep(.tiptap h3),.prose-variant :deep(.tiptap h4){font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;letter-spacing:-.01em;line-height:1.25;margin-bottom:.5em;margin-top:1.75em}.prose-variant :deep(.tiptap h1){font-size:2rem;font-weight:700}.prose-variant :deep(.tiptap h2){font-size:1.5rem;font-weight:700}.prose-variant :deep(.tiptap h3){font-size:1.25rem;font-weight:600}.prose-variant :deep(.tiptap blockquote){border-left:3px solid var(--ui-border);color:var(--ui-text-muted);font-style:italic;margin-left:0;padding-left:1em}.prose-variant :deep(.tiptap ol),.prose-variant :deep(.tiptap ul){margin-bottom:1em;padding-left:1.5em}.prose-variant :deep(.tiptap .document-header){font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:2.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:1.5rem}
|
|
489
|
+
</style>
|
|
@@ -23,6 +23,12 @@ type __VLS_Props = {
|
|
|
23
23
|
parentType?: string;
|
|
24
24
|
/** Override metaSchema directly instead of resolving from parentType */
|
|
25
25
|
metaSchema?: MetaField[];
|
|
26
|
+
/**
|
|
27
|
+
* Layout variant. 'doc' (default) is the standard rich-text layout.
|
|
28
|
+
* 'prose' switches to a narrow readable measure with serif typography
|
|
29
|
+
* for long-form writing. Same TipTap engine and extensions.
|
|
30
|
+
*/
|
|
31
|
+
variant?: 'doc' | 'prose';
|
|
26
32
|
};
|
|
27
33
|
type __VLS_ModelProps = {
|
|
28
34
|
modelValue?: any;
|
|
@@ -37,11 +43,29 @@ declare var __VLS_18: {
|
|
|
37
43
|
docId?: string | undefined;
|
|
38
44
|
}[];
|
|
39
45
|
ready: boolean;
|
|
46
|
+
}, __VLS_27: {
|
|
47
|
+
editor: any;
|
|
48
|
+
}, __VLS_35: {
|
|
49
|
+
editor: any;
|
|
50
|
+
}, __VLS_43: {
|
|
51
|
+
editor: any;
|
|
52
|
+
}, __VLS_46: {
|
|
53
|
+
editor: any;
|
|
40
54
|
};
|
|
41
55
|
type __VLS_Slots = {} & {
|
|
42
56
|
default?: (props: typeof __VLS_18) => any;
|
|
57
|
+
} & {
|
|
58
|
+
link?: (props: typeof __VLS_27) => any;
|
|
59
|
+
} & {
|
|
60
|
+
'doc-link'?: (props: typeof __VLS_35) => any;
|
|
61
|
+
} & {
|
|
62
|
+
'create-child-doc'?: (props: typeof __VLS_43) => any;
|
|
63
|
+
} & {
|
|
64
|
+
'send-to-chat'?: (props: typeof __VLS_46) => any;
|
|
43
65
|
};
|
|
44
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
66
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
67
|
+
editor: import("vue").ComputedRef<any>;
|
|
68
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
45
69
|
rename: (label: string) => any;
|
|
46
70
|
update: (content: any) => any;
|
|
47
71
|
"update:modelValue": (value: any) => any;
|
|
@@ -54,6 +78,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
54
78
|
onUpdateMeta?: ((patch: Partial<DocPageMeta>) => any) | undefined;
|
|
55
79
|
onReady?: (() => any) | undefined;
|
|
56
80
|
}>, {
|
|
81
|
+
variant: "doc" | "prose";
|
|
57
82
|
contentType: "json" | "html" | "markdown";
|
|
58
83
|
editable: boolean;
|
|
59
84
|
showToolbar: boolean;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Open state (v-model). */
|
|
3
|
+
open?: boolean;
|
|
4
|
+
/** Display name override. Defaults to useAbracadabra().userName. */
|
|
5
|
+
userName?: string;
|
|
6
|
+
/** Public key override. Defaults to useAbracadabra().publicKeyB64. */
|
|
7
|
+
publicKey?: string | null;
|
|
8
|
+
/** Color override (CSS color or named color). */
|
|
9
|
+
color?: string;
|
|
10
|
+
/** Modal title. */
|
|
11
|
+
title?: string;
|
|
12
|
+
/** Whether the user can edit their display name inline. Default: true. */
|
|
13
|
+
editable?: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare var __VLS_30: {}, __VLS_39: {
|
|
16
|
+
publicKey: string | null;
|
|
17
|
+
userName: string;
|
|
18
|
+
}, __VLS_42: {}, __VLS_51: {};
|
|
19
|
+
type __VLS_Slots = {} & {
|
|
20
|
+
subtitle?: (props: typeof __VLS_30) => any;
|
|
21
|
+
} & {
|
|
22
|
+
content?: (props: typeof __VLS_39) => any;
|
|
23
|
+
} & {
|
|
24
|
+
'actions-left'?: (props: typeof __VLS_42) => any;
|
|
25
|
+
} & {
|
|
26
|
+
'actions-right'?: (props: typeof __VLS_51) => any;
|
|
27
|
+
};
|
|
28
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
29
|
+
rename: (name: string) => any;
|
|
30
|
+
"update:open": (open: boolean) => any;
|
|
31
|
+
"sign-out": () => any;
|
|
32
|
+
"show-recovery": () => any;
|
|
33
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
34
|
+
onRename?: ((name: string) => any) | undefined;
|
|
35
|
+
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
36
|
+
"onSign-out"?: (() => any) | undefined;
|
|
37
|
+
"onShow-recovery"?: (() => any) | undefined;
|
|
38
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
39
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
40
|
+
declare const _default: typeof __VLS_export;
|
|
41
|
+
export default _default;
|
|
42
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
43
|
+
new (): {
|
|
44
|
+
$slots: S;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { ref, computed } from "vue";
|
|
3
|
+
import { useAbracadabra } from "../composables/useAbracadabra";
|
|
4
|
+
const props = defineProps({
|
|
5
|
+
open: { type: Boolean, required: false },
|
|
6
|
+
userName: { type: String, required: false },
|
|
7
|
+
publicKey: { type: [String, null], required: false },
|
|
8
|
+
color: { type: String, required: false },
|
|
9
|
+
title: { type: String, required: false },
|
|
10
|
+
editable: { type: Boolean, required: false }
|
|
11
|
+
});
|
|
12
|
+
const emit = defineEmits(["update:open", "rename", "sign-out", "show-recovery"]);
|
|
13
|
+
const _abra = useAbracadabra();
|
|
14
|
+
const _name = computed(() => props.userName ?? _abra.userName?.value ?? "");
|
|
15
|
+
const _publicKey = computed(() => {
|
|
16
|
+
if (props.publicKey !== void 0) return props.publicKey;
|
|
17
|
+
return _abra.publicKeyB64?.value ?? null;
|
|
18
|
+
});
|
|
19
|
+
const open = computed({
|
|
20
|
+
get: () => !!props.open,
|
|
21
|
+
set: (v) => emit("update:open", v)
|
|
22
|
+
});
|
|
23
|
+
const nameDraft = ref("");
|
|
24
|
+
const editing = ref(false);
|
|
25
|
+
function startRename() {
|
|
26
|
+
if (props.editable === false) return;
|
|
27
|
+
nameDraft.value = _name.value;
|
|
28
|
+
editing.value = true;
|
|
29
|
+
}
|
|
30
|
+
function commitRename() {
|
|
31
|
+
const v = nameDraft.value.trim();
|
|
32
|
+
editing.value = false;
|
|
33
|
+
if (v && v !== _name.value) emit("rename", v);
|
|
34
|
+
}
|
|
35
|
+
const shortKey = computed(() => {
|
|
36
|
+
const k = _publicKey.value;
|
|
37
|
+
if (!k) return "\u2014";
|
|
38
|
+
return k.length > 18 ? `${k.slice(0, 8)}\u2026${k.slice(-8)}` : k;
|
|
39
|
+
});
|
|
40
|
+
const copied = ref(false);
|
|
41
|
+
async function copyKey() {
|
|
42
|
+
if (!_publicKey.value) return;
|
|
43
|
+
try {
|
|
44
|
+
await navigator.clipboard.writeText(_publicKey.value);
|
|
45
|
+
copied.value = true;
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
copied.value = false;
|
|
48
|
+
}, 1500);
|
|
49
|
+
} catch (e) {
|
|
50
|
+
if (import.meta.dev) console.warn("[abracadabra] identity-modal: copy failed:", e);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<template>
|
|
56
|
+
<UModal
|
|
57
|
+
v-model:open="open"
|
|
58
|
+
:title="title ?? 'Identity'"
|
|
59
|
+
:ui="{ content: 'sm:max-w-md' }"
|
|
60
|
+
>
|
|
61
|
+
<template #body>
|
|
62
|
+
<div class="flex flex-col items-center gap-4">
|
|
63
|
+
<UAvatar
|
|
64
|
+
:alt="_name || 'Anonymous'"
|
|
65
|
+
size="xl"
|
|
66
|
+
:style="color ? `background: ${color}` : ''"
|
|
67
|
+
/>
|
|
68
|
+
|
|
69
|
+
<div class="flex flex-col items-center gap-1 w-full">
|
|
70
|
+
<div
|
|
71
|
+
v-if="!editing"
|
|
72
|
+
class="flex items-center gap-1"
|
|
73
|
+
>
|
|
74
|
+
<span class="text-lg font-semibold text-(--ui-text-highlighted)">{{ _name || "Anonymous" }}</span>
|
|
75
|
+
<UButton
|
|
76
|
+
v-if="editable !== false"
|
|
77
|
+
icon="i-lucide-pencil"
|
|
78
|
+
size="2xs"
|
|
79
|
+
variant="ghost"
|
|
80
|
+
color="neutral"
|
|
81
|
+
@click="startRename"
|
|
82
|
+
/>
|
|
83
|
+
</div>
|
|
84
|
+
<UInput
|
|
85
|
+
v-else
|
|
86
|
+
v-model="nameDraft"
|
|
87
|
+
autofocus
|
|
88
|
+
size="sm"
|
|
89
|
+
placeholder="Display name"
|
|
90
|
+
class="w-56"
|
|
91
|
+
@blur="commitRename"
|
|
92
|
+
@keydown.enter.prevent="commitRename"
|
|
93
|
+
@keydown.esc.prevent="editing = false"
|
|
94
|
+
/>
|
|
95
|
+
<slot name="subtitle" />
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<div class="w-full flex flex-col gap-1">
|
|
99
|
+
<label class="text-xs font-medium text-(--ui-text-muted)">Public key</label>
|
|
100
|
+
<div class="flex items-center gap-2 px-3 py-2 rounded-md bg-(--ui-bg-elevated) border border-(--ui-border)">
|
|
101
|
+
<span class="font-mono text-xs text-(--ui-text-highlighted) flex-1 truncate">{{ shortKey }}</span>
|
|
102
|
+
<UButton
|
|
103
|
+
:icon="copied ? 'i-lucide-check' : 'i-lucide-copy'"
|
|
104
|
+
size="xs"
|
|
105
|
+
variant="ghost"
|
|
106
|
+
color="neutral"
|
|
107
|
+
:disabled="!_publicKey"
|
|
108
|
+
@click="copyKey"
|
|
109
|
+
/>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<slot
|
|
114
|
+
name="content"
|
|
115
|
+
:public-key="_publicKey"
|
|
116
|
+
:user-name="_name"
|
|
117
|
+
/>
|
|
118
|
+
</div>
|
|
119
|
+
</template>
|
|
120
|
+
|
|
121
|
+
<template #footer>
|
|
122
|
+
<div class="flex items-center justify-between gap-2 w-full">
|
|
123
|
+
<div class="flex items-center gap-2">
|
|
124
|
+
<slot name="actions-left">
|
|
125
|
+
<UButton
|
|
126
|
+
variant="ghost"
|
|
127
|
+
color="neutral"
|
|
128
|
+
size="sm"
|
|
129
|
+
icon="i-lucide-key-round"
|
|
130
|
+
label="Show recovery phrase"
|
|
131
|
+
@click="emit('show-recovery')"
|
|
132
|
+
/>
|
|
133
|
+
</slot>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="flex items-center gap-2">
|
|
136
|
+
<slot name="actions-right">
|
|
137
|
+
<UButton
|
|
138
|
+
variant="outline"
|
|
139
|
+
color="error"
|
|
140
|
+
size="sm"
|
|
141
|
+
icon="i-lucide-log-out"
|
|
142
|
+
label="Sign out"
|
|
143
|
+
@click="emit('sign-out')"
|
|
144
|
+
/>
|
|
145
|
+
<UButton
|
|
146
|
+
variant="solid"
|
|
147
|
+
color="primary"
|
|
148
|
+
size="sm"
|
|
149
|
+
label="Done"
|
|
150
|
+
@click="open = false"
|
|
151
|
+
/>
|
|
152
|
+
</slot>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
</template>
|
|
156
|
+
</UModal>
|
|
157
|
+
</template>
|