@abraca/nuxt 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/module.d.mts +46 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +95 -2
  4. package/dist/runtime/assets/editor.css +1 -0
  5. package/dist/runtime/components/ACommandPalette.vue +4 -1
  6. package/dist/runtime/components/ADocRenderer.d.vue.ts +29 -0
  7. package/dist/runtime/components/ADocRenderer.vue +99 -0
  8. package/dist/runtime/components/ADocRenderer.vue.d.ts +29 -0
  9. package/dist/runtime/components/ADocTypeSelect.vue +4 -1
  10. package/dist/runtime/components/ADocumentTree.vue +78 -19
  11. package/dist/runtime/components/AEditor.d.vue.ts +9 -4
  12. package/dist/runtime/components/AEditor.vue +102 -7
  13. package/dist/runtime/components/AEditor.vue.d.ts +9 -4
  14. package/dist/runtime/components/AFloatingWindow.vue +1 -1
  15. package/dist/runtime/components/AIconPicker.vue +8 -2
  16. package/dist/runtime/components/ANodePanel.vue +100 -61
  17. package/dist/runtime/components/ANotifications.vue +35 -8
  18. package/dist/runtime/components/APermissionGuard.vue +3 -1
  19. package/dist/runtime/components/APresence.vue +14 -3
  20. package/dist/runtime/components/AProvider.vue +7 -1
  21. package/dist/runtime/components/AVoiceBar.vue +57 -15
  22. package/dist/runtime/components/AVoiceTile.vue +4 -1
  23. package/dist/runtime/components/AWindowLayer.vue +1 -1
  24. package/dist/runtime/components/aware/AArea.vue +1 -1
  25. package/dist/runtime/components/aware/AAvatar.vue +85 -16
  26. package/dist/runtime/components/aware/AButton.vue +5 -1
  27. package/dist/runtime/components/aware/ACursorLabel.vue +5 -1
  28. package/dist/runtime/components/aware/ADocBadge.vue +4 -1
  29. package/dist/runtime/components/aware/AFacepile.vue +13 -3
  30. package/dist/runtime/components/aware/AInput.vue +5 -1
  31. package/dist/runtime/components/aware/ATextarea.vue +5 -1
  32. package/dist/runtime/components/aware/AUserList.vue +8 -2
  33. package/dist/runtime/components/renderers/ACalendarRenderer.d.vue.ts +12 -1
  34. package/dist/runtime/components/renderers/ACalendarRenderer.vue +388 -114
  35. package/dist/runtime/components/renderers/ACalendarRenderer.vue.d.ts +12 -1
  36. package/dist/runtime/components/renderers/ACallRenderer.d.vue.ts +13 -0
  37. package/dist/runtime/components/renderers/ACallRenderer.vue +169 -0
  38. package/dist/runtime/components/renderers/ACallRenderer.vue.d.ts +13 -0
  39. package/dist/runtime/components/renderers/AChecklistRenderer.d.vue.ts +19 -0
  40. package/dist/runtime/components/renderers/AChecklistRenderer.vue +581 -0
  41. package/dist/runtime/components/renderers/AChecklistRenderer.vue.d.ts +19 -0
  42. package/dist/runtime/components/renderers/ADashboardRenderer.d.vue.ts +19 -0
  43. package/dist/runtime/components/renderers/ADashboardRenderer.vue +1372 -0
  44. package/dist/runtime/components/renderers/ADashboardRenderer.vue.d.ts +19 -0
  45. package/dist/runtime/components/renderers/AGalleryCoverImage.d.vue.ts +8 -0
  46. package/dist/runtime/components/renderers/AGalleryCoverImage.vue +60 -0
  47. package/dist/runtime/components/renderers/AGalleryCoverImage.vue.d.ts +8 -0
  48. package/dist/runtime/components/renderers/AGalleryRenderer.d.vue.ts +12 -1
  49. package/dist/runtime/components/renderers/AGalleryRenderer.vue +221 -55
  50. package/dist/runtime/components/renderers/AGalleryRenderer.vue.d.ts +12 -1
  51. package/dist/runtime/components/renderers/AGraphRenderer.d.vue.ts +19 -0
  52. package/dist/runtime/components/renderers/AGraphRenderer.vue +1027 -0
  53. package/dist/runtime/components/renderers/AGraphRenderer.vue.d.ts +19 -0
  54. package/dist/runtime/components/renderers/AKanbanRenderer.d.vue.ts +13 -1
  55. package/dist/runtime/components/renderers/AKanbanRenderer.vue +474 -140
  56. package/dist/runtime/components/renderers/AKanbanRenderer.vue.d.ts +13 -1
  57. package/dist/runtime/components/renderers/AMapRenderer.d.vue.ts +19 -0
  58. package/dist/runtime/components/renderers/AMapRenderer.vue +1622 -0
  59. package/dist/runtime/components/renderers/AMapRenderer.vue.d.ts +19 -0
  60. package/dist/runtime/components/renderers/AOutlineRenderer.d.vue.ts +12 -1
  61. package/dist/runtime/components/renderers/AOutlineRenderer.vue +294 -134
  62. package/dist/runtime/components/renderers/AOutlineRenderer.vue.d.ts +12 -1
  63. package/dist/runtime/components/renderers/ATableRenderer.d.vue.ts +12 -1
  64. package/dist/runtime/components/renderers/ATableRenderer.vue +437 -145
  65. package/dist/runtime/components/renderers/ATableRenderer.vue.d.ts +12 -1
  66. package/dist/runtime/components/renderers/ATimelineRenderer.d.vue.ts +19 -0
  67. package/dist/runtime/components/renderers/ATimelineRenderer.vue +446 -0
  68. package/dist/runtime/components/renderers/ATimelineRenderer.vue.d.ts +19 -0
  69. package/dist/runtime/composables/useAwareness.js +5 -0
  70. package/dist/runtime/composables/useBroadcastSync.d.ts +18 -0
  71. package/dist/runtime/composables/useBroadcastSync.js +26 -0
  72. package/dist/runtime/composables/useChat.js +4 -2
  73. package/dist/runtime/composables/useChatUsers.js +2 -1
  74. package/dist/runtime/composables/useCommandPalette.js +62 -3
  75. package/dist/runtime/composables/useConnectionStatus.js +7 -0
  76. package/dist/runtime/composables/useDevicePairing.d.ts +58 -0
  77. package/dist/runtime/composables/useDevicePairing.js +108 -0
  78. package/dist/runtime/composables/useDocExport.d.ts +5 -0
  79. package/dist/runtime/composables/useDocExport.js +2 -2
  80. package/dist/runtime/composables/useDocImport.js +4 -3
  81. package/dist/runtime/composables/useDocSeo.d.ts +20 -0
  82. package/dist/runtime/composables/useDocSeo.js +44 -0
  83. package/dist/runtime/composables/useDocSlugs.d.ts +7 -0
  84. package/dist/runtime/composables/useDocSlugs.js +20 -0
  85. package/dist/runtime/composables/useDocTree.d.ts +34 -0
  86. package/dist/runtime/composables/useDocTree.js +35 -0
  87. package/dist/runtime/composables/useEditorDragHandle.js +2 -1
  88. package/dist/runtime/composables/useEditorMentions.js +4 -2
  89. package/dist/runtime/composables/useEditorSuggestions.d.ts +1 -0
  90. package/dist/runtime/composables/useEditorSuggestions.js +9 -2
  91. package/dist/runtime/composables/useEditorToolbar.js +2 -1
  92. package/dist/runtime/composables/useFileIndex.js +2 -1
  93. package/dist/runtime/composables/useFileTransfer.d.ts +112 -0
  94. package/dist/runtime/composables/useFileTransfer.js +171 -0
  95. package/dist/runtime/composables/useFollowUser.js +2 -1
  96. package/dist/runtime/composables/useInvites.d.ts +56 -0
  97. package/dist/runtime/composables/useInvites.js +77 -0
  98. package/dist/runtime/composables/useNodePanel.d.ts +14 -0
  99. package/dist/runtime/composables/useNodePanel.js +52 -0
  100. package/dist/runtime/composables/useNotifications.js +4 -2
  101. package/dist/runtime/composables/usePasskeyAccounts.js +4 -2
  102. package/dist/runtime/composables/useSearchIndex.d.ts +1 -0
  103. package/dist/runtime/composables/useSearchIndex.js +13 -5
  104. package/dist/runtime/composables/useServerInfo.d.ts +31 -0
  105. package/dist/runtime/composables/useServerInfo.js +80 -0
  106. package/dist/runtime/composables/useSlugRoute.d.ts +6 -0
  107. package/dist/runtime/composables/useSlugRoute.js +19 -0
  108. package/dist/runtime/composables/useSpaces.d.ts +37 -0
  109. package/dist/runtime/composables/useSpaces.js +83 -0
  110. package/dist/runtime/composables/useTouchDrag.d.ts +34 -0
  111. package/dist/runtime/composables/useTouchDrag.js +191 -0
  112. package/dist/runtime/composables/useTrash.d.ts +1 -1
  113. package/dist/runtime/composables/useTrash.js +6 -3
  114. package/dist/runtime/composables/useWebRTC.d.ts +50 -0
  115. package/dist/runtime/composables/useWebRTC.js +177 -0
  116. package/dist/runtime/extensions/meta-field.d.ts +4 -1
  117. package/dist/runtime/extensions/steps.js +1 -1
  118. package/dist/runtime/extensions/views/AccordionItemView.vue +13 -3
  119. package/dist/runtime/extensions/views/AccordionView.vue +4 -1
  120. package/dist/runtime/extensions/views/BadgeView.vue +11 -2
  121. package/dist/runtime/extensions/views/CalloutView.vue +4 -1
  122. package/dist/runtime/extensions/views/CardGroupView.vue +4 -1
  123. package/dist/runtime/extensions/views/CardView.vue +17 -3
  124. package/dist/runtime/extensions/views/CodeGroupView.vue +4 -1
  125. package/dist/runtime/extensions/views/CollapsibleView.vue +8 -2
  126. package/dist/runtime/extensions/views/FileNodeView.vue +32 -8
  127. package/dist/runtime/extensions/views/KbdView.vue +8 -2
  128. package/dist/runtime/extensions/views/MetaFieldView.vue +208 -46
  129. package/dist/runtime/extensions/views/ProseIconView.vue +8 -2
  130. package/dist/runtime/extensions/views/TabsView.vue +17 -4
  131. package/dist/runtime/locale.d.ts +71 -0
  132. package/dist/runtime/locale.js +71 -0
  133. package/dist/runtime/plugin-abracadabra.client.js +29 -3
  134. package/dist/runtime/plugin-abracadabra.server.js +2 -0
  135. package/dist/runtime/server/api/_abracadabra/render/[docId].get.d.ts +1 -1
  136. package/dist/runtime/server/api/_abracadabra/render/[docId].get.js +29 -4
  137. package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.d.ts +2 -0
  138. package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.js +43 -0
  139. package/dist/runtime/server/api/_abracadabra/slugs.get.d.ts +2 -0
  140. package/dist/runtime/server/api/_abracadabra/slugs.get.js +7 -0
  141. package/dist/runtime/server/plugins/abracadabra-service.js +10 -5
  142. package/dist/runtime/server/runners/doc-tree-cache.js +4 -0
  143. package/dist/runtime/server/utils/slugMap.d.ts +32 -0
  144. package/dist/runtime/server/utils/slugMap.js +58 -0
  145. package/dist/runtime/types.d.ts +1 -0
  146. package/dist/runtime/utils/docTypes.d.ts +29 -1
  147. package/dist/runtime/utils/docTypes.js +129 -1
  148. package/dist/runtime/utils/markdownToYjs.js +2 -2
  149. package/dist/runtime/utils/sdkRef.d.ts +2 -0
  150. package/dist/runtime/utils/sdkRef.js +7 -0
  151. package/dist/runtime/utils/slugify.d.ts +40 -0
  152. package/dist/runtime/utils/slugify.js +36 -0
  153. package/dist/types.d.mts +6 -0
  154. package/package.json +32 -19
