@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
|
@@ -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,35 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
open?: boolean;
|
|
3
|
+
/** Number of words. 12 (default) or 24. */
|
|
4
|
+
wordCount?: 12 | 24;
|
|
5
|
+
/** Inline error string from the consumer's submit handler. */
|
|
6
|
+
error?: string | null;
|
|
7
|
+
/** Loading flag while consumer handles submit. */
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
/** Title text. */
|
|
10
|
+
title?: string;
|
|
11
|
+
/** Subtitle text. */
|
|
12
|
+
subtitle?: string;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
15
|
+
submit: (payload: {
|
|
16
|
+
mnemonic: string;
|
|
17
|
+
passphrase?: string;
|
|
18
|
+
ephemeral: boolean;
|
|
19
|
+
}) => any;
|
|
20
|
+
"update:open": (open: boolean) => any;
|
|
21
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
22
|
+
onSubmit?: ((payload: {
|
|
23
|
+
mnemonic: string;
|
|
24
|
+
passphrase?: string;
|
|
25
|
+
ephemeral: boolean;
|
|
26
|
+
}) => any) | undefined;
|
|
27
|
+
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
28
|
+
}>, {
|
|
29
|
+
subtitle: string;
|
|
30
|
+
title: string;
|
|
31
|
+
wordCount: 12 | 24;
|
|
32
|
+
loading: boolean;
|
|
33
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
34
|
+
declare const _default: typeof __VLS_export;
|
|
35
|
+
export default _default;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { ref, computed, watch } from "vue";
|
|
3
|
+
import { validateMnemonic, bip39Wordlist } from "@abraca/dabra";
|
|
4
|
+
const props = defineProps({
|
|
5
|
+
open: { type: Boolean, required: false },
|
|
6
|
+
wordCount: { type: Number, required: false, default: 12 },
|
|
7
|
+
error: { type: [String, null], required: false },
|
|
8
|
+
loading: { type: Boolean, required: false, default: false },
|
|
9
|
+
title: { type: String, required: false, default: "Enter recovery phrase" },
|
|
10
|
+
subtitle: { type: String, required: false, default: "Type or paste your 12-word recovery phrase to restore your account." }
|
|
11
|
+
});
|
|
12
|
+
const emit = defineEmits(["update:open", "submit"]);
|
|
13
|
+
const open = computed({
|
|
14
|
+
get: () => !!props.open,
|
|
15
|
+
set: (v) => emit("update:open", v)
|
|
16
|
+
});
|
|
17
|
+
const wordSet = new Set(bip39Wordlist);
|
|
18
|
+
const words = ref(Array(props.wordCount).fill(""));
|
|
19
|
+
const passphrase = ref("");
|
|
20
|
+
const showAdvanced = ref(false);
|
|
21
|
+
const ephemeral = ref(false);
|
|
22
|
+
watch(() => props.open, (v) => {
|
|
23
|
+
if (!v) return;
|
|
24
|
+
words.value = Array(props.wordCount).fill("");
|
|
25
|
+
passphrase.value = "";
|
|
26
|
+
ephemeral.value = false;
|
|
27
|
+
showAdvanced.value = false;
|
|
28
|
+
});
|
|
29
|
+
watch(() => props.wordCount, (n) => {
|
|
30
|
+
words.value = Array(n).fill("");
|
|
31
|
+
});
|
|
32
|
+
const wordValid = computed(
|
|
33
|
+
() => words.value.map((w) => !w.trim() || wordSet.has(w.trim().toLowerCase()))
|
|
34
|
+
);
|
|
35
|
+
const allFilled = computed(() => words.value.every((w) => w.trim().length > 0));
|
|
36
|
+
const mnemonicString = computed(() => words.value.map((w) => w.trim().toLowerCase()).join(" "));
|
|
37
|
+
const checksumValid = computed(() => {
|
|
38
|
+
if (!allFilled.value) return true;
|
|
39
|
+
return validateMnemonic(mnemonicString.value);
|
|
40
|
+
});
|
|
41
|
+
const canSubmit = computed(
|
|
42
|
+
() => allFilled.value && wordValid.value.every(Boolean) && checksumValid.value && !props.loading
|
|
43
|
+
);
|
|
44
|
+
function handlePaste(event, index) {
|
|
45
|
+
const text = event.clipboardData?.getData("text")?.trim();
|
|
46
|
+
if (!text) return;
|
|
47
|
+
const pasted = text.split(/\s+/);
|
|
48
|
+
if (pasted.length > 1) {
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
const next = [...words.value];
|
|
51
|
+
for (let i = 0; i < pasted.length && index + i < props.wordCount; i++) {
|
|
52
|
+
next[index + i] = pasted[i];
|
|
53
|
+
}
|
|
54
|
+
words.value = next;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function submit() {
|
|
58
|
+
if (!canSubmit.value) return;
|
|
59
|
+
emit("submit", {
|
|
60
|
+
mnemonic: mnemonicString.value,
|
|
61
|
+
passphrase: passphrase.value || void 0,
|
|
62
|
+
ephemeral: ephemeral.value
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<template>
|
|
68
|
+
<UModal
|
|
69
|
+
v-model:open="open"
|
|
70
|
+
:title="title"
|
|
71
|
+
:ui="{ content: 'sm:max-w-lg' }"
|
|
72
|
+
>
|
|
73
|
+
<template #body>
|
|
74
|
+
<div class="flex flex-col gap-5">
|
|
75
|
+
<p class="text-sm text-(--ui-text-muted) text-center">
|
|
76
|
+
{{ subtitle }}
|
|
77
|
+
</p>
|
|
78
|
+
|
|
79
|
+
<UAlert
|
|
80
|
+
v-if="error"
|
|
81
|
+
color="error"
|
|
82
|
+
variant="soft"
|
|
83
|
+
icon="i-lucide-triangle-alert"
|
|
84
|
+
:description="error"
|
|
85
|
+
/>
|
|
86
|
+
|
|
87
|
+
<UAlert
|
|
88
|
+
v-if="allFilled && !checksumValid"
|
|
89
|
+
color="warning"
|
|
90
|
+
variant="soft"
|
|
91
|
+
icon="i-lucide-triangle-alert"
|
|
92
|
+
description="Checksum doesn't match — double-check the words."
|
|
93
|
+
/>
|
|
94
|
+
|
|
95
|
+
<div class="grid grid-cols-3 gap-2">
|
|
96
|
+
<div
|
|
97
|
+
v-for="i in wordCount"
|
|
98
|
+
:key="i - 1"
|
|
99
|
+
class="flex items-center gap-1 px-2 py-1 rounded-md border bg-(--ui-bg-elevated)"
|
|
100
|
+
:class="!wordValid[i - 1] ? 'border-(--ui-error)' : 'border-(--ui-border)'"
|
|
101
|
+
>
|
|
102
|
+
<span class="text-xs font-mono text-(--ui-text-muted) w-5 text-right shrink-0">{{ i }}.</span>
|
|
103
|
+
<input
|
|
104
|
+
v-model="words[i - 1]"
|
|
105
|
+
type="text"
|
|
106
|
+
autocapitalize="off"
|
|
107
|
+
autocomplete="off"
|
|
108
|
+
spellcheck="false"
|
|
109
|
+
class="bg-transparent outline-none text-sm font-mono w-full text-(--ui-text-highlighted)"
|
|
110
|
+
@paste="(e) => handlePaste(e, i - 1)"
|
|
111
|
+
@keydown.enter.prevent="submit"
|
|
112
|
+
>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<div class="flex items-center justify-between text-xs">
|
|
117
|
+
<UButton
|
|
118
|
+
variant="ghost"
|
|
119
|
+
color="neutral"
|
|
120
|
+
size="2xs"
|
|
121
|
+
:icon="showAdvanced ? 'i-lucide-chevron-up' : 'i-lucide-chevron-down'"
|
|
122
|
+
:label="showAdvanced ? 'Hide advanced' : 'Advanced'"
|
|
123
|
+
@click="showAdvanced = !showAdvanced"
|
|
124
|
+
/>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<div
|
|
128
|
+
v-if="showAdvanced"
|
|
129
|
+
class="flex flex-col gap-3 px-1"
|
|
130
|
+
>
|
|
131
|
+
<div class="flex flex-col gap-1">
|
|
132
|
+
<label class="text-xs font-medium text-(--ui-text-muted)">Optional passphrase</label>
|
|
133
|
+
<UInput
|
|
134
|
+
v-model="passphrase"
|
|
135
|
+
size="sm"
|
|
136
|
+
type="password"
|
|
137
|
+
placeholder="Empty if you didn't set one"
|
|
138
|
+
/>
|
|
139
|
+
</div>
|
|
140
|
+
<label class="flex items-center gap-2 cursor-pointer text-sm">
|
|
141
|
+
<USwitch
|
|
142
|
+
v-model="ephemeral"
|
|
143
|
+
size="sm"
|
|
144
|
+
/>
|
|
145
|
+
<span>Don't store on this device (ephemeral session)</span>
|
|
146
|
+
</label>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
</template>
|
|
150
|
+
|
|
151
|
+
<template #footer>
|
|
152
|
+
<div class="flex items-center justify-end gap-2 w-full">
|
|
153
|
+
<UButton
|
|
154
|
+
variant="ghost"
|
|
155
|
+
color="neutral"
|
|
156
|
+
size="sm"
|
|
157
|
+
label="Cancel"
|
|
158
|
+
@click="open = false"
|
|
159
|
+
/>
|
|
160
|
+
<UButton
|
|
161
|
+
variant="solid"
|
|
162
|
+
color="primary"
|
|
163
|
+
size="sm"
|
|
164
|
+
icon="i-lucide-log-in"
|
|
165
|
+
label="Sign in"
|
|
166
|
+
:loading="loading"
|
|
167
|
+
:disabled="!canSubmit"
|
|
168
|
+
@click="submit"
|
|
169
|
+
/>
|
|
170
|
+
</div>
|
|
171
|
+
</template>
|
|
172
|
+
</UModal>
|
|
173
|
+
</template>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
open?: boolean;
|
|
3
|
+
/** Number of words. 12 (default) or 24. */
|
|
4
|
+
wordCount?: 12 | 24;
|
|
5
|
+
/** Inline error string from the consumer's submit handler. */
|
|
6
|
+
error?: string | null;
|
|
7
|
+
/** Loading flag while consumer handles submit. */
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
/** Title text. */
|
|
10
|
+
title?: string;
|
|
11
|
+
/** Subtitle text. */
|
|
12
|
+
subtitle?: string;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
15
|
+
submit: (payload: {
|
|
16
|
+
mnemonic: string;
|
|
17
|
+
passphrase?: string;
|
|
18
|
+
ephemeral: boolean;
|
|
19
|
+
}) => any;
|
|
20
|
+
"update:open": (open: boolean) => any;
|
|
21
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
22
|
+
onSubmit?: ((payload: {
|
|
23
|
+
mnemonic: string;
|
|
24
|
+
passphrase?: string;
|
|
25
|
+
ephemeral: boolean;
|
|
26
|
+
}) => any) | undefined;
|
|
27
|
+
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
28
|
+
}>, {
|
|
29
|
+
subtitle: string;
|
|
30
|
+
title: string;
|
|
31
|
+
wordCount: 12 | 24;
|
|
32
|
+
loading: boolean;
|
|
33
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
34
|
+
declare const _default: typeof __VLS_export;
|
|
35
|
+
export default _default;
|
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
import type { AbracadabraLocale } from '../locale.js';
|
|
2
|
+
import type { DocPageMeta } from '../types.js';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
nodeId: string | null;
|
|
4
5
|
nodeLabel?: string;
|
|
5
6
|
childProvider?: any;
|
|
6
7
|
docType?: string;
|
|
7
8
|
labels?: Partial<AbracadabraLocale['nodePanel']>;
|
|
9
|
+
/** Tab to open initially. Defaults to 'editor'. */
|
|
10
|
+
initialTab?: 'editor' | 'properties' | 'chat' | 'settings' | string;
|
|
11
|
+
/**
|
|
12
|
+
* Built-in tabs to render. Defaults to all-on; pass an array to limit which
|
|
13
|
+
* tabs appear (useful when a developer wants only properties + chat).
|
|
14
|
+
* Plugin-registered tab slots are unaffected.
|
|
15
|
+
*/
|
|
16
|
+
tabs?: Array<'editor' | 'properties' | 'chat' | 'settings'>;
|
|
8
17
|
};
|
|
9
|
-
declare
|
|
18
|
+
declare var __VLS_11: {
|
|
19
|
+
nodeId: string | null;
|
|
20
|
+
nodeLabel: string | undefined;
|
|
21
|
+
editor: any;
|
|
22
|
+
meta: DocPageMeta;
|
|
23
|
+
docTypeDef: import("../utils/docTypes.js").DocTypeDefinition;
|
|
24
|
+
};
|
|
25
|
+
type __VLS_Slots = {} & {
|
|
26
|
+
header?: (props: typeof __VLS_11) => any;
|
|
27
|
+
};
|
|
28
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
29
|
close: () => any;
|
|
11
30
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
31
|
onClose?: (() => any) | undefined;
|
|
13
|
-
}>, {
|
|
32
|
+
}>, {
|
|
33
|
+
initialTab: "editor" | "properties" | "chat" | "settings" | string;
|
|
34
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
35
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
36
|
declare const _default: typeof __VLS_export;
|
|
15
37
|
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -1,17 +1,27 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import { ref, computed } from "vue";
|
|
2
|
+
import { ref, computed, watch } from "vue";
|
|
3
3
|
import { useAbracadabra } from "../composables/useAbracadabra";
|
|
4
4
|
import { useSyncedMap } from "../composables/useYDoc";
|
|
5
5
|
import { navigateTo } from "#imports";
|
|
6
6
|
import { useChildTree } from "../composables/useChildTree";
|
|
7
7
|
import { useAbraLocale } from "../composables/useAbraLocale";
|
|
8
|
+
import { useResizableWidth } from "../composables/useResizableWidth";
|
|
9
|
+
import ANodePanelHeader from "./ANodePanelHeader.vue";
|
|
10
|
+
import { defineAsyncComponent } from "vue";
|
|
11
|
+
import { useRuntimeConfig } from "#imports";
|
|
12
|
+
import { useChat } from "../composables/useChat";
|
|
13
|
+
const ANodeChatPanel = defineAsyncComponent(() => import("./chat/ANodeChatPanel.vue"));
|
|
14
|
+
const ANodeSettingsPanel = defineAsyncComponent(() => import("./ANodeSettingsPanel.vue"));
|
|
8
15
|
import { META_FIELD_DEFINITIONS } from "../utils/metaFieldDefinitions";
|
|
16
|
+
import { resolveDocType } from "../utils/docTypes";
|
|
9
17
|
const props = defineProps({
|
|
10
18
|
nodeId: { type: [String, null], required: true },
|
|
11
19
|
nodeLabel: { type: String, required: false },
|
|
12
20
|
childProvider: { type: null, required: false },
|
|
13
21
|
docType: { type: String, required: false },
|
|
14
|
-
labels: { type: Object, required: false }
|
|
22
|
+
labels: { type: Object, required: false },
|
|
23
|
+
initialTab: { type: String, required: false, default: "editor" },
|
|
24
|
+
tabs: { type: Array, required: false }
|
|
15
25
|
});
|
|
16
26
|
const emit = defineEmits(["close"]);
|
|
17
27
|
const open = computed({
|
|
@@ -49,7 +59,41 @@ function patchType(type) {
|
|
|
49
59
|
const e = treeMap.data[props.nodeId];
|
|
50
60
|
if (e) treeMap.set(props.nodeId, { ...e, type, updatedAt: Date.now() });
|
|
51
61
|
}
|
|
52
|
-
const activeTab = ref(
|
|
62
|
+
const activeTab = ref(props.initialTab);
|
|
63
|
+
watch(() => props.nodeId, (id) => {
|
|
64
|
+
if (id) activeTab.value = props.initialTab;
|
|
65
|
+
});
|
|
66
|
+
const docTypeDef = computed(() => resolveDocType(currentType.value, registry));
|
|
67
|
+
const usesPageRenderer = computed(
|
|
68
|
+
() => docTypeDef.value.key !== "doc" && !!docTypeDef.value.component
|
|
69
|
+
);
|
|
70
|
+
const editorRef = ref(null);
|
|
71
|
+
const tiptapEditor = computed(() => editorRef.value?.editor ?? null);
|
|
72
|
+
const resize = useResizableWidth({
|
|
73
|
+
defaultWidth: 672,
|
|
74
|
+
minWidth: 320,
|
|
75
|
+
cookieKey: "abraca-node-panel-width",
|
|
76
|
+
direction: "left"
|
|
77
|
+
});
|
|
78
|
+
const _runtimeFeatures = computed(() => {
|
|
79
|
+
try {
|
|
80
|
+
return useRuntimeConfig().public?.abracadabra?.features ?? {};
|
|
81
|
+
} catch {
|
|
82
|
+
return {};
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
const showChatTab = computed(() => {
|
|
86
|
+
if (props.tabs && !props.tabs.includes("chat")) return false;
|
|
87
|
+
return !!_runtimeFeatures.value?.chat;
|
|
88
|
+
});
|
|
89
|
+
const showEditorTab = computed(() => !props.tabs || props.tabs.includes("editor"));
|
|
90
|
+
const showPropertiesTab = computed(() => !props.tabs || props.tabs.includes("properties"));
|
|
91
|
+
const showSettingsTab = computed(() => !props.tabs || props.tabs.includes("settings"));
|
|
92
|
+
const _chat = useChat();
|
|
93
|
+
const chatUnread = computed(() => {
|
|
94
|
+
if (!props.nodeId) return 0;
|
|
95
|
+
return _chat.channels.value[props.nodeId]?.unreadCount ?? 0;
|
|
96
|
+
});
|
|
53
97
|
const pluginSlots = computed(() => {
|
|
54
98
|
return registry.getAllNodePanelSlots().filter((slot) => {
|
|
55
99
|
if (!props.nodeId || !tree.value) return false;
|
|
@@ -138,37 +182,48 @@ const addFieldMenuItems = computed(
|
|
|
138
182
|
v-model:open="open"
|
|
139
183
|
side="right"
|
|
140
184
|
:title="nodeLabel || 'Document'"
|
|
141
|
-
:
|
|
185
|
+
:content="{ style: resize.style.value }"
|
|
142
186
|
@update:open="(v) => !v && emit('close')"
|
|
143
187
|
>
|
|
144
188
|
<template #header>
|
|
145
|
-
<
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
189
|
+
<!-- Default header uses <ANodePanelHeader>. Consumers can replace the
|
|
190
|
+
whole header via the #header slot, or replace individual pieces
|
|
191
|
+
(presence, actions-right, etc.) by importing <ANodePanelHeader>
|
|
192
|
+
and supplying its own slots. -->
|
|
193
|
+
<slot
|
|
194
|
+
name="header"
|
|
195
|
+
:node-id="nodeId"
|
|
196
|
+
:node-label="nodeLabel"
|
|
197
|
+
:editor="tiptapEditor"
|
|
198
|
+
:meta="meta"
|
|
199
|
+
:doc-type-def="docTypeDef"
|
|
200
|
+
>
|
|
201
|
+
<ANodePanelHeader
|
|
202
|
+
:node-id="nodeId"
|
|
203
|
+
:node-label="nodeLabel"
|
|
204
|
+
:icon="meta.icon ?? docTypeDef.icon"
|
|
205
|
+
:icon-color="meta.color"
|
|
206
|
+
:editor="activeTab === 'editor' && !usesPageRenderer ? tiptapEditor : null"
|
|
207
|
+
@expand="navigateTo(`/app/${nodeId}`)"
|
|
151
208
|
/>
|
|
152
|
-
|
|
153
|
-
<UTooltip
|
|
154
|
-
text="Open as full page"
|
|
155
|
-
:content="{ side: 'bottom' }"
|
|
156
|
-
>
|
|
157
|
-
<UButton
|
|
158
|
-
icon="i-lucide-expand"
|
|
159
|
-
size="xs"
|
|
160
|
-
variant="ghost"
|
|
161
|
-
color="neutral"
|
|
162
|
-
@click="navigateTo(`/app/${nodeId}`)"
|
|
163
|
-
/>
|
|
164
|
-
</UTooltip>
|
|
165
|
-
</div>
|
|
209
|
+
</slot>
|
|
166
210
|
</template>
|
|
167
211
|
|
|
168
212
|
<template #body>
|
|
169
|
-
<!--
|
|
213
|
+
<!-- Resize handle: left edge of slideover, desktop only -->
|
|
214
|
+
<div
|
|
215
|
+
class="absolute left-0 top-0 bottom-0 w-1.5 z-10 cursor-col-resize hidden sm:block group"
|
|
216
|
+
:class="resize.isResizing.value ? 'bg-(--ui-primary)/20' : 'hover:bg-(--ui-primary)/10'"
|
|
217
|
+
@mousedown.stop.prevent="resize.onMouseDown"
|
|
218
|
+
@touchstart.stop.prevent="resize.onTouchStart"
|
|
219
|
+
@dblclick="resize.onDoubleClick"
|
|
220
|
+
/>
|
|
221
|
+
|
|
222
|
+
<!-- Tab bar — built-in tabs are individually toggleable via the
|
|
223
|
+
`tabs` prop; plugin-registered tabs always render. -->
|
|
170
224
|
<div class="flex items-center gap-1 border-b border-(--ui-border) mb-4 -mt-2">
|
|
171
225
|
<UButton
|
|
226
|
+
v-if="showEditorTab"
|
|
172
227
|
icon="i-lucide-file-text"
|
|
173
228
|
:label="locale.editorTab"
|
|
174
229
|
size="sm"
|
|
@@ -177,6 +232,7 @@ const addFieldMenuItems = computed(
|
|
|
177
232
|
@click="activeTab = 'editor'"
|
|
178
233
|
/>
|
|
179
234
|
<UButton
|
|
235
|
+
v-if="showPropertiesTab"
|
|
180
236
|
icon="i-lucide-sliders-horizontal"
|
|
181
237
|
:label="locale.propertiesTab"
|
|
182
238
|
size="sm"
|
|
@@ -184,6 +240,32 @@ const addFieldMenuItems = computed(
|
|
|
184
240
|
:variant="activeTab === 'properties' ? 'soft' : 'ghost'"
|
|
185
241
|
@click="activeTab = 'properties'"
|
|
186
242
|
/>
|
|
243
|
+
<UChip
|
|
244
|
+
v-if="showChatTab"
|
|
245
|
+
:text="chatUnread > 0 && activeTab !== 'chat' ? String(chatUnread) : void 0"
|
|
246
|
+
color="error"
|
|
247
|
+
size="lg"
|
|
248
|
+
:show="chatUnread > 0 && activeTab !== 'chat'"
|
|
249
|
+
:inset="true"
|
|
250
|
+
>
|
|
251
|
+
<UButton
|
|
252
|
+
icon="i-lucide-message-circle"
|
|
253
|
+
label="Chat"
|
|
254
|
+
size="sm"
|
|
255
|
+
:color="activeTab === 'chat' ? 'primary' : 'neutral'"
|
|
256
|
+
:variant="activeTab === 'chat' ? 'soft' : 'ghost'"
|
|
257
|
+
@click="activeTab = 'chat'"
|
|
258
|
+
/>
|
|
259
|
+
</UChip>
|
|
260
|
+
<UButton
|
|
261
|
+
v-if="showSettingsTab"
|
|
262
|
+
icon="i-lucide-settings-2"
|
|
263
|
+
label="Settings"
|
|
264
|
+
size="sm"
|
|
265
|
+
:color="activeTab === 'settings' ? 'primary' : 'neutral'"
|
|
266
|
+
:variant="activeTab === 'settings' ? 'soft' : 'ghost'"
|
|
267
|
+
@click="activeTab = 'settings'"
|
|
268
|
+
/>
|
|
187
269
|
<UButton
|
|
188
270
|
v-for="slot in pluginSlots"
|
|
189
271
|
:key="slot.id"
|
|
@@ -196,13 +278,23 @@ const addFieldMenuItems = computed(
|
|
|
196
278
|
/>
|
|
197
279
|
</div>
|
|
198
280
|
|
|
199
|
-
<!-- Editor tab
|
|
281
|
+
<!-- Editor tab — swaps to the registered page-type renderer when the
|
|
282
|
+
doc has a non-'doc' type (kanban / table / calendar / etc.). -->
|
|
200
283
|
<div
|
|
201
284
|
v-show="activeTab === 'editor'"
|
|
202
285
|
class="min-h-[60vh]"
|
|
203
286
|
>
|
|
287
|
+
<component
|
|
288
|
+
:is="docTypeDef.component"
|
|
289
|
+
v-if="nodeId && usesPageRenderer"
|
|
290
|
+
:key="`${nodeId}-${currentType}`"
|
|
291
|
+
:doc-id="nodeId"
|
|
292
|
+
:doc-label="nodeLabel || ''"
|
|
293
|
+
:child-provider="childProvider"
|
|
294
|
+
/>
|
|
204
295
|
<AEditor
|
|
205
|
-
v-if="nodeId"
|
|
296
|
+
v-else-if="nodeId"
|
|
297
|
+
ref="editorRef"
|
|
206
298
|
:doc-id="nodeId"
|
|
207
299
|
:child-provider="childProvider"
|
|
208
300
|
:parent-type="docType"
|
|
@@ -212,6 +304,35 @@ const addFieldMenuItems = computed(
|
|
|
212
304
|
/>
|
|
213
305
|
</div>
|
|
214
306
|
|
|
307
|
+
<!-- Chat tab -->
|
|
308
|
+
<div
|
|
309
|
+
v-if="showChatTab"
|
|
310
|
+
v-show="activeTab === 'chat'"
|
|
311
|
+
class="min-h-[60vh] -mx-4 -mb-4 sm:-mx-6"
|
|
312
|
+
>
|
|
313
|
+
<ANodeChatPanel
|
|
314
|
+
v-if="nodeId"
|
|
315
|
+
:doc-id="nodeId"
|
|
316
|
+
:label="nodeLabel || 'Chat'"
|
|
317
|
+
/>
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
<!-- Settings tab — snapshots wired by default; permissions and
|
|
321
|
+
encryption are app-supplied via slots. -->
|
|
322
|
+
<div
|
|
323
|
+
v-if="showSettingsTab"
|
|
324
|
+
v-show="activeTab === 'settings'"
|
|
325
|
+
class="min-h-[60vh]"
|
|
326
|
+
>
|
|
327
|
+
<ANodeSettingsPanel
|
|
328
|
+
v-if="nodeId"
|
|
329
|
+
:doc-id="nodeId"
|
|
330
|
+
:doc-type-key="currentType"
|
|
331
|
+
:doc-meta="meta"
|
|
332
|
+
@update-meta="patchMeta"
|
|
333
|
+
/>
|
|
334
|
+
</div>
|
|
335
|
+
|
|
215
336
|
<!-- Properties tab -->
|
|
216
337
|
<div
|
|
217
338
|
v-show="activeTab === 'properties'"
|
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
import type { AbracadabraLocale } from '../locale.js';
|
|
2
|
+
import type { DocPageMeta } from '../types.js';
|
|
2
3
|
type __VLS_Props = {
|
|
3
4
|
nodeId: string | null;
|
|
4
5
|
nodeLabel?: string;
|
|
5
6
|
childProvider?: any;
|
|
6
7
|
docType?: string;
|
|
7
8
|
labels?: Partial<AbracadabraLocale['nodePanel']>;
|
|
9
|
+
/** Tab to open initially. Defaults to 'editor'. */
|
|
10
|
+
initialTab?: 'editor' | 'properties' | 'chat' | 'settings' | string;
|
|
11
|
+
/**
|
|
12
|
+
* Built-in tabs to render. Defaults to all-on; pass an array to limit which
|
|
13
|
+
* tabs appear (useful when a developer wants only properties + chat).
|
|
14
|
+
* Plugin-registered tab slots are unaffected.
|
|
15
|
+
*/
|
|
16
|
+
tabs?: Array<'editor' | 'properties' | 'chat' | 'settings'>;
|
|
8
17
|
};
|
|
9
|
-
declare
|
|
18
|
+
declare var __VLS_11: {
|
|
19
|
+
nodeId: string | null;
|
|
20
|
+
nodeLabel: string | undefined;
|
|
21
|
+
editor: any;
|
|
22
|
+
meta: DocPageMeta;
|
|
23
|
+
docTypeDef: import("../utils/docTypes.js").DocTypeDefinition;
|
|
24
|
+
};
|
|
25
|
+
type __VLS_Slots = {} & {
|
|
26
|
+
header?: (props: typeof __VLS_11) => any;
|
|
27
|
+
};
|
|
28
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
29
|
close: () => any;
|
|
11
30
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
31
|
onClose?: (() => any) | undefined;
|
|
13
|
-
}>, {
|
|
32
|
+
}>, {
|
|
33
|
+
initialTab: "editor" | "properties" | "chat" | "settings" | string;
|
|
34
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
35
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
36
|
declare const _default: typeof __VLS_export;
|
|
15
37
|
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|