@@ -0,0 +1,169 @@
1
+ <script setup>
2
+ import { computed, onMounted } from "vue";
3
+ import { DEFAULT_LOCALE } from "../../locale";
4
+ const props = defineProps({
5
+ docId: { type: String, required: true },
6
+ childProvider: { type: null, required: false },
7
+ docLabel: { type: String, required: true },
8
+ labels: { type: Object, required: false },
9
+ editable: { type: Boolean, required: false, default: true }
10
+ });
11
+ const config = useRuntimeConfig();
12
+ const locale = computed(() => ({
13
+ ...DEFAULT_LOCALE.renderers.call,
14
+ ...config.public?.abracadabra?.locale?.renderers?.call ?? {},
15
+ ...props.labels ?? {}
16
+ }));
17
+ const { userName, userColor } = useAbracadabra();
18
+ const {
19
+ voiceStatus,
20
+ isMuted,
21
+ isVideoEnabled,
22
+ isScreenEnabled,
23
+ canScreenShare,
24
+ localVideoStream,
25
+ localScreenStream,
26
+ peerVideoStreams,
27
+ peerList,
28
+ joinRoom,
29
+ leaveRoom,
30
+ toggleMute,
31
+ toggleVideo,
32
+ toggleScreen
33
+ } = useVoice();
34
+ const isConnected = computed(() => voiceStatus.value === "connected");
35
+ onMounted(async () => {
36
+ if (!props.editable) return;
37
+ if (voiceStatus.value !== "connected" && voiceStatus.value !== "connecting") {
38
+ await joinRoom(props.docId);
39
+ }
40
+ });
41
+ const streams = computed(() => {
42
+ const result = [];
43
+ if (localVideoStream.value) {
44
+ result.push({
45
+ key: "self-camera",
46
+ stream: localVideoStream.value,
47
+ name: `${userName.value} (You)`,
48
+ color: userColor.value,
49
+ kind: "camera"
50
+ });
51
+ }
52
+ if (localScreenStream.value) {
53
+ result.push({
54
+ key: "self-screen",
55
+ stream: localScreenStream.value,
56
+ name: `${userName.value} (You)`,
57
+ color: userColor.value,
58
+ kind: "screen"
59
+ });
60
+ }
61
+ for (const peer of peerList.value) {
62
+ const vs = peerVideoStreams.value.get(peer.id);
63
+ if (vs?.camera) {
64
+ result.push({
65
+ key: `${peer.id}-camera`,
66
+ stream: vs.camera,
67
+ name: peer.displayName || peer.userId.slice(0, 6),
68
+ color: peer.color,
69
+ kind: "camera"
70
+ });
71
+ }
72
+ if (vs?.screen) {
73
+ result.push({
74
+ key: `${peer.id}-screen`,
75
+ stream: vs.screen,
76
+ name: peer.displayName || peer.userId.slice(0, 6),
77
+ color: peer.color,
78
+ kind: "screen"
79
+ });
80
+ }
81
+ }
82
+ return result;
83
+ });
84
+ const gridCols = computed(() => {
85
+ const n = streams.value.length;
86
+ if (n <= 1) return "grid-cols-1";
87
+ if (n <= 4) return "grid-cols-2";
88
+ return "grid-cols-3";
89
+ });
90
+ </script>
91
+
92
+ <template>
93
+ <div class="flex flex-col flex-1 min-h-0">
94
+ <!-- Stream grid -->
95
+ <div class="flex-1 p-4 overflow-auto">
96
+ <div
97
+ v-if="streams.length"
98
+ class="grid gap-4 h-full auto-rows-fr"
99
+ :class="gridCols"
100
+ >
101
+ <AVoiceTile
102
+ v-for="entry in streams"
103
+ :key="entry.key"
104
+ :stream="entry.stream"
105
+ :name="entry.name"
106
+ :color="entry.color"
107
+ :kind="entry.kind"
108
+ />
109
+ </div>
110
+ <div
111
+ v-else
112
+ class="flex items-center justify-center h-full"
113
+ >
114
+ <div class="text-center">
115
+ <UIcon
116
+ name="i-lucide-video-off"
117
+ class="size-12 mb-3 text-(--ui-text-dimmed)"
118
+ />
119
+ <p class="text-sm text-(--ui-text-muted)">
120
+ {{ locale.noStreams }}
121
+ </p>
122
+ <p class="text-xs mt-1 text-(--ui-text-dimmed)">
123
+ {{ locale.turnOnCamera }}
124
+ </p>
125
+ </div>
126
+ </div>
127
+ </div>
128
+
129
+ <!-- Bottom controls bar -->
130
+ <div
131
+ v-if="isConnected && editable"
132
+ class="flex items-center justify-center gap-3 p-4 border-t border-(--ui-border) bg-(--ui-bg-elevated)/50"
133
+ >
134
+ <UButton
135
+ :icon="isMuted ? 'i-lucide-mic-off' : 'i-lucide-mic'"
136
+ size="lg"
137
+ :color="isMuted ? 'error' : 'neutral'"
138
+ :variant="isMuted ? 'subtle' : 'outline'"
139
+ class="rounded-full"
140
+ @click="toggleMute"
141
+ />
142
+ <UButton
143
+ :icon="isVideoEnabled ? 'i-lucide-video' : 'i-lucide-video-off'"
144
+ size="lg"
145
+ :color="isVideoEnabled ? 'primary' : 'neutral'"
146
+ :variant="isVideoEnabled ? 'subtle' : 'outline'"
147
+ class="rounded-full"
148
+ @click="toggleVideo"
149
+ />
150
+ <UButton
151
+ v-if="canScreenShare"
152
+ :icon="isScreenEnabled ? 'i-lucide-monitor-up' : 'i-lucide-monitor'"
153
+ size="lg"
154
+ :color="isScreenEnabled ? 'primary' : 'neutral'"
155
+ :variant="isScreenEnabled ? 'subtle' : 'outline'"
156
+ class="rounded-full"
157
+ @click="toggleScreen"
158
+ />
159
+ <UButton
160
+ icon="i-lucide-phone-off"
161
+ size="lg"
162
+ color="error"
163
+ variant="solid"
164
+ class="rounded-full"
165
+ @click="leaveRoom"
166
+ />
167
+ </div>
168
+ </div>
169
+ </template>
@@ -0,0 +1,13 @@
1
+ import type { AbracadabraLocale } from '../../locale.js';
2
+ type __VLS_Props = {
3
+ docId: string;
4
+ childProvider?: any;
5
+ docLabel: string;
6
+ labels?: Partial<AbracadabraLocale['renderers']['call']>;
7
+ editable?: boolean;
8
+ };
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
+ editable: boolean;
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { type RendererBaseProps } from '../../composables/useRendererBase.js';
2
+ import type { AbracadabraLocale } from '../../locale.js';
3
+ type __VLS_Props = RendererBaseProps & {
4
+ labels?: Partial<AbracadabraLocale['renderers']['checklist']>;
5
+ editable?: boolean;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
8
+ connectedUsers: import("vue").ComputedRef<{
9
+ clientId: number;
10
+ name: string;
11
+ color: string;
12
+ avatar: string | undefined;
13
+ publicKey: any;
14
+ }[]>;
15
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
16
+ editable: boolean;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